public function initializeCallsUpdateCredentialsOnAllActiveTokens()
{
$mockAuthenticationManager = $this->createMock(AuthenticationManagerInterface::class);
$notMatchingRequestPattern = $this->createMock(RequestPatternInterface::class);
$notMatchingRequestPattern->expects($this->any())->method('matchRequest')->will($this->returnValue(false));
$mockToken1 = $this->createMock(TokenInterface::class);
$mockToken1->expects($this->any())->method('getAuthenticationProviderName')->will($this->returnValue('token1Provider'));
$mockToken2 = $this->createMock(TokenInterface::class);
$mockToken2->expects($this->any())->method('getAuthenticationProviderName')->will($this->returnValue('token2Provider'));
$mockToken2->expects($this->atLeastOnce())->method('hasRequestPatterns')->will($this->returnValue(true));
$mockToken2->expects($this->atLeastOnce())->method('getRequestPatterns')->will($this->returnValue([$notMatchingRequestPattern]));
$mockToken3 = $this->createMock(TokenInterface::class);
$mockToken3->expects($this->any())->method('getAuthenticationProviderName')->will($this->returnValue('token3Provider'));
$mockToken1->expects($this->once())->method('updateCredentials');
$mockToken2->expects($this->never())->method('updateCredentials');
$mockToken3->expects($this->once())->method('updateCredentials');
$mockAuthenticationManager->expects($this->once())->method('getTokens')->will($this->returnValue([$mockToken1, $mockToken2, $mockToken3]));
$securityContext = $this->getAccessibleMock(Context::class, ['dummy']);
$securityContext->setRequest($this->mockActionRequest);
$securityContext->_set('authenticationManager', $mockAuthenticationManager);
$securityContext->_call('initialize');
}