/**
  * @dataProvider userProvider
  *
  * @param UserInterface $user
  * @param               $secret
  * @param string        $salt
  */
 public function testOverridesLogic(UserInterface $user, $secret, $salt = '')
 {
     $this->userProvider->expects($this->exactly(2))->method('loadUserByUsername')->will($this->returnValue($user));
     $nonce = base64_encode(uniqid(self::TEST_NONCE));
     $time = date('Y-m-d H:i:s');
     $digest = $this->encoder->encodePassword(sprintf('%s%s%s', base64_decode($nonce), $time, $secret), $salt);
     $token = new Token();
     $token->setAttribute('digest', $digest);
     $token->setAttribute('nonce', $nonce);
     $token->setAttribute('created', $time);
     $this->provider->authenticate($token);
 }
 /**
  * @expectedException \Symfony\Component\Security\Core\Exception\AuthenticationException
  */
 public function testGetSecret()
 {
     $noApiKeyUser = $this->getMock('Oro\\Bundle\\UserBundle\\Entity\\User');
     $noApiKeyUser->expects(static::exactly(2))->method('getApiKeys')->will(static::returnValue(new ArrayCollection()));
     $noApiKeyUser->expects(static::never())->method('getPassword');
     $noApiKeyUser->expects(static::never())->method('getSalt');
     $noApiKeyUser->expects(static::any())->method('getRoles')->will(static::returnValue([]));
     $this->userProvider->expects(static::exactly(2))->method('loadUserByUsername')->will(static::returnValue($noApiKeyUser));
     $nonce = base64_encode(uniqid(self::TEST_NONCE));
     $time = date('Y-m-d H:i:s');
     $digest = $this->encoder->encodePassword(sprintf('%s%s%s', base64_decode($nonce), $time, ''), '');
     $token = new Token();
     $token->setAttribute('digest', $digest);
     $token->setAttribute('nonce', $nonce);
     $token->setAttribute('created', $time);
     $this->provider->authenticate($token);
 }