Neos\Flow\Tests\Unit\Security\ContextTest::separateActiveAndInactiveTokensTests PHP Метод

separateActiveAndInactiveTokensTests() публичный Метод

public separateActiveAndInactiveTokensTests ( array $patterns, boolean $expectedActive )
$patterns array
$expectedActive boolean
    public function separateActiveAndInactiveTokensTests(array $patterns, $expectedActive)
    {
        $mockRequestPatterns = [];
        foreach ($patterns as $pattern) {
            $mockRequestPattern = $this->getMockBuilder(RequestPatternInterface::class)->setMockClassName('RequestPattern_' . $pattern['type'])->getMock();
            $mockRequestPattern->expects($this->any())->method('matchRequest')->with($this->mockActionRequest)->will($this->returnValue($pattern['matchesRequest']));
            $mockRequestPatterns[] = $mockRequestPattern;
        }
        $mockToken = $this->createMock(TokenInterface::class);
        $mockToken->expects($this->once())->method('hasRequestPatterns')->will($this->returnValue($mockRequestPatterns !== []));
        $mockToken->expects($this->any())->method('getRequestPatterns')->will($this->returnValue($mockRequestPatterns));
        /** @var AuthenticationManagerInterface|\PHPUnit_Framework_MockObject_MockObject $mockAuthenticationManager */
        $mockAuthenticationManager = $this->createMock(AuthenticationManagerInterface::class);
        $mockAuthenticationManager->expects($this->once())->method('getTokens')->will($this->returnValue([$mockToken]));
        $this->securityContext = $this->getAccessibleMock(Context::class, ['dummy']);
        $settings = [];
        $settings['security']['authentication']['authenticationStrategy'] = 'allTokens';
        $this->securityContext->injectSettings($settings);
        $this->securityContext->injectAuthenticationManager($mockAuthenticationManager);
        $this->securityContext->setRequest($this->mockActionRequest);
        $this->securityContext->initialize();
        if ($expectedActive) {
            $this->assertContains($mockToken, $this->securityContext->_get('activeTokens'));
        } else {
            $this->assertContains($mockToken, $this->securityContext->_get('inactiveTokens'));
        }
    }
ContextTest