function UpgradePathTestCase::prepareD7Session
Prepares the appropriate session for the release of Drupal being upgraded.
1 call to UpgradePathTestCase::prepareD7Session()
- UpgradePathTestCase::setUp in modules/
simpletest/ tests/ upgrade/ upgrade.test - Overrides DrupalWebTestCase::setUp() for upgrade testing.
1 method overrides UpgradePathTestCase::prepareD7Session()
- UpdatePathTestCase::prepareD7Session in modules/
simpletest/ tests/ upgrade/ upgrade.test - Overrides UpgradePathTestCase::prepareD7Session().
File
-
modules/
simpletest/ tests/ upgrade/ upgrade.test, line 62
Class
- UpgradePathTestCase
- Perform end-to-end tests of the upgrade path.
Code
protected function prepareD7Session() {
// Generate and set a D6-compatible session cookie.
$this->curlInitialize();
$sid = drupal_hash_base64(uniqid(mt_rand(), TRUE) . drupal_random_bytes(55));
$session_name = update_get_d6_session_name();
curl_setopt($this->curlHandle, CURLOPT_COOKIE, rawurlencode($session_name) . '=' . rawurlencode($sid));
// Force our way into the session of the child site.
drupal_save_session(TRUE);
// A session cannot be written without the ssid column which is missing on
// Drupal 6 sites.
db_add_field('sessions', 'ssid', array(
'description' => "Secure session ID. The value is generated by Drupal's session handlers.",
'type' => 'varchar',
'length' => 128,
'not null' => TRUE,
'default' => '',
));
_drupal_session_write($sid, '');
// Remove the temporarily added ssid column.
db_drop_field('sessions', 'ssid');
drupal_save_session(FALSE);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.