/** * Tests that a new token seed is generated upon first use. * * @covers ::get */ public function testGenerateSeedOnGet() { $key = Crypt::randomBytesBase64(); $this->privateKey->expects($this->any())->method('get')->will($this->returnValue($key)); $this->sessionMetadata->expects($this->once())->method('getCsrfTokenSeed')->will($this->returnValue(NULL)); $this->sessionMetadata->expects($this->once())->method('setCsrfTokenSeed')->with($this->isType('string')); $this->assertInternalType('string', $this->generator->get()); }
/** * {@inheritdoc} */ function setUp() { parent::setUp(); $this->key = Crypt::randomBytesBase64(55); $this->privateKey = $this->getMockBuilder('Drupal\\Core\\PrivateKey')->disableOriginalConstructor()->setMethods(array('get'))->getMock(); $this->privateKey->expects($this->any())->method('get')->will($this->returnValue($this->key)); $settings = array('hash_salt' => $this->randomName()); new Settings($settings); $this->generator = new CsrfTokenGenerator($this->privateKey); }
/** * {@inheritdoc} */ protected function setUp() { parent::setUp(); new Settings(array('hash_salt' => 'test')); // The mocked super user account, with the same roles as Account 2. $this->account1 = $this->getMockBuilder('Drupal\\user\\Entity\\User')->disableOriginalConstructor()->setMethods(array('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 = array('administrator', 'authenticated'); $this->account2 = $this->getMockBuilder('Drupal\\user\\Entity\\User')->disableOriginalConstructor()->setMethods(array('getRoles', 'id'))->getMock(); $this->account2->expects($this->any())->method('getRoles')->will($this->returnValue($roles_1)); $this->account2->expects($this->any())->method('id')->willReturn(2); // Account 3: 'authenticated' and 'administrator' roles (different order). $roles_3 = array('authenticated', 'administrator'); $this->account3 = $this->getMockBuilder('Drupal\\user\\Entity\\User')->disableOriginalConstructor()->setMethods(array('getRoles', 'id'))->getMock(); $this->account3->expects($this->any())->method('getRoles')->will($this->returnValue($roles_3)); $this->account3->expects($this->any())->method('id')->willReturn(3); // Updated account 2: now also 'editor' role. $roles_2_updated = array('editor', 'administrator', 'authenticated'); $this->account2Updated = $this->getMockBuilder('Drupal\\user\\Entity\\User')->disableOriginalConstructor()->setMethods(array('getRoles', 'id'))->getMock(); $this->account2Updated->expects($this->any())->method('getRoles')->will($this->returnValue($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()->setMethods(array('get'))->getMock(); $this->privateKey->expects($this->any())->method('get')->will($this->returnValue($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); }