public function getContextHashReturnsAHashOverAllAuthenticatedRoles() { /** @var Context|\PHPUnit_Framework_MockObject_MockObject $securityContext */ $securityContext = $this->getAccessibleMock(Context::class, ['isInitialized', 'getRoles']); $securityContext->expects($this->any())->method('isInitialized')->will($this->returnValue(true)); $mockRole1 = $this->getMockBuilder(Policy\Role::class)->disableOriginalConstructor()->getMock(); $mockRole2 = $this->getMockBuilder(Policy\Role::class)->disableOriginalConstructor()->getMock(); $mockRoles = ['Acme.Role1' => $mockRole1, 'Acme.Role2' => $mockRole2]; $securityContext->expects($this->atLeastOnce())->method('getRoles')->will($this->returnValue($mockRoles)); $expectedHash = md5(implode('|', array_keys($mockRoles))); $this->assertSame($expectedHash, $securityContext->getContextHash()); }