Backup of db before drupal security update
[yaffs-website] / web / core / modules / system / src / Tests / DrupalKernel / ContainerRebuildWebTest.php
1 <?php
2
3 namespace Drupal\system\Tests\DrupalKernel;
4
5 use Drupal\simpletest\WebTestBase;
6
7 /**
8  * Ensures that the container rebuild works as expected.
9  *
10  * @group DrupalKernel
11  */
12 class ContainerRebuildWebTest extends WebTestBase {
13
14   /**
15    * {@inheritdoc}
16    */
17   public static $modules = ['service_provider_test'];
18
19   /**
20    * Sets a different deployment identifier.
21    */
22   public function testSetContainerRebuildWithDifferentDeploymentIdentifier() {
23     $this->drupalGet('<front>');
24     $this->assertHeader('container_rebuild_indicator', FALSE);
25
26     $this->writeSettings(['settings' => ['deployment_identifier' => (object) ['value' => 'new-identifier', 'required' => TRUE]]]);
27
28     $this->drupalGet('<front>');
29
30     $this->assertHeader('container_rebuild_indicator', 'new-identifier');
31   }
32
33   /**
34    * Tests container invalidation.
35    */
36   public function testContainerInvalidation() {
37
38     // Ensure that parameter is not set.
39     $this->drupalGet('<front>');
40     $this->assertHeader('container_rebuild_test_parameter', FALSE);
41
42     // Ensure that after setting the parameter, without a container rebuild the
43     // parameter is still not set.
44     $this->writeSettings(['settings' => ['container_rebuild_test_parameter' => (object) ['value' => 'rebuild_me_please', 'required' => TRUE]]]);
45
46     $this->drupalGet('<front>');
47     $this->assertHeader('container_rebuild_test_parameter', FALSE);
48
49     // Ensure that after container invalidation the parameter is set.
50     \Drupal::service('kernel')->invalidateContainer();
51     $this->drupalGet('<front>');
52     $this->assertHeader('container_rebuild_test_parameter', 'rebuild_me_please');
53   }
54
55 }