the browser-facing portion of osu!
at master 58 lines 2.2 kB view raw
1<?php 2 3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 4// See the LICENCE file in the repository root for full licence text. 5 6declare(strict_types=1); 7 8namespace Tests\Providers; 9 10use App\Http\Controllers\OAuth\AuthorizedClientsController; 11use App\Http\Controllers\OAuth\ClientsController; 12use App\Http\Controllers\Passport\AuthorizationController; 13use Laravel\Passport\Http\Controllers\AccessTokenController; 14use Laravel\Passport\Http\Controllers\ApproveAuthorizationController; 15use Laravel\Passport\Http\Controllers\DenyAuthorizationController; 16use Request; 17use Route; 18use Tests\TestCase; 19 20class AuthServiceProviderTest extends TestCase 21{ 22 /** 23 * @dataProvider oauthRoutesRegisteredDataProvider 24 */ 25 public function testOAuthRoutesRegistered($url, $method, $uses) 26 { 27 $route = Route::getRoutes()->match(Request::create($url, $method)); 28 $this->assertSame($uses, $route->action['uses']); 29 } 30 31 public function testPassportDefaultRoutesNotRegistered() 32 { 33 $routeNames = array_keys(Route::getRoutes()->getRoutesByName()); 34 35 foreach ($routeNames as $routeName) { 36 $this->assertStringStartsNotWith('passport.', $routeName); 37 } 38 } 39 40 public static function oauthRoutesRegisteredDataProvider() 41 { 42 return [ 43 ['oauth/authorize', 'GET', AuthorizationController::class.'@authorize'], 44 ['oauth/authorize', 'POST', ApproveAuthorizationController::class.'@approve'], 45 ['oauth/authorize', 'DELETE', DenyAuthorizationController::class.'@deny'], 46 47 ['oauth/authorized-clients/1', 'DELETE', AuthorizedClientsController::class.'@destroy'], 48 49 ['oauth/clients', 'GET', ClientsController::class.'@index'], 50 ['oauth/clients', 'POST', ClientsController::class.'@store'], 51 ['oauth/clients/1', 'PUT', ClientsController::class.'@update'], 52 ['oauth/clients/1', 'DELETE', ClientsController::class.'@destroy'], 53 ['oauth/clients/1/reset-secret', 'POST', ClientsController::class.'@resetSecret'], 54 55 ['oauth/token', 'POST', AccessTokenController::class.'@issueToken'], 56 ]; 57 } 58}