core/modules/big_pipe/src/Tests/BigPipeTest.php | 19 +++++++++++-------- .../tests/src/Functional/BigPipeSessionlessTest.php | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/core/modules/big_pipe/src/Tests/BigPipeTest.php b/core/modules/big_pipe/src/Tests/BigPipeTest.php index 4a73614..58ea5d4 100644 --- a/core/modules/big_pipe/src/Tests/BigPipeTest.php +++ b/core/modules/big_pipe/src/Tests/BigPipeTest.php @@ -6,7 +6,6 @@ use Drupal\big_pipe\Render\BigPipe; use Drupal\Component\Serialization\Json; use Drupal\Component\Utility\Html; -use Drupal\Core\Cache\Cache; use Drupal\Core\Logger\RfcLogLevel; use Drupal\Core\Url; use Drupal\simpletest\WebTestBase; @@ -161,6 +160,7 @@ public function testBigPipe() { $this->assertBigPipeResponseHeadersPresent(); $this->assertNoCacheTag('cache_tag_set_in_lazy_builder'); + $this->setCsrfTokenSeedInTestEnvironment(); $cases = $this->getTestCases(); $this->assertBigPipeNoJsPlaceholders([ $cases['edge_case__invalid_html']->bigPipeNoJsPlaceholder => $cases['edge_case__invalid_html']->embeddedHtmlResponse, @@ -240,6 +240,7 @@ public function testBigPipeNoJs() { $this->assertBigPipeResponseHeadersPresent(); $this->assertNoCacheTag('cache_tag_set_in_lazy_builder'); + $this->setCsrfTokenSeedInTestEnvironment(); $cases = $this->getTestCases(); $this->assertBigPipeNoJsPlaceholders([ $cases['edge_case__invalid_html']->bigPipeNoJsPlaceholder => $cases['edge_case__invalid_html']->embeddedHtmlResponse, @@ -405,16 +406,18 @@ protected function assertBigPipePlaceholders(array $expected_big_pipe_placeholde } /** + * Ensures CSRF tokens can be generated for the current user's session. + */ + protected function setCsrfTokenSeedInTestEnvironment() { + $session_data = $this->container->get('session_handler.write_safe')->read($this->cookies[$this->getSessionName()]['value']); + $csrf_token_seed = unserialize(explode('_sf2_meta|', $session_data)[1])['s']; + $this->container->get('session_manager.metadata_bag')->setCsrfTokenSeed($csrf_token_seed); + } + + /** * @return \Drupal\big_pipe\Tests\BigPipePlaceholderTestCase[] */ protected function getTestCases($has_session = TRUE) { - if ($has_session) { - // Ensure we can generate CSRF tokens for the current user's session. - $session_data = $this->container->get('session_handler.write_safe')->read($this->cookies[$this->getSessionName()]['value']); - $csrf_token_seed = unserialize(explode('_sf2_meta|', $session_data)[1])['s']; - $this->container->get('session_manager.metadata_bag')->setCsrfTokenSeed($csrf_token_seed); - } - return BigPipePlaceholderTestCases::cases($this->container, $this->rootUser); } diff --git a/modules/big_pipe_sessionless/tests/src/Functional/BigPipeSessionlessTest.php b/modules/big_pipe_sessionless/tests/src/Functional/BigPipeSessionlessTest.php index c926b5f..6e66de0 100644 --- a/modules/big_pipe_sessionless/tests/src/Functional/BigPipeSessionlessTest.php +++ b/modules/big_pipe_sessionless/tests/src/Functional/BigPipeSessionlessTest.php @@ -71,7 +71,7 @@ public function testBigPipeNoSession() { $this->assertRaw('This should be marked active'); $this->assertRaw('This should be marked inactive'); - $cases = $this->getTestCases(FALSE); + $cases = $this->getTestCases(); $this->assertBigPipeNoJsPlaceholders([ $cases['edge_case__invalid_html']->bigPipeNoJsPlaceholder => $cases['edge_case__invalid_html']->embeddedHtmlResponse, $cases['html_attribute_value']->bigPipeNoJsPlaceholder => $cases['html_attribute_value']->embeddedHtmlResponse,