| @@ 9-47 (lines=39) @@ | ||
| 6 | use Sainsburys\Guzzle\Oauth2\Tests\TestBase; |
|
| 7 | use SplFileObject; |
|
| 8 | ||
| 9 | class JwtBearerTest extends TestBase |
|
| 10 | { |
|
| 11 | public function testMissingParentConfigException() |
|
| 12 | { |
|
| 13 | $this->setExpectedException('\\InvalidArgumentException', 'The config is missing the following key: "client_id"'); |
|
| 14 | new JwtBearer($this->createClient()); |
|
| 15 | } |
|
| 16 | ||
| 17 | public function testMissingConfigException() |
|
| 18 | { |
|
| 19 | $this->setExpectedException('\\InvalidArgumentException', 'The config is missing the following key: "private_key"'); |
|
| 20 | new JwtBearer($this->createClient(), [ |
|
| 21 | 'client_id' => 'testClient', |
|
| 22 | 'client_secret' => 'clientSecret' |
|
| 23 | ]); |
|
| 24 | } |
|
| 25 | ||
| 26 | public function testPrivateKeyNotSplFileObject() |
|
| 27 | { |
|
| 28 | $this->setExpectedException('\\InvalidArgumentException', 'private_key needs to be instance of SplFileObject'); |
|
| 29 | new JwtBearer($this->createClient(), [ |
|
| 30 | 'client_id' => 'testClient', |
|
| 31 | 'client_secret' => 'clientSecret', |
|
| 32 | 'private_key' => 'INVALID' |
|
| 33 | ]); |
|
| 34 | } |
|
| 35 | ||
| 36 | public function testValidRequestGetsToken() |
|
| 37 | { |
|
| 38 | $grantType = new JwtBearer($this->createClient(), [ |
|
| 39 | 'client_id' => 'testClient', |
|
| 40 | 'client_secret' => 'clientSecret', |
|
| 41 | 'private_key' => new SplFileObject(__DIR__ . '/../private.key') |
|
| 42 | ]); |
|
| 43 | $token = $grantType->getToken(); |
|
| 44 | $this->assertNotEmpty($token->getToken()); |
|
| 45 | $this->assertTrue($token->getExpires()->getTimestamp() > time()); |
|
| 46 | } |
|
| 47 | } |
|
| 48 | ||
| @@ 8-48 (lines=41) @@ | ||
| 5 | use Sainsburys\Guzzle\Oauth2\GrantType\PasswordCredentials; |
|
| 6 | use Sainsburys\Guzzle\Oauth2\Tests\TestBase; |
|
| 7 | ||
| 8 | class PasswordCredentialsTest extends TestBase |
|
| 9 | { |
|
| 10 | public function testMissingParentConfigException() |
|
| 11 | { |
|
| 12 | $this->setExpectedException('\\InvalidArgumentException', 'The config is missing the following key: "client_id"'); |
|
| 13 | new PasswordCredentials($this->createClient()); |
|
| 14 | } |
|
| 15 | ||
| 16 | public function testMissingUsernameConfigException() |
|
| 17 | { |
|
| 18 | $this->setExpectedException('\\InvalidArgumentException', 'The config is missing the following key: "username"'); |
|
| 19 | new PasswordCredentials($this->createClient(), [ |
|
| 20 | 'client_id' => 'testClient', |
|
| 21 | 'client_secret' => 'clientSecret', |
|
| 22 | ]); |
|
| 23 | } |
|
| 24 | ||
| 25 | public function testMissingPasswordConfigException() |
|
| 26 | { |
|
| 27 | $this->setExpectedException('\\InvalidArgumentException', 'The config is missing the following key: "password"'); |
|
| 28 | new PasswordCredentials($this->createClient(), [ |
|
| 29 | 'client_id' => 'testClient', |
|
| 30 | 'client_secret' => 'clientSecret', |
|
| 31 | 'username' => 'validUsername', |
|
| 32 | ]); |
|
| 33 | } |
|
| 34 | ||
| 35 | public function testValidPasswordGetsToken() |
|
| 36 | { |
|
| 37 | $grantType = new PasswordCredentials($this->createClient(), [ |
|
| 38 | 'client_id' => 'testClient', |
|
| 39 | 'client_secret' => 'clientSecret', |
|
| 40 | 'username' => 'validUsername', |
|
| 41 | 'password' => 'validPassword', |
|
| 42 | ]); |
|
| 43 | ||
| 44 | $token = $grantType->getToken(); |
|
| 45 | $this->assertNotEmpty($token->getToken()); |
|
| 46 | $this->assertTrue($token->getExpires()->getTimestamp() > time()); |
|
| 47 | } |
|
| 48 | } |
|
| 49 | ||