You've already forked php-auth
generated from siteworxpro/Php-Template
50 lines
1.4 KiB
PHP
50 lines
1.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Siteworxpro\Tests\Attributes\Guards;
|
|
|
|
use Siteworxpro\App\Attributes\Guards\Jwt;
|
|
use Siteworxpro\App\Services\Facades\Config;
|
|
use Siteworxpro\Tests\Unit;
|
|
|
|
class JwtTest extends Unit
|
|
{
|
|
public function testGetsClassFromConfig(): void
|
|
{
|
|
Config::set('jwt.issuer', 'default-issuer');
|
|
Config::set('jwt.audience', 'default-audience');
|
|
|
|
$reflection = new \ReflectionClass(TestClass::class);
|
|
$attributes = $reflection->getAttributes(Jwt::class);
|
|
$this->assertCount(1, $attributes);
|
|
|
|
/** @var Jwt $instance */
|
|
$instance = $attributes[0]->newInstance();
|
|
$this->assertEquals('default-audience', $instance->getAudience());
|
|
$this->assertEquals('default-issuer', $instance->getIssuer());
|
|
}
|
|
|
|
public function testGetsClassFromCustom(): void
|
|
{
|
|
$reflection = new \ReflectionClass(TestClassSpecific::class);
|
|
$attributes = $reflection->getAttributes(Jwt::class);
|
|
$this->assertCount(1, $attributes);
|
|
|
|
/** @var Jwt $instance */
|
|
$instance = $attributes[0]->newInstance();
|
|
$this->assertEquals('custom-audience', $instance->getAudience());
|
|
$this->assertEquals('custom-issuer', $instance->getIssuer());
|
|
}
|
|
}
|
|
|
|
#[Jwt]
|
|
class TestClass // @codingStandardsIgnoreLine
|
|
{
|
|
}
|
|
|
|
#[Jwt('custom-issuer', 'custom-audience')]
|
|
class TestClassSpecific // @codingStandardsIgnoreLine
|
|
{
|
|
}
|