예제 #1
0
 function it_returns_Token_on_build_if_TokenDefinition_exists(TokenBuilder $builder, TokenDefinition $definition, Token $token)
 {
     $type = 'type';
     $definition->getType()->willReturn($type);
     $builder->build($definition)->willReturn($token);
     $this->beConstructedWith($builder);
     $this->after()->addDefinition($definition)->build($type)->shouldReturn($token);
 }
예제 #2
0
 /**
  * @param TokenDefinition $definition
  * @return Token
  */
 public function build(TokenDefinition $definition)
 {
     $token = $this->getToken($definition->getClass());
     $token->setType($definition->getType());
     $token->setHash($this->generateHash($definition->getHashAlgorithm()));
     $token->setUsages($definition->getUsages());
     $token->setExpiresAt($this->calculateExpirationDate($definition->getTtl()));
     return $token;
 }
예제 #3
0
 function it_builds_token_according_to_given_TokenDefinition(TokenDefinition $definition)
 {
     $baseDate = new \DateTime('2000-01-01');
     $type = 'test';
     $expiresAt = new \DateTime('2000-01-04');
     $usages = 0;
     $definition->getClass()->willReturn('Devhelp\\Token\\Token');
     $definition->getType()->willReturn($type);
     $definition->getTtl()->willReturn('3 days');
     $definition->getUsages()->willReturn($usages);
     $definition->getHashAlgorithm()->willReturn('test_alg');
     $this->setBaseDate($baseDate)->build($definition)->shouldReturnTokenWith($type, $expiresAt, $usages, $this->hash);
 }
예제 #4
0
 /**
  * @param TokenDefinition $definition
  * @return TokenDirector
  */
 public function addDefinition(TokenDefinition $definition)
 {
     $this->definitions[$definition->getType()] = $definition;
     return $this;
 }