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