Example #1
0
 /**
  * @test
  *
  * @uses Lcobucci\JWT\Builder::__construct
  * @uses Lcobucci\JWT\Builder::set
  * @uses Lcobucci\JWT\Token
  *
  * @covers Lcobucci\JWT\Builder::getToken
  */
 public function getTokenMustReturnANewTokenWithCurrentConfiguration()
 {
     $signature = $this->getMock(Signature::class, [], [], '', false);
     $this->encoder->expects($this->exactly(2))->method('jsonEncode')->withConsecutive([['typ' => 'JWT', 'alg' => 'none']], [['test' => $this->defaultClaim]])->willReturnOnConsecutiveCalls('1', '2');
     $this->encoder->expects($this->exactly(3))->method('base64UrlEncode')->withConsecutive(['1'], ['2'], [$signature])->willReturnOnConsecutiveCalls('1', '2', '3');
     $builder = $this->createBuilder()->set('test', 123);
     $builderSign = new \ReflectionProperty($builder, 'signature');
     $builderSign->setAccessible(true);
     $builderSign->setValue($builder, $signature);
     $token = $builder->getToken();
     $tokenSign = new \ReflectionProperty($token, 'signature');
     $tokenSign->setAccessible(true);
     $this->assertAttributeEquals(['1', '2', '3'], 'payload', $token);
     $this->assertAttributeEquals($token->getHeaders(), 'headers', $builder);
     $this->assertAttributeEquals($token->getClaims(), 'claims', $builder);
     $this->assertAttributeSame($tokenSign->getValue($token), 'signature', $builder);
 }