public function BasicTest::testConfig in JSON Web Token Authentication (JWT) 8
Same name and namespace in other branches
- 8.0 tests/src/Kernel/BasicTest.php \Drupal\Tests\jwt\Kernel\BasicTest::testConfig()
Verify the test config was loaded as keys.
File
- tests/
src/ Kernel/ BasicTest.php, line 31
Class
- BasicTest
- Tests JWT config schema.
Namespace
Drupal\Tests\jwt\KernelCode
public function testConfig() {
/** @var \Drupal\key\KeyRepositoryInterface $key_repository */
$key_repository = $this->container
->get('key.repository');
$key_hmac = $key_repository
->getKey('jwt_test_hmac');
$this
->assertNotEmpty($key_hmac);
$this
->assertEqual('jwt_hs', $key_hmac
->getKeyType()
->getPluginId());
$key_rsa = $key_repository
->getKey('jwt_test_rsa');
$this
->assertNotEmpty($key_rsa);
$this
->assertEqual('jwt_rs', $key_rsa
->getKeyType()
->getPluginId());
// The jwt_test module configures the jwt_test_hmac key to be used.
/** @var \Drupal\jwt\Transcoder\JwtTranscoderInterface $transcoder */
$transcoder = $this->container
->get('jwt.transcoder');
$reflected = new \ReflectionClass($transcoder);
$algorithm = $reflected
->getProperty('algorithm');
$algorithm
->setAccessible(TRUE);
$this
->assertEqual('HS256', $algorithm
->getValue($transcoder));
$jwt = new JsonWebToken();
$jwt
->setClaim([
'drupal',
'test',
], 1234);
$encoded = $transcoder
->encode($jwt);
$this
->assertNotEmpty($encoded);
$this
->assertTrue(is_string($encoded));
$decoded_jwt = $transcoder
->decode($encoded);
$this
->assertEqual(1234, $decoded_jwt
->getClaim([
'drupal',
'test',
]));
}