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); }
/** * @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; }
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); }
/** * @param TokenDefinition $definition * @return TokenDirector */ public function addDefinition(TokenDefinition $definition) { $this->definitions[$definition->getType()] = $definition; return $this; }