mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Reworked oauth_sessions table. Added extension to use MariaDB's JSON columns. Rewritten tests for authorization_code grant for client side. Deprecate some old shit. [skip ci]
		
			
				
	
	
		
			91 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| declare(strict_types=1);
 | |
| 
 | |
| namespace api\tests\functional\dev\applications;
 | |
| 
 | |
| use api\tests\_pages\OauthRoute;
 | |
| use api\tests\FunctionalTester;
 | |
| 
 | |
| class GetClientsCest {
 | |
| 
 | |
|     /**
 | |
|      * @var OauthRoute
 | |
|      */
 | |
|     private $route;
 | |
| 
 | |
|     public function _before(FunctionalTester $I) {
 | |
|         $this->route = new OauthRoute($I);
 | |
|     }
 | |
| 
 | |
|     public function testGet(FunctionalTester $I) {
 | |
|         $I->amAuthenticated('admin');
 | |
|         $this->route->getClient('admin-oauth-client');
 | |
|         $I->canSeeResponseCodeIs(200);
 | |
|         $I->canSeeResponseIsJson();
 | |
|         $I->canSeeResponseContainsJson([
 | |
|             'clientId' => 'admin-oauth-client',
 | |
|             'clientSecret' => 'FKyO71iCIlv4YM2IHlLbhsvYoIJScUzTZt1kEK7DQLXXYISLDvURVXK32Q58sHWS',
 | |
|             'type' => 'application',
 | |
|             'name' => 'Admin\'s oauth client',
 | |
|             'description' => 'Personal oauth client',
 | |
|             'redirectUri' => 'http://some-site.com/oauth/ely',
 | |
|             'websiteUrl' => '',
 | |
|             'createdAt' => 1519254133,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     public function testGetNotOwn(FunctionalTester $I) {
 | |
|         $I->amAuthenticated('admin');
 | |
|         $this->route->getClient('another-test-oauth-client');
 | |
|         $I->canSeeResponseCodeIs(403);
 | |
|         $I->canSeeResponseIsJson();
 | |
|         $I->canSeeResponseContainsJson([
 | |
|             'name' => 'Forbidden',
 | |
|             'status' => 403,
 | |
|             'message' => 'You are not allowed to perform this action.',
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     public function testGetAllPerAccountList(FunctionalTester $I) {
 | |
|         $I->amAuthenticated('TwoOauthClients');
 | |
|         $this->route->getPerAccount(14);
 | |
|         $I->canSeeResponseCodeIs(200);
 | |
|         $I->canSeeResponseIsJson();
 | |
|         $I->canSeeResponseContainsJson([
 | |
|             [
 | |
|                 'clientId' => 'first-test-oauth-client',
 | |
|                 'clientSecret' => 'Zt1kEK7DQLXXYISLDvURVXK32Q58sHWSFKyO71iCIlv4YM2IHlLbhsvYoIJScUzT',
 | |
|                 'type' => 'application',
 | |
|                 'name' => 'First test oauth client',
 | |
|                 'description' => 'Some description to the first oauth client',
 | |
|                 'redirectUri' => 'http://some-site-1.com/oauth/ely',
 | |
|                 'websiteUrl' => '',
 | |
|                 'countUsers' => 0,
 | |
|                 'createdAt' => 1519487434,
 | |
|             ],
 | |
|             [
 | |
|                 'clientId' => 'another-test-oauth-client',
 | |
|                 'clientSecret' => 'URVXK32Q58sHWSFKyO71iCIlv4YM2Zt1kEK7DQLXXYISLDvIHlLbhsvYoIJScUzT',
 | |
|                 'type' => 'minecraft-server',
 | |
|                 'name' => 'Another test oauth client',
 | |
|                 'websiteUrl' => '',
 | |
|                 'minecraftServerIp' => '136.243.88.97:25565',
 | |
|                 'createdAt' => 1519487472,
 | |
|             ],
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     public function testGetAllPerNotOwnAccount(FunctionalTester $I) {
 | |
|         $I->amAuthenticated('TwoOauthClients');
 | |
|         $this->route->getPerAccount(1);
 | |
|         $I->canSeeResponseCodeIs(403);
 | |
|         $I->canSeeResponseIsJson();
 | |
|         $I->canSeeResponseContainsJson([
 | |
|             'name' => 'Forbidden',
 | |
|             'status' => 403,
 | |
|             'message' => 'You are not allowed to perform this action.',
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
| }
 |