diff --git a/tests/DummyUserProvider.php b/tests/DummyUserProvider.php new file mode 100644 index 0000000000000000000000000000000000000000..507cd14741674a393cceca7d97b33471b183480b --- /dev/null +++ b/tests/DummyUserProvider.php @@ -0,0 +1,35 @@ +<?php + +declare(strict_types=1); + +namespace DBP\API\KeycloakBundle\Tests; + +use DBP\API\KeycloakBundle\Keycloak\KeycloakBearerUserProviderInterface; +use Symfony\Component\Security\Core\Exception\AuthenticationException; +use Symfony\Component\Security\Core\User\UserInterface; + +class DummyUserProvider implements KeycloakBearerUserProviderInterface +{ + private $user; + private $token; + + public function __construct(UserInterface $user, string $token) + { + $this->user = $user; + $this->token = $token; + } + + public function loadUserByToken(string $accessToken): UserInterface + { + if ($this->token !== $accessToken) { + throw new AuthenticationException('invalid token'); + } + + return $this->user; + } + + public function loadUserByValidatedToken(array $jwt): UserInterface + { + return $this->user; + } +} diff --git a/tests/DummyUserSession.php b/tests/DummyUserSession.php new file mode 100644 index 0000000000000000000000000000000000000000..5ac16b1adfd3f05a26205cbbb5786ef57a148c4c --- /dev/null +++ b/tests/DummyUserSession.php @@ -0,0 +1,50 @@ +<?php + +declare(strict_types=1); + +namespace DBP\API\KeycloakBundle\Tests; + +use DBP\API\CoreBundle\API\UserSessionInterface; + +class DummyUserSession implements UserSessionInterface +{ + private $jwt; + private $id; + private $roles; + + public function __construct(?string $id = 'id', array $roles = []) + { + $this->id = $id; + $this->roles = $roles; + } + + public function setSessionToken(?array $jwt): void + { + $this->jwt = $jwt; + } + + public function getUserIdentifier(): ?string + { + return $this->id; + } + + public function getUserRoles(): array + { + return $this->roles; + } + + public function getSessionLoggingId(): ?string + { + return 'logging-id'; + } + + public function getSessionCacheKey(): ?string + { + return 'cache'; + } + + public function getSessionTTL(): int + { + return 42; + } +} diff --git a/tests/Keycloak/KeycloakBearerAuthenticatorTest.php b/tests/Keycloak/KeycloakBearerAuthenticatorTest.php index 77f193e033be51e3768fea5160a366aa26e85c2d..9fb9e6fc6c9e7f7595e3d60bac7568aaa09dc3f1 100644 --- a/tests/Keycloak/KeycloakBearerAuthenticatorTest.php +++ b/tests/Keycloak/KeycloakBearerAuthenticatorTest.php @@ -5,9 +5,9 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase; -use DBP\API\CoreBundle\Keycloak\KeycloakBearerAuthenticator; -use DBP\API\CoreBundle\Keycloak\KeycloakBearerUser; -use DBP\API\CoreBundle\TestUtils\DummyUserProvider; +use DBP\API\KeycloakBundle\Keycloak\KeycloakBearerAuthenticator; +use DBP\API\KeycloakBundle\Keycloak\KeycloakBearerUser; +use DBP\API\KeycloakBundle\Tests\DummyUserProvider; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Security\Core\Exception\BadCredentialsException; diff --git a/tests/Keycloak/KeycloakBearerUserProviderTest.php b/tests/Keycloak/KeycloakBearerUserProviderTest.php index 85d312e022250e9e55e71921a89991d8fdfb60a7..3970fb09791007a6f82c9f7d4fea7fd67e98700b 100644 --- a/tests/Keycloak/KeycloakBearerUserProviderTest.php +++ b/tests/Keycloak/KeycloakBearerUserProviderTest.php @@ -5,8 +5,8 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase; -use DBP\API\CoreBundle\Keycloak\KeycloakBearerUserProvider; -use DBP\API\CoreBundle\TestUtils\DummyUserSession; +use DBP\API\KeycloakBundle\Keycloak\KeycloakBearerUserProvider; +use DBP\API\KeycloakBundle\Tests\DummyUserSession; class KeycloakBearerUserProviderTest extends ApiTestCase { diff --git a/tests/Keycloak/KeycloakBearerUserTest.php b/tests/Keycloak/KeycloakBearerUserTest.php index 534a6229768c02ede5b5ae7c8535bbd9ab2a7b0f..d86bdec830493d2519b39c194331b73bbf30ba27 100644 --- a/tests/Keycloak/KeycloakBearerUserTest.php +++ b/tests/Keycloak/KeycloakBearerUserTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; -use DBP\API\CoreBundle\Keycloak\KeycloakBearerUser; +use DBP\API\KeycloakBundle\Keycloak\KeycloakBearerUser; use PHPUnit\Framework\TestCase; class KeycloakBearerUserTest extends TestCase diff --git a/tests/Keycloak/KeycloakLocalTokenValidatorTest.php b/tests/Keycloak/KeycloakLocalTokenValidatorTest.php index df407d5f467ad002f25ffeb6071a79261fb4ed61..1a4e41eabbe51279039d772f65e9e3c00572fa95 100644 --- a/tests/Keycloak/KeycloakLocalTokenValidatorTest.php +++ b/tests/Keycloak/KeycloakLocalTokenValidatorTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; -use DBP\API\CoreBundle\Keycloak\Keycloak; -use DBP\API\CoreBundle\Keycloak\KeycloakLocalTokenValidator; -use DBP\API\CoreBundle\Keycloak\TokenValidationException; +use DBP\API\KeycloakBundle\Keycloak\Keycloak; +use DBP\API\KeycloakBundle\Keycloak\KeycloakLocalTokenValidator; +use DBP\API\KeycloakBundle\Keycloak\TokenValidationException; use GuzzleHttp\Handler\MockHandler; use GuzzleHttp\HandlerStack; use GuzzleHttp\Psr7\Response; diff --git a/tests/Keycloak/KeycloakRemoteTokenValidatorTest.php b/tests/Keycloak/KeycloakRemoteTokenValidatorTest.php index 3cabaa754409a0da03df669fc93846f289cee4cf..810cac8c178b60309873b563aaa86336291e9c8e 100644 --- a/tests/Keycloak/KeycloakRemoteTokenValidatorTest.php +++ b/tests/Keycloak/KeycloakRemoteTokenValidatorTest.php @@ -4,9 +4,9 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; -use DBP\API\CoreBundle\Keycloak\Keycloak; -use DBP\API\CoreBundle\Keycloak\KeycloakRemoteTokenValidator; -use DBP\API\CoreBundle\Keycloak\TokenValidationException; +use DBP\API\KeycloakBundle\Keycloak\Keycloak; +use DBP\API\KeycloakBundle\Keycloak\KeycloakRemoteTokenValidator; +use DBP\API\KeycloakBundle\Keycloak\TokenValidationException; use GuzzleHttp\Handler\MockHandler; use GuzzleHttp\HandlerStack; use GuzzleHttp\Psr7\Response; diff --git a/tests/Keycloak/KeycloakTest.php b/tests/Keycloak/KeycloakTest.php index 127a6966b7c74c1b2416d5bb3e41fb2389b8305e..8274361fa63f9051fee90660d500e9197d7ecb45 100644 --- a/tests/Keycloak/KeycloakTest.php +++ b/tests/Keycloak/KeycloakTest.php @@ -4,7 +4,7 @@ declare(strict_types=1); namespace DBP\API\KeycloakBundle\Tests\Keycloak; -use DBP\API\CoreBundle\Keycloak\Keycloak; +use DBP\API\KeycloakBundle\Keycloak\Keycloak; use PHPUnit\Framework\TestCase; class KeycloakTest extends TestCase