public function DrupalRolesIntegrationTest::testFilterProposals in Authorization 8
Test filterProposals and sanitization.
File
- authorization_drupal_roles/
tests/ src/ Kernel/ DrupalRolesIntegrationTest.php, line 122
Class
- DrupalRolesIntegrationTest
- Integration tests for authorization_drupal_roles.
Namespace
Drupal\Tests\authorization_drupal_roles\KernelCode
public function testFilterProposals() : void {
$profile = AuthorizationProfile::create([
'status' => 'true',
'description' => 'test',
'id' => 'test',
'provider' => 'dummy',
'consumer' => 'authorization_drupal_roles',
]);
$consumer = $profile
->getConsumer();
$proposals = [
'student' => 'student',
'user' => 'user',
];
// Wildcard (getWildcard() also covered with this).
$consumerMapping = [
'role' => 'source',
];
$result = $consumer
->filterProposals($proposals, $consumerMapping);
$this
->assertEquals($proposals, $result);
// Match for single proposal.
$consumerMapping = [
'role' => 'staff',
];
$result = $consumer
->filterProposals($proposals, $consumerMapping);
$this
->assertEquals([
'staff' => 'staff',
], $result);
// Invalid role.
$consumerMapping = [
'role' => 'none',
];
$result = $consumer
->filterProposals($proposals, $consumerMapping);
$this
->assertEquals([], $result);
// No proposals.
$proposals = [];
$consumerMapping = [
'role' => 'student',
];
$result = $consumer
->filterProposals($proposals, $consumerMapping);
$this
->assertEquals([], $result);
$consumer
->createConsumerTarget('Complex ?targêt');
$role = Role::load('complex_target');
self::assertEquals('Complex ?targêt', $role
->label());
}