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,