diff --git a/tests/Unit/AbstractVaultTest.php b/tests/Unit/AbstractVaultTest.php index a5b9b85..10b50f8 100644 --- a/tests/Unit/AbstractVaultTest.php +++ b/tests/Unit/AbstractVaultTest.php @@ -5,17 +5,31 @@ namespace Intervention\HttpAuth\Tests\Unit; use Intervention\HttpAuth\AbstractVault; +use Intervention\HttpAuth\Directive; +use Intervention\HttpAuth\Key; use PHPUnit\Framework\TestCase; final class AbstractVaultTest extends TestCase { - public function testConstructor(): void + private function getTestVault(string $realm, string $username, string $password): AbstractVault { - $vault = $this->getMockForAbstractClass( - AbstractVault::class, - ['myRealm', 'myUsername', 'myPassword'] - ); + return new class ($realm, $username, $password) extends AbstractVault + { + public function getDirective(): Directive + { + return new Directive('test'); + } + + public function unlocksWithKey(Key $key): bool + { + return false; + } + }; + } + public function testConstructor(): void + { + $vault = $this->getTestVault('myRealm', 'myUsername', 'myPassword'); $this->assertEquals('myUsername', $vault->getUsername()); $this->assertEquals('myPassword', $vault->getPassword()); $this->assertEquals('myRealm', $vault->getRealm()); @@ -23,30 +37,21 @@ public function testConstructor(): void public function testSetGetUsername(): void { - $vault = $this->getMockForAbstractClass( - AbstractVault::class, - ['myRealm', 'myUsername', 'myPassword'] - ); + $vault = $this->getTestVault('myRealm', 'myUsername', 'myPassword'); $vault->withUsername('foo'); $this->assertEquals('foo', $vault->getUsername()); } public function testSetGetPassword(): void { - $vault = $this->getMockForAbstractClass( - AbstractVault::class, - ['myRealm', 'myUsername', 'myPassword'] - ); + $vault = $this->getTestVault('myRealm', 'myUsername', 'myPassword'); $vault->withPassword('foo'); $this->assertEquals('foo', $vault->getPassword()); } public function testSetGetRealm(): void { - $vault = $this->getMockForAbstractClass( - AbstractVault::class, - ['myRealm', 'myUsername', 'myPassword'] - ); + $vault = $this->getTestVault('myRealm', 'myUsername', 'myPassword'); $vault->withRealm('foo'); $this->assertEquals('foo', $vault->getRealm()); } diff --git a/tests/Unit/Token/AbstractTokenTest.php b/tests/Unit/Token/AbstractTokenTest.php index 5eede80..c9ae6e8 100644 --- a/tests/Unit/Token/AbstractTokenTest.php +++ b/tests/Unit/Token/AbstractTokenTest.php @@ -12,7 +12,14 @@ final class AbstractTokenTest extends AbstractTokenTestCase { public function testGetKey(): void { - $token = $this->getMockForAbstractClass(AbstractToken::class); + $token = new class () extends AbstractToken + { + public function parseProperties(): array + { + return []; + } + }; + $key = $token->getKey(); $this->assertInstanceOf(Key::class, $key); }