public function RolesNegotiationFunctionalTest::setUp in Simple OAuth (OAuth2) & OpenID Connect 8.4
Same name and namespace in other branches
- 5.x tests/src/Functional/RolesNegotiationFunctionalTest.php \Drupal\Tests\simple_oauth\Functional\RolesNegotiationFunctionalTest::setUp()
Overrides BrowserTestBase::setUp
File
- tests/
src/ Functional/ RolesNegotiationFunctionalTest.php, line 80
Class
- RolesNegotiationFunctionalTest
- Tests for the roles negotiation.
Namespace
Drupal\Tests\simple_oauth\FunctionalCode
public function setUp() {
parent::setUp();
$this->htmlOutputEnabled = FALSE;
$this->tokenTestUrl = Url::fromRoute('oauth2_token.user_debug');
$this->url = Url::fromRoute('oauth2_token.token');
$this->user = $this
->drupalCreateUser();
// Set up a HTTP client that accepts relative URLs.
$this->httpClient = $this->container
->get('http_client_factory')
->fromOptions([
'base_uri' => $this->baseUrl,
]);
$this->clientSecret = $this
->getRandomGenerator()
->string();
// Create a role 'foo' and add two permissions to it.
$role = Role::create([
'id' => 'foo',
'label' => 'Foo',
'is_admin' => FALSE,
]);
$this
->grantPermissions(Role::load(RoleInterface::ANONYMOUS_ID), [
'debug simple_oauth tokens',
]);
$this
->grantPermissions(Role::load(RoleInterface::AUTHENTICATED_ID), [
'debug simple_oauth tokens',
]);
$role
->grantPermission('view own simple_oauth entities');
$role
->save();
$role = Role::create([
'id' => 'bar',
'label' => 'Bar',
'is_admin' => FALSE,
]);
$role
->grantPermission('administer simple_oauth entities');
$role
->save();
$role = Role::create([
'id' => 'oof',
'label' => 'Oof',
'is_admin' => FALSE,
]);
$role
->grantPermission('delete own simple_oauth entities');
$role
->save();
$this->user
->addRole('foo');
$this->user
->addRole('bar');
$this->user
->save();
// Create a Consumer.
$this->client = Consumer::create([
'owner_id' => 1,
'user_id' => $this->user
->id(),
'label' => $this
->getRandomGenerator()
->name(),
'secret' => $this->clientSecret,
'confidential' => TRUE,
'roles' => [
[
'target_id' => 'oof',
],
],
]);
$this->client
->save();
$this
->setUpKeys();
}