Skip to content

Commit

Permalink
Fixing functional tests (closes #21).
Browse files Browse the repository at this point in the history
  • Loading branch information
lcobucci committed Apr 1, 2015
1 parent eebf377 commit 68d5458
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 22 deletions.
45 changes: 39 additions & 6 deletions test/FunctionalTests/EcdsaTokenTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use Lcobucci\JWT\Signature;
use Lcobucci\JWT\Signer\Ecdsa\Sha256;
use Lcobucci\JWT\EcdsaKeys;
use Lcobucci\JWT\Signer\Ecdsa\Sha512;

/**
* @author Luís Otávio Cobucci Oblonczyk <[email protected]>
Expand All @@ -22,6 +23,19 @@ class EcdsaTokenTest extends \PHPUnit_Framework_TestCase
{
use EcdsaKeys;

/**
* @var Sha256
*/
private $signer;

/**
* @before
*/
public function createSigner()
{
$this->signer = new Sha256();
}

/**
* @test
*
Expand All @@ -44,7 +58,7 @@ public function builderCanGenerateAToken()
->setAudience('http://client.abc.com')
->setIssuer('http://api.abc.com')
->set('user', $user)
->sign(new Sha256(), $this->privateEcdsa())
->sign($this->signer, $this->privateEcdsa())
->getToken();

$this->assertAttributeInstanceOf(Signature::class, 'signature', $token);
Expand All @@ -68,7 +82,6 @@ public function builderCanGenerateAToken()
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function parserCanReadAToken(Token $generated)
{
Expand All @@ -89,14 +102,35 @@ public function parserCanReadAToken(Token $generated)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Ecdsa
* @covers Lcobucci\JWT\Signer\Ecdsa\Sha256
*/
public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
{
$this->assertFalse($token->verify($this->otherPublicEcdsa()));
$this->assertFalse($token->verify($this->signer, $this->otherPublicEcdsa()));
}

/**
* @test
*
* @depends builderCanGenerateAToken
*
* @covers Lcobucci\JWT\Builder
* @covers Lcobucci\JWT\Parser
* @covers Lcobucci\JWT\Token
* @covers Lcobucci\JWT\Signature
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Ecdsa
* @covers Lcobucci\JWT\Signer\Ecdsa\Sha256
* @covers Lcobucci\JWT\Signer\Ecdsa\Sha512
*/
public function verifyShouldReturnFalseWhenAlgorithmIsDifferent(Token $token)
{
$this->assertFalse($token->verify(new Sha512(), $this->publicEcdsa()));
}

/**
Expand All @@ -111,13 +145,12 @@ public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Ecdsa
* @covers Lcobucci\JWT\Signer\Ecdsa\Sha256
*/
public function verifyShouldReturnTrueWhenKeyIsRight(Token $token)
{
$this->assertTrue($token->verify($this->publicEcdsa()));
$this->assertTrue($token->verify($this->signer, $this->publicEcdsa()));
}
}
45 changes: 39 additions & 6 deletions test/FunctionalTests/HmacTokenTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,27 @@
use Lcobucci\JWT\Token;
use Lcobucci\JWT\Signature;
use Lcobucci\JWT\Signer\Hmac\Sha256;
use Lcobucci\JWT\Signer\Hmac\Sha512;

/**
* @author Luís Otávio Cobucci Oblonczyk <[email protected]>
* @since 2.1.0
*/
class HmacTokenTest extends \PHPUnit_Framework_TestCase
{
/**
* @var Sha256
*/
private $signer;

/**
* @before
*/
public function createSigner()
{
$this->signer = new Sha256();
}

/**
* @test
*
Expand All @@ -40,7 +54,7 @@ public function builderCanGenerateAToken()
->setAudience('http://client.abc.com')
->setIssuer('http://api.abc.com')
->set('user', $user)
->sign(new Sha256(), 'testing')
->sign($this->signer, 'testing')
->getToken();

$this->assertAttributeInstanceOf(Signature::class, 'signature', $token);
Expand All @@ -64,7 +78,6 @@ public function builderCanGenerateAToken()
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function parserCanReadAToken(Token $generated)
{
Expand All @@ -85,13 +98,34 @@ public function parserCanReadAToken(Token $generated)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\Hmac
* @covers Lcobucci\JWT\Signer\Hmac\Sha256
*/
public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
{
$this->assertFalse($token->verify('testing1'));
$this->assertFalse($token->verify($this->signer, 'testing1'));
}

/**
* @test
*
* @depends builderCanGenerateAToken
*
* @covers Lcobucci\JWT\Builder
* @covers Lcobucci\JWT\Parser
* @covers Lcobucci\JWT\Token
* @covers Lcobucci\JWT\Signature
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Hmac
* @covers Lcobucci\JWT\Signer\Hmac\Sha256
* @covers Lcobucci\JWT\Signer\Hmac\Sha512
*/
public function verifyShouldReturnFalseWhenAlgorithmIsDifferent(Token $token)
{
$this->assertFalse($token->verify(new Sha512(), 'testing'));
}

/**
Expand All @@ -106,12 +140,11 @@ public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\Hmac
* @covers Lcobucci\JWT\Signer\Hmac\Sha256
*/
public function verifyShouldReturnTrueWhenKeyIsRight(Token $token)
{
$this->assertTrue($token->verify('testing'));
$this->assertTrue($token->verify($this->signer, 'testing'));
}
}
45 changes: 39 additions & 6 deletions test/FunctionalTests/RsaTokenTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
use Lcobucci\JWT\Signature;
use Lcobucci\JWT\Signer\Rsa\Sha256;
use Lcobucci\JWT\RsaKeys;
use Lcobucci\JWT\Signer\Rsa\Sha512;

