public function OAuth2ServerTestCase::testScopes in OAuth2 Server 7
Tests scopes.
File
- tests/
oauth2_server.test, line 372 - OAuth2 tests.
Class
- OAuth2ServerTestCase
- Test basic API.
Code
public function testScopes() {
// The default scope returned by oauth2_server_default_scope().
$result = $this
->passwordGrantRequest();
$response = json_decode($result->data);
$this
->assertEqual($response->scope, 'basic admin', 'The correct default scope was returned.');
// A non-existent scope.
$result = $this
->passwordGrantRequest('invalid_scope');
$response = json_decode($result->data);
$error = isset($response->error) && $response->error == 'invalid_scope';
$this
->assertTrue($error, 'Invalid scope correctly detected.');
// A scope forbidden by oauth2_server_scope_access.
// @see oauth2_server_test_entity_query_alter()
$result = $this
->passwordGrantRequest('forbidden');
$response = json_decode($result->data);
$error = isset($response->error) && $response->error == 'invalid_scope';
$this
->assertTrue($error, 'Inaccessible scope correctly detected.');
// A specific requested scope.
$result = $this
->passwordGrantRequest('admin');
$response = json_decode($result->data);
$this
->assertEqual($response->scope, 'admin', 'The correct scope was returned.');
}