You are here

public function PreferredSearchCoreTest::testSearchCoreOverride in Acquia Search 3.x

Tests the Default Search Core config option.

Managed by the override_search_core config value.

File

tests/src/Unit/PreferredSearchCoreTest.php, line 181

Class

PreferredSearchCoreTest
@coversDefaultClass \Drupal\acquia_search\PreferredSearchCore @group Acquia Search Solr

Namespace

Drupal\Tests\acquia_search\Unit

Code

public function testSearchCoreOverride() {
  $storage = new Storage();
  $ah_env = '';
  $sites_folder_name = 'default';
  $ah_db_role = '';
  $storage
    ->setIdentifier('ABC-12345');
  $this
    ->assertEquals('ABC-12345', Storage::getIdentifier());
  $this->config
    ->get('override_search_core')
    ->willReturn('ABC-12345.dev.default');
  $this
    ->assertEquals('ABC-12345.dev.default', Storage::getSearchCoreOverride());
  $this->config
    ->reveal();
  $available_cores = [];
  $core_service = new PreferredSearchCore(Storage::getIdentifier(), $ah_env, $sites_folder_name, $ah_db_role, $available_cores);
  $this
    ->assertEquals([
    'ABC-12345.dev.default',
  ], $core_service
    ->getListOfPossibleCores());
  $this
    ->assertEquals([], $core_service
    ->getListOfAvailableCores());
  $this
    ->assertFalse($core_service
    ->isPreferredCoreAvailable());
  $this
    ->assertNull($core_service
    ->getPreferredCore());
  $this
    ->assertNull($core_service
    ->getPreferredCoreId());
  $this
    ->assertNull($core_service
    ->getPreferredCoreHostname());
  $available_cores = $this
    ->getAvailableSearchCores();
  $core_service = new PreferredSearchCore(Storage::getIdentifier(), $ah_env, $sites_folder_name, $ah_db_role, $available_cores);
  $this
    ->assertEquals([
    'ABC-12345.dev.default',
  ], $core_service
    ->getListOfPossibleCores());
  $this
    ->assertEquals([
    'ABC-12345.prod.default',
    'ABC-12345.dev.default',
  ], $core_service
    ->getListOfAvailableCores());
  $this
    ->assertTrue($core_service
    ->isPreferredCoreAvailable());
  $this
    ->assertEquals($available_cores['ABC-12345.dev.default'], $core_service
    ->getPreferredCore());
  $this
    ->assertEquals('ABC-12345.dev.default', $core_service
    ->getPreferredCoreId());
  $this
    ->assertEquals('dev.example.com', $core_service
    ->getPreferredCoreHostname());
}