Skip to content
Snippets Groups Projects
Commit c0a2be58 authored by OZGCloud's avatar OZGCloud
Browse files

add junittests

parent ea49f5f8
Branches
Tags
No related merge requests found
package de.ozgcloud.operator.elstertransfer.user; package de.ozgcloud.operator.elstertransfer.user;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
......
package de.ozgcloud.operator.elstertransfer.user;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.util.*;
import static org.junit.jupiter.api.Assertions.*;
class ConfigMapUserListTest {
private ConfigMapUserList configMapUserList;
private List<Map<String, Object>> users;
@BeforeEach
void setUp() {
users = new ArrayList<>();
Map<String, Object> user = Map.of(
"login", "user1",
"rolle", "USER",
"credentials", Map.of("passwortHash", "$2a$12$abc123"),
"gruppe", "user1"
);
users.add(user);
configMapUserList = new ConfigMapUserList(users);
}
@Nested
class ExistsUserTests {
@Test
void shouldReturnTrueWhenUserExists() {
assertTrue(configMapUserList.existsUser("user1"));
}
@Test
void shouldReturnFalseWhenUserDoesNotExist() {
assertFalse(configMapUserList.existsUser("nonExistentUser"));
}
}
@Nested
class AddUserTests {
@Test
void shouldAddUserCorrectly() {
configMapUserList.addUserToList("newUser", "$2a$12$newHash", "USER");
assertTrue(configMapUserList.existsUser("newUser"));
Map<String, Object> addedUser = configMapUserList.getUsersList()
.stream()
.filter(user -> "newUser".equals(user.get("login")))
.findFirst()
.orElseThrow();
assertEquals("USER", addedUser.get("rolle"));
assertEquals(Map.of("passwortHash", "$2a$12$newHash"), addedUser.get("credentials"));
assertEquals("newUser", addedUser.get("gruppe"));
}
}
@Nested
class RemoveUserTests {
@Test
void shouldRemoveUserCorrectly() {
configMapUserList.removeDeleted("user1");
assertFalse(configMapUserList.existsUser("user1"));
}
}
@Nested
class GetUsersListTests {
@Test
void shouldReturnCurrentUsersList() {
List<Map<String, Object>> userList = configMapUserList.getUsersList();
assertEquals(1, userList.size());
Map<String, Object> user = userList.get(0);
assertEquals("user1", user.get("login"));
assertEquals("USER", user.get("rolle"));
assertEquals(Map.of("passwortHash", "$2a$12$abc123"), user.get("credentials"));
assertEquals("user1", user.get("gruppe"));
}
@Test
void shouldReturnEmptyListIfNoUsers() {
ConfigMapUserList emptyConfigMapUserList = new ConfigMapUserList(new ArrayList<>());
assertTrue(emptyConfigMapUserList.getUsersList().isEmpty(), "Users list should be empty");
}
}
}
...@@ -83,6 +83,24 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -83,6 +83,24 @@ class OzgCloudElsterTransferUserServiceTest {
verify(service).createOrUpdateSecret(namespace, psw, secretName); verify(service).createOrUpdateSecret(namespace, psw, secretName);
} }
@Test
void shouldNotCallRestartDeployment() {
when(service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName)).thenReturn("");
service.updateConfigMapAndRestartDeploymentAndCreateSecret(namespace);
verify(service, never()).restartDeployment(any(), any());
}
@Test
void shouldNotCallCreateOrUpdateSecret() {
when(service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName)).thenReturn("");
service.updateConfigMapAndRestartDeploymentAndCreateSecret(namespace);
verify(service, never()).createOrUpdateSecret(any(), any(), any());
}
} }
@Nested @Nested
...@@ -134,14 +152,12 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -134,14 +152,12 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n"; String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml)); when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap); when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
when(users.getUsersList()).thenReturn(List.of(Map.of( when(users.getUsersList()).thenReturn(List.of(Map.of(
"login", "testUser", "login", "testUser",
"rolle", "USER", "rolle", "USER",
"credentials", Map.of("passwortHash", "hashedPassword"), "credentials", Map.of("passwortHash", "hashedPassword"),
"gruppe", "testGroup"))); "gruppe", "testGroup")));
when(service.getUsersFromConfigMap(configMap)).thenReturn(users); when(service.getUsersFromConfigMap(configMap)).thenReturn(users);
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create(); OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(true); when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(true);
...@@ -166,7 +182,6 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -166,7 +182,6 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n"; String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml)); when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap); when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create(); OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(false); when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(false);
...@@ -181,7 +196,6 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -181,7 +196,6 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n"; String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml)); when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap); when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
when(users.getUsersList()).thenReturn(List.of(Map.of( when(users.getUsersList()).thenReturn(List.of(Map.of(
"login", "testUser", "login", "testUser",
"rolle", "USER", "rolle", "USER",
...@@ -249,6 +263,24 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -249,6 +263,24 @@ class OzgCloudElsterTransferUserServiceTest {
verify(service, never()).updateConfigMap(any(), any(), any(), anyString()); verify(service, never()).updateConfigMap(any(), any(), any(), anyString());
} }
@Test
void shouldSetUserPSEmptyWWhenUserYamlEmpty() {
when(service.generatePassword()).thenReturn("psw");
when(service.addUserToUserYaml(namespace, configMap, "psw")).thenReturn("");
String userPassword = service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
assertTrue(userPassword.isEmpty());
}
@Test
void shouldSetUserPSWWhenUserYamlNotEmpty() {
when(service.generatePassword()).thenReturn("psw");
when(service.addUserToUserYaml(namespace, configMap, "psw")).thenReturn("someYaml");
String userPassword = service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
assertFalse(userPassword.isEmpty());
}
@Test @Test
void shouldCalladdUserToUserYaml() { void shouldCalladdUserToUserYaml() {
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName); service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment