function StackSessionHandlerIntegrationTest::testRequestWriteInvokesValidateId
Tests a session modify request with a valid session cookie.
The trace should include `validateId` because a session cookie is included.
The trace should include `write` but not include `updateTimestamp` because the session data is modified.
File
-
core/
modules/ system/ tests/ src/ Functional/ Session/ StackSessionHandlerIntegrationTest.php, line 64
Class
- StackSessionHandlerIntegrationTest
- Tests the stacked session handler functionality.
Namespace
Drupal\Tests\system\Functional\SessionCode
public function testRequestWriteInvokesValidateId() : void {
$options['query'][MainContentViewSubscriber::WRAPPER_FORMAT] = 'drupal_ajax';
$headers = [
'X-Requested-With' => 'XMLHttpRequest',
];
// Call the write trace handler to store the trace and retrieve a session
// cookie.
$this->drupalGet('session-test/trace-handler');
// Call the write trace handler again with the session cookie to modify
// the session data.
$actual_trace = json_decode($this->drupalGet('session-test/trace-handler', $options, $headers));
$sessionId = $this->getSessionCookies()
->getCookieByName($this->getSessionName())
->getValue();
$expect_trace = [
[
"BEGIN",
"test_argument",
"open",
],
[
"BEGIN",
NULL,
"open",
],
[
"END",
NULL,
"open",
],
[
"END",
"test_argument",
"open",
],
[
"BEGIN",
"test_argument",
"validateId",
$sessionId,
],
[
"BEGIN",
NULL,
"validateId",
$sessionId,
],
[
"END",
NULL,
"validateId",
$sessionId,
],
[
"END",
"test_argument",
"validateId",
$sessionId,
],
[
"BEGIN",
"test_argument",
"read",
$sessionId,
],
[
"BEGIN",
NULL,
"read",
$sessionId,
],
[
"END",
NULL,
"read",
$sessionId,
],
[
"END",
"test_argument",
"read",
$sessionId,
],
[
"BEGIN",
"test_argument",
"write",
$sessionId,
],
[
"BEGIN",
NULL,
"write",
$sessionId,
],
[
"END",
NULL,
"write",
$sessionId,
],
[
"END",
"test_argument",
"write",
$sessionId,
],
[
"BEGIN",
"test_argument",
"close",
],
[
"BEGIN",
NULL,
"close",
],
[
"END",
NULL,
"close",
],
[
"END",
"test_argument",
"close",
],
];
$this->assertEquals($expect_trace, $actual_trace);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.