diff --git a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java index 1cc57966d5c47d23923e5a6a8d72539826393fe2..7c83d831c799ad9ab738afbf97bd12dc24941bf2 100644 --- a/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java +++ b/user-manager-server/src/main/java/de/itvsh/kop/user/UserService.java @@ -11,6 +11,7 @@ import de.itvsh.kop.user.common.errorhandling.ResourceNotFoundException; @ApplicationScoped public class UserService { + static final String UUID_PATTERN = "-"; @Inject UserRepository repository; @@ -45,7 +46,7 @@ public class UserService { } public User findById(String id) { - if (id.contains("-")) { + if (id.contains(UUID_PATTERN)) { // TODO wenn user migriert wurden wieder entfernen. return repository.findByExternalId(id).orElseThrow(() -> new ResourceNotFoundException(User.class, id)); } diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java index 9b683fdc465604b217e3d5bd3023461cc1af870d..79d93d23f090f4bd5055a56344345dc7b67b22e9 100644 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java +++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserServiceTest.java @@ -5,6 +5,7 @@ import static org.mockito.Mockito.*; import java.time.Instant; import java.util.Optional; +import java.util.UUID; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; @@ -23,6 +24,28 @@ class UserServiceTest { @Mock KeycloakUserRemoteService keycloakRemoteService; + @DisplayName("Find") + @Nested + class TestFind { + @Test + void shouldCallFindById() { + when(repository.findById(anyString())).thenReturn(Optional.of(UserTestFactory.create())); + + service.findById("xxx"); + + verify(repository).findById(anyString()); + } + + @Test + void shouldCallFindByExternalId() { + when(repository.findByExternalId(any())).thenReturn(Optional.of(UserTestFactory.create())); + + service.findById(UUID.randomUUID().toString()); + + verify(repository).findByExternalId(anyString()); + } + } + @DisplayName("Save") @Nested class TestSave {