protected function DeployWebTestCase::switchSite in Deploy - Content Staging 7.2
Same name and namespace in other branches
- 7.3 deploy.test \DeployWebTestCase::switchSite()
Switch to a specific site.
2 calls to DeployWebTestCase::switchSite()
- DeployWebTestCase::runScenario in ./
deploy.test - This method runs a deployment scenario where we have one production site (the endpoint) and a staging site (the origin).
- DeployWebTestCase::setUp in ./
deploy.test - Set up all sites.
File
- ./
deploy.test, line 123 - Deployment tests.
Class
- DeployWebTestCase
- Helper class.
Code
protected function switchSite($from, $to) {
// This is used to test the switch.
$old_site_hash = variable_get('deploy_site_hash', '');
// Switch database connection. This is where the magic happens.
Database::renameConnection('default', $from);
Database::renameConnection($to, 'default');
// Reset static caches, so sites doesn't share them.
drupal_static_reset();
// Since variables ($conf) lives in the global namespace, we need to
// reinitalize them to not make sites share variables.
cache_clear_all('*', 'cache_bootstrap');
$GLOBALS['conf'] = variable_initialize();
// No need to restore anything if we are switching to the original site.
if ($to != 'simpletest_original_default') {
$this
->restoreState($to);
// Test the switch.
$new_site_hash = variable_get('deploy_site_hash', '');
$this
->assertNotEqual($old_site_hash, $new_site_hash, t('Switch to site %key was successful.', array(
'%key' => $to,
)));
}
}