You've already forked Php-Template
All checks were successful
🧪✨ Tests Workflow / 🛡️ 🔒 License Check (push) Successful in 4m18s
🧪✨ Tests Workflow / 🛡️ 🔒 Library Audit (push) Successful in 4m30s
🧪✨ Tests Workflow / 📝 ✨ Code Lint (push) Successful in 4m21s
🧪✨ Tests Workflow / 🧪 ✨ Database Migrations (push) Successful in 4m35s
🧪✨ Tests Workflow / 🐙 🔍 Code Sniffer (push) Successful in 4m21s
🧪✨ Tests Workflow / 🧪 ✅ Unit Tests (push) Successful in 3m13s
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
|
|
{
|
|
}
|