コード例 #1
0
 /**
  * Test fetching a token
  *
  * @depends testValidTokenGenerationWithAllFields
  *
  * @param Token $generatedToken Previously generated Token
  */
 public function testTokenGetWithAllFields(Token $generatedToken)
 {
     $retrievedToken = $this->tokenService->get($generatedToken->getHash(), $generatedToken->getScope(), $generatedToken->getOwnerType(), $generatedToken->getOwnerId());
     $this->assertInstanceOf(get_class(new Token()), $retrievedToken, '$retrievedToken is not instanceof Token.');
     $this->assertEquals($generatedToken->getScope(), $retrievedToken->getScope(), 'Scope is not the same as set');
     $this->assertEquals($generatedToken->getOwnerType(), $retrievedToken->getOwnerType(), 'Owner type is not the same as set');
     $this->assertEquals($generatedToken->getOwnerId(), $retrievedToken->getOwnerId(), 'Owner ID is not the same as set');
     $this->assertInstanceOf('\\DateTime', $retrievedToken->getCreatedAt(), 'Created time is not a DateTime');
     $this->assertEquals($generatedToken->getCreatedAt()->getTimestamp(), $retrievedToken->getCreatedAt()->getTimestamp(), 'Created time is not correct');
     $this->assertInstanceOf('\\DateTime', $retrievedToken->getModifiedAt(), 'Modified time is not a DateTime');
     $this->assertEquals($generatedToken->getModifiedAt()->getTimestamp(), $retrievedToken->getModifiedAt()->getTimestamp(), 'Modified time is not correct');
     $this->assertEquals($generatedToken->getUsesMax(), $retrievedToken->getUsesMax(), 'Max uses is not the same as set');
     $this->assertInstanceOf('\\DateTime', $retrievedToken->getExpiresAt(), '$expiresAt is not a DateTime');
     $this->assertEquals($generatedToken->getExpiresAt(), $retrievedToken->getExpiresAt(), '$expiresAt is not the same as set');
     $this->assertEquals($generatedToken->getData(), $retrievedToken->getData(), '$data is not the same as set');
 }
コード例 #2
0
 /**
  * Check if the token can be used
  *
  * @param Token|null $token
  *
  * @return boolean
  */
 public function isValid(Token $token = null)
 {
     if (!$token instanceof Token) {
         return false;
     }
     $currentTime = new \DateTime();
     $expiryTime = $token->getExpiresAt();
     return $token->isActive() && $token->getUsesCount() < $token->getUsesMax() && (!$expiryTime instanceof \DateTime || $expiryTime->getTimestamp() >= $currentTime->getTimestamp());
 }