*/ class TestUserProvider implements UserProviderInterface { /** @var array */ private array $users = []; public function addUser(User $user): void { $this->users[$user->getUserIdentifier()] = $user; } public function refreshUser(UserInterface $user): UserInterface { return $this->loadUserByIdentifier($user->getUserIdentifier()); } public function supportsClass(string $class): bool { return User::class === $class || is_subclass_of($class, User::class); } public function loadUserByIdentifier(string $identifier): UserInterface { if (!isset($this->users[$identifier])) { throw new UserNotFoundException(sprintf('User "%s" not found.', $identifier)); } return $this->users[$identifier]; } }