123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- /**
- * This file is part of Lcobucci\JWT, a simple library to handle JWT and JWS
- *
- * @license http://opensource.org/licenses/BSD-3-Clause BSD-3-Clause
- */
- namespace Lcobucci\JWT\Signer;
- use Lcobucci\JWT\Signature;
- /**
- * @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
- * @since 0.1.0
- */
- class BaseSignerTest extends \PHPUnit_Framework_TestCase
- {
- /**
- * @var BaseSigner|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $signer;
- /**
- * {@inheritdoc}
- */
- protected function setUp()
- {
- $this->signer = $this->getMockForAbstractClass(BaseSigner::class);
- $this->signer->method('getAlgorithmId')
- ->willReturn('TEST123');
- }
- /**
- * @test
- *
- * @covers Lcobucci\JWT\Signer\BaseSigner::modifyHeader
- */
- public function modifyHeaderShouldChangeAlgorithm()
- {
- $headers = ['typ' => 'JWT'];
- $this->signer->modifyHeader($headers);
- $this->assertEquals($headers['typ'], 'JWT');
- $this->assertEquals($headers['alg'], 'TEST123');
- }
- /**
- * @test
- *
- * @uses Lcobucci\JWT\Signature::__construct
- * @uses Lcobucci\JWT\Signer\Key
- *
- * @covers Lcobucci\JWT\Signer\BaseSigner::sign
- * @covers Lcobucci\JWT\Signer\BaseSigner::getKey
- */
- public function signMustReturnANewSignature()
- {
- $key = new Key('123');
- $this->signer->expects($this->once())
- ->method('createHash')
- ->with('test', $key)
- ->willReturn('test');
- $this->assertEquals(new Signature('test'), $this->signer->sign('test', $key));
- }
- /**
- * @test
- *
- * @uses Lcobucci\JWT\Signature::__construct
- * @uses Lcobucci\JWT\Signer\Key
- *
- * @covers Lcobucci\JWT\Signer\BaseSigner::sign
- * @covers Lcobucci\JWT\Signer\BaseSigner::getKey
- */
- public function signShouldConvertKeyWhenItsNotAnObject()
- {
- $this->signer->expects($this->once())
- ->method('createHash')
- ->with('test', new Key('123'))
- ->willReturn('test');
- $this->assertEquals(new Signature('test'), $this->signer->sign('test', '123'));
- }
- /**
- * @test
- *
- * @uses Lcobucci\JWT\Signature::__construct
- * @uses Lcobucci\JWT\Signer\Key
- *
- * @covers Lcobucci\JWT\Signer\BaseSigner::verify
- * @covers Lcobucci\JWT\Signer\BaseSigner::getKey
- */
- public function verifyShouldDelegateTheCallToAbstractMethod()
- {
- $key = new Key('123');
- $this->signer->expects($this->once())
- ->method('doVerify')
- ->with('test', 'test', $key)
- ->willReturn(true);
- $this->assertTrue($this->signer->verify('test', 'test', $key));
- }
- /**
- * @test
- *
- * @uses Lcobucci\JWT\Signature::__construct
- * @uses Lcobucci\JWT\Signer\Key
- *
- * @covers Lcobucci\JWT\Signer\BaseSigner::verify
- * @covers Lcobucci\JWT\Signer\BaseSigner::getKey
- */
- public function verifyShouldConvertKeyWhenItsNotAnObject()
- {
- $this->signer->expects($this->once())
- ->method('doVerify')
- ->with('test', 'test', new Key('123'))
- ->willReturn(true);
- $this->assertTrue($this->signer->verify('test', 'test', '123'));
- }
- }
|