You are here

public function SearchApiAcquiaUnitTestCase::testApacheSolrOverrideWhenCoreWithDbNameNotAvailable in Acquia Search for Search API 7.2

Tests that it selects the correct preferred search core ID for the override URL when limited number of core ID is available.

File

tests/search_api_acquia.test, line 161
Tests for the Search API Acquia module.

Class

SearchApiAcquiaUnitTestCase
Unit tests of the functionality of the Search API Acquia module.

Code

public function testApacheSolrOverrideWhenCoreWithDbNameNotAvailable() {

  // When the core ID with the DB name in it is not available, it should
  // override the URL value with the core ID that has the site folder name
  // in it.
  global $conf;
  unset($conf['search_api_acquia_overrides']);
  $acquia_identifier = $this->id;
  $site_folder = $this
    ->randomName(32);
  $solr_hostname = $this
    ->randomName(10) . '.acquia-search.com';
  $available_cores = array(
    array(
      'balancer' => $solr_hostname,
      'core_id' => "{$acquia_identifier}.dev.{$site_folder}",
    ),
    array(
      'balancer' => $solr_hostname,
      'core_id' => "{$acquia_identifier}",
    ),
  );
  $ah_env = 'dev';
  $ah_db_name = 'testdbname';
  $server_id = 'ACQUIA';
  $core_service = new SAPIPreferredSearchCoreService($acquia_identifier, $ah_env, $site_folder, $ah_db_name, $available_cores);
  search_api_acquia_override_server($core_service, $server_id);
  $this
    ->assertIdentical($conf['search_api_acquia_overrides']['ACQUIA']['host'], $solr_hostname);
  $this
    ->assertIdentical($conf['search_api_acquia_overrides']['ACQUIA']['path'], "/solr/{$acquia_identifier}.dev.{$site_folder}");
}