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

add junittests

parent ea49f5f8
No related branches found
No related tags found
No related merge requests found
package de.ozgcloud.operator.elstertransfer.user;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 {
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
......@@ -134,14 +152,12 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
when(users.getUsersList()).thenReturn(List.of(Map.of(
"login", "testUser",
"rolle", "USER",
"credentials", Map.of("passwortHash", "hashedPassword"),
"gruppe", "testGroup")));
when(service.getUsersFromConfigMap(configMap)).thenReturn(users);
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(true);
......@@ -166,7 +182,6 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
when(service.userExists(namespace, configMapNamespace, configMapName)).thenReturn(false);
......@@ -181,7 +196,6 @@ class OzgCloudElsterTransferUserServiceTest {
String mockedUsersYaml = "fileFormat: 1\nusers:\n - login: testUser\n";
when(configMap.getData()).thenReturn(Map.of("users.yaml", mockedUsersYaml));
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
when(users.getUsersList()).thenReturn(List.of(Map.of(
"login", "testUser",
"rolle", "USER",
......@@ -249,6 +263,24 @@ class OzgCloudElsterTransferUserServiceTest {
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
void shouldCalladdUserToUserYaml() {
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