function PermissionsHashGeneratorTest::setUp

Same name in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/Session/PermissionsHashGeneratorTest.php \Drupal\Tests\Core\Session\PermissionsHashGeneratorTest::setUp()
  2. 10 core/tests/Drupal/Tests/Core/Session/PermissionsHashGeneratorTest.php \Drupal\Tests\Core\Session\PermissionsHashGeneratorTest::setUp()
  3. 11.x core/tests/Drupal/Tests/Core/Session/PermissionsHashGeneratorTest.php \Drupal\Tests\Core\Session\PermissionsHashGeneratorTest::setUp()

Overrides UnitTestCase::setUp

File

core/tests/Drupal/Tests/Core/Session/PermissionsHashGeneratorTest.php, line 75

Class

PermissionsHashGeneratorTest
@coversDefaultClass \Drupal\Core\Session\PermissionsHashGenerator @group Session

Namespace

Drupal\Tests\Core\Session

Code

protected function setUp() : void {
    parent::setUp();
    new Settings([
        'hash_salt' => 'test',
    ]);
    // The mocked super user account, with the same roles as Account 2.
    $this->account1 = $this->getMockBuilder('Drupal\\user\\Entity\\User')
        ->disableOriginalConstructor()
        ->onlyMethods([
        'getRoles',
        'id',
    ])
        ->getMock();
    $this->account1
        ->expects($this->any())
        ->method('id')
        ->willReturn(1);
    $this->account1
        ->expects($this->never())
        ->method('getRoles');
    // Account 2: 'administrator' and 'authenticated' roles.
    $roles_1 = [
        'administrator',
        'authenticated',
    ];
    $this->account2 = $this->getMockBuilder('Drupal\\user\\Entity\\User')
        ->disableOriginalConstructor()
        ->onlyMethods([
        'getRoles',
        'id',
    ])
        ->getMock();
    $this->account2
        ->expects($this->any())
        ->method('getRoles')
        ->willReturn($roles_1);
    $this->account2
        ->expects($this->any())
        ->method('id')
        ->willReturn(2);
    // Account 3: 'authenticated' and 'administrator' roles (different order).
    $roles_3 = [
        'authenticated',
        'administrator',
    ];
    $this->account3 = $this->getMockBuilder('Drupal\\user\\Entity\\User')
        ->disableOriginalConstructor()
        ->onlyMethods([
        'getRoles',
        'id',
    ])
        ->getMock();
    $this->account3
        ->expects($this->any())
        ->method('getRoles')
        ->willReturn($roles_3);
    $this->account3
        ->expects($this->any())
        ->method('id')
        ->willReturn(3);
    // Updated account 2: now also 'editor' role.
    $roles_2_updated = [
        'editor',
        'administrator',
        'authenticated',
    ];
    $this->account2Updated = $this->getMockBuilder('Drupal\\user\\Entity\\User')
        ->disableOriginalConstructor()
        ->onlyMethods([
        'getRoles',
        'id',
    ])
        ->getMock();
    $this->account2Updated
        ->expects($this->any())
        ->method('getRoles')
        ->willReturn($roles_2_updated);
    $this->account2Updated
        ->expects($this->any())
        ->method('id')
        ->willReturn(2);
    // Mocked private key + cache services.
    $random = Crypt::randomBytesBase64(55);
    $this->privateKey = $this->getMockBuilder('Drupal\\Core\\PrivateKey')
        ->disableOriginalConstructor()
        ->onlyMethods([
        'get',
    ])
        ->getMock();
    $this->privateKey
        ->expects($this->any())
        ->method('get')
        ->willReturn($random);
    $this->cache = $this->getMockBuilder('Drupal\\Core\\Cache\\CacheBackendInterface')
        ->disableOriginalConstructor()
        ->getMock();
    $this->staticCache = $this->getMockBuilder('Drupal\\Core\\Cache\\CacheBackendInterface')
        ->disableOriginalConstructor()
        ->getMock();
    $this->permissionsHash = new PermissionsHashGenerator($this->privateKey, $this->cache, $this->staticCache);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.