You are here

public function NoSessionOpenTest::testNoAllowUnlessSessionCookiePresent in Drupal 9

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/PageCache/NoSessionOpenTest.php \Drupal\Tests\Core\PageCache\NoSessionOpenTest::testNoAllowUnlessSessionCookiePresent()
  2. 10 core/tests/Drupal/Tests/Core/PageCache/NoSessionOpenTest.php \Drupal\Tests\Core\PageCache\NoSessionOpenTest::testNoAllowUnlessSessionCookiePresent()

Asserts that caching is allowed unless there is a session cookie present.

@covers ::check

File

core/tests/Drupal/Tests/Core/PageCache/NoSessionOpenTest.php, line 40

Class

NoSessionOpenTest
@coversDefaultClass \Drupal\Core\PageCache\RequestPolicy\NoSessionOpen @group PageCache

Namespace

Drupal\Tests\Core\PageCache

Code

public function testNoAllowUnlessSessionCookiePresent() {
  $request_without_session = new Request();
  $request_with_session = Request::create('/', 'GET', [], [
    'some-session-name' => 'some-session-id',
  ]);
  $this->sessionConfiguration
    ->expects($this
    ->exactly(2))
    ->method('hasSession')
    ->willReturnMap([
    [
      $request_without_session,
      FALSE,
    ],
    [
      $request_with_session,
      TRUE,
    ],
  ]);
  $result = $this->policy
    ->check($request_without_session);
  $this
    ->assertSame(RequestPolicyInterface::ALLOW, $result);
  $result = $this->policy
    ->check($request_with_session);
  $this
    ->assertSame(NULL, $result);
}