2016-05-19 15:01:28 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Tests;
|
|
|
|
|
2017-02-03 21:49:49 +00:00
|
|
|
use BrowserKitTest;
|
2016-05-19 15:01:28 +01:00
|
|
|
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
|
|
|
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
|
|
|
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
|
|
|
|
2017-02-03 21:49:49 +00:00
|
|
|
class TokenServiceTest extends BrowserKitTest
|
2016-05-19 15:01:28 +01:00
|
|
|
{
|
|
|
|
protected $appurl;
|
|
|
|
|
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
parent::setUp();
|
|
|
|
$this->appurl = config('app.url');
|
|
|
|
$this->tokenService = new \App\Services\TokenService();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Given the token is dependent on a random nonce, the time of creation and
|
|
|
|
* the APP_KEY, to test, we shall create a token, and then verify it.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function testTokenCreationAndValidation()
|
|
|
|
{
|
|
|
|
$data = [
|
|
|
|
'me' => 'https://example.org',
|
|
|
|
'client_id' => 'https://quill.p3k.io',
|
|
|
|
'scope' => 'post'
|
|
|
|
];
|
|
|
|
$token = $this->tokenService->getNewToken($data);
|
|
|
|
$valid = $this->tokenService->validateToken($token);
|
|
|
|
$validData = [
|
|
|
|
'me' => $valid->getClaim('me'),
|
|
|
|
'client_id' => $valid->getClaim('client_id'),
|
|
|
|
'scope' => $valid->getClaim('scope')
|
|
|
|
];
|
|
|
|
$this->assertSame($data, $validData);
|
|
|
|
}
|
|
|
|
}
|