protected function MediaTest::setUpAuthorization in JSON:API 8
Same name and namespace in other branches
- 8.2 tests/src/Functional/MediaTest.php \Drupal\Tests\jsonapi\Functional\MediaTest::setUpAuthorization()
Sets up the necessary authorization.
In case of a test verifying publicly accessible REST resources: grant permissions to the anonymous user role.
In case of a test verifying behavior when using a particular authentication provider: create a user with a particular set of permissions.
Because of the $method parameter, it's possible to first set up authentication for only GET, then add POST, et cetera. This then also allows for verifying a 403 in case of missing authorization.
Parameters
string $method: The HTTP method for which to set up authentication.
Overrides ResourceTestBase::setUpAuthorization
See also
::grantPermissionsToAnonymousRole()
::grantPermissionsToAuthenticatedRole()
File
- tests/
src/ Functional/ MediaTest.php, line 56
Class
- MediaTest
- JSON API integration test for the "Media" content entity type.
Namespace
Drupal\Tests\jsonapi\FunctionalCode
protected function setUpAuthorization($method) {
switch ($method) {
case 'GET':
$this
->grantPermissionsToTestedRole([
'view media',
]);
break;
case 'POST':
// @todo Remove this modification when JSON API requires Drupal 8.5 or newer, and do an early return above instead.
if (floatval(\Drupal::VERSION) < 8.5) {
$this
->grantPermissionsToTestedRole([
'create media',
'access content',
]);
}
$this
->grantPermissionsToTestedRole([
'create camelids media',
'access content',
]);
break;
case 'PATCH':
// @todo Remove this modification when JSON API requires Drupal 8.5 or newer, and do an early return above instead.
if (floatval(\Drupal::VERSION) < 8.5) {
$this
->grantPermissionsToTestedRole([
'update any media',
]);
}
$this
->grantPermissionsToTestedRole([
'edit any camelids media',
]);
// @todo Remove this in https://www.drupal.org/node/2824851.
$this
->grantPermissionsToTestedRole([
'access content',
]);
break;
case 'DELETE':
// @todo Remove this modification when JSON API requires Drupal 8.5 or newer, and do an early return above instead.
if (floatval(\Drupal::VERSION) < 8.5) {
$this
->grantPermissionsToTestedRole([
'delete any media',
]);
}
$this
->grantPermissionsToTestedRole([
'delete any camelids media',
]);
break;
}
}