You are here

public function NoSessionOpenTest::testNoAllowUnlessSessionCookiePresent in Drupal 8

Same name and namespace in other branches
  1. 9 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
    ->at(0))
    ->method('hasSession')
    ->with($request_without_session)
    ->will($this
    ->returnValue(FALSE));
  $this->sessionConfiguration
    ->expects($this
    ->at(1))
    ->method('hasSession')
    ->with($request_with_session)
    ->will($this
    ->returnValue(TRUE));
  $result = $this->policy
    ->check($request_without_session);
  $this
    ->assertSame(RequestPolicyInterface::ALLOW, $result);
  $result = $this->policy
    ->check($request_with_session);
  $this
    ->assertSame(NULL, $result);
}