public function setUp()
{
$this->mockHashService = $this->createMock(Security\Cryptography\HashService::class);
$this->mockAccount = $this->getMockBuilder(Security\Account::class)->disableOriginalConstructor()->getMock();
$this->mockAccountRepository = $this->getMockBuilder(Security\AccountRepository::class)->disableOriginalConstructor()->getMock();
$this->mockPersistenceManager = $this->createMock(PersistenceManagerInterface::class);
$this->mockToken = $this->getMockBuilder(Security\Authentication\Token\UsernamePassword::class)->disableOriginalConstructor()->getMock();
$this->mockSecurityContext = $this->createMock(Security\Context::class);
$this->mockSecurityContext->expects($this->any())->method('withoutAuthorizationChecks')->will($this->returnCallback(function ($callback) {
return $callback->__invoke();
}));
$this->persistedUsernamePasswordProvider = $this->getAccessibleMock(Security\Authentication\Provider\PersistedUsernamePasswordProvider::class, array('dummy'), array('myProvider', array()));
$this->persistedUsernamePasswordProvider->_set('hashService', $this->mockHashService);
$this->persistedUsernamePasswordProvider->_set('accountRepository', $this->mockAccountRepository);
$this->persistedUsernamePasswordProvider->_set('persistenceManager', $this->mockPersistenceManager);
$this->persistedUsernamePasswordProvider->_set('securityContext', $this->mockSecurityContext);
}