You are here

public function DomainConfTestCase::testDomainConfDataGetCashes in Domain Access 7.3

See also

domain_test_query_domain_conf_data_get_alter()

File

domain_conf/tests/domain_conf.test, line 81
Simpletest for Domain Conf. Written by @ndobromirov.

Class

DomainConfTestCase
@file Simpletest for Domain Conf. Written by @ndobromirov.

Code

public function testDomainConfDataGetCashes() {
  $domain = domain_default();
  $domain_id = $domain['domain_id'];

  // Warm caches and DB with some testing data.
  $settings = domain_conf_data_get($domain_id, TRUE);
  $settings['value_1'] = 1;
  domain_conf_data_set($domain_id, $settings, FALSE);
  $original = $settings;

  // Init the query flag.
  $db_hit =& drupal_static('domain_conf_data_get_db_hit', FALSE);
  $db_hit = FALSE;

  // Test static cache.
  $this
    ->assertEqual($original, domain_conf_data_get($domain_id), t('Data taken successfully from static cache.'));
  $this
    ->assertFalse($db_hit, t('No DB select was executed in getting the settings.'));
  $db_hit = FALSE;

  // Clear the static cache, so now there are no caches.
  $static_cache_get =& drupal_static('domain_conf_data_get', array());
  unset($static_cache_get[$domain_id]);
  $this
    ->assertEqual($original, domain_conf_data_get($domain_id), t('Data taken successfully from DB.'));
  $this
    ->assertTrue($db_hit, t('DB select WAS executed for getting the settings.'));
  $db_hit = FALSE;

  // Delete the settings and warm caches.
  domain_conf_data_delete($domain_id);
  domain_conf_data_get($domain_id, TRUE);
  $this
    ->assertTrue($db_hit, t('Warmed caches for domain :domain.', array(
    ':domain' => $domain_id,
  )));
  $db_hit = FALSE;

  // Get settinngs
  $new_settings = domain_conf_data_get($domain_id);
  $this
    ->assertFalse($db_hit, t('Extracted empty settings for :domain from cache.', array(
    ':domain' => $domain_id,
  )));
  $this
    ->assertEqual(array(), $new_settings, t('The settings are confirmed empty.'));
  $db_hit = FALSE;
}