/**
* @author Luís Otávio Cobucci Oblonczyk <[email protected]>
Expand All @@ -22,6 +23,19 @@ class RsaTokenTest extends \PHPUnit_Framework_TestCase
{
use RsaKeys;

/**
* @var Sha256
*/
private $signer;

/**
* @before
*/
public function createSigner()
{
$this->signer = new Sha256();
}

/**
* @test
*
Expand All @@ -44,7 +58,7 @@ public function builderCanGenerateAToken()
->setAudience('http://client.abc.com')
->setIssuer('http://api.abc.com')
->set('user', $user)
->sign(new Sha256(), $this->privateRsa())
->sign($this->signer, $this->privateRsa())
->getToken();

$this->assertAttributeInstanceOf(Signature::class, 'signature', $token);
Expand All @@ -68,7 +82,6 @@ public function builderCanGenerateAToken()
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function parserCanReadAToken(Token $generated)
{
Expand All @@ -89,14 +102,35 @@ public function parserCanReadAToken(Token $generated)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Rsa
* @covers Lcobucci\JWT\Signer\Rsa\Sha256
*/
public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
{
$this->assertFalse($token->verify($this->encryptedPublicRsa()));
$this->assertFalse($token->verify($this->signer, $this->encryptedPublicRsa()));
}

/**
* @test
*
* @depends builderCanGenerateAToken
*
* @covers Lcobucci\JWT\Builder
* @covers Lcobucci\JWT\Parser
* @covers Lcobucci\JWT\Token
* @covers Lcobucci\JWT\Signature
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Rsa
* @covers Lcobucci\JWT\Signer\Rsa\Sha256
* @covers Lcobucci\JWT\Signer\Rsa\Sha512
*/
public function verifyShouldReturnFalseWhenAlgorithmIsDifferent(Token $token)
{
$this->assertFalse($token->verify(new Sha512(), $this->publicRsa()));
}

/**
Expand All @@ -111,13 +145,12 @@ public function verifyShouldReturnFalseWhenKeyIsNotRight(Token $token)
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Claim\Factory
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Signer\Factory
* @covers Lcobucci\JWT\Signer\OpenSSL
* @covers Lcobucci\JWT\Signer\Rsa
* @covers Lcobucci\JWT\Signer\Rsa\Sha256
*/
public function verifyShouldReturnTrueWhenKeyIsRight(Token $token)
{
$this->assertTrue($token->verify($this->publicRsa()));
$this->assertTrue($token->verify($this->signer, $this->publicRsa()));
}
}
5 changes: 1 addition & 4 deletions test/FunctionalTests/UnsignedTokenTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ public function builderCanGenerateAToken()
* @covers Lcobucci\JWT\Claim\Basic
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function parserCanReadAToken(Token $generated)
{
Expand All @@ -84,9 +83,8 @@ public function parserCanReadAToken(Token $generated)
* @covers Lcobucci\JWT\Claim\GreaterOrEqualsTo
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function tokenValidationShouldReturnWhenEverythingIsFile(Token $generated)
public function tokenValidationShouldReturnWhenEverythingIsFine(Token $generated)
{
$data = new ValidationData(self::CURRENT_TIME - 10);
$data->setAudience('http://client.abc.com');
Expand All @@ -112,7 +110,6 @@ public function tokenValidationShouldReturnWhenEverythingIsFile(Token $generated
* @covers Lcobucci\JWT\Claim\GreaterOrEqualsTo
* @covers Lcobucci\JWT\Parsing\Encoder
* @covers Lcobucci\JWT\Parsing\Decoder
* @covers Lcobucci\JWT\Signer\Factory
*/
public function tokenValidationShouldReturnFalseWhenExpectedDataDontMatch(ValidationData $data, Token $generated)
{
Expand Down

0 comments on commit 68d5458

Please sign in to comment.