summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java1544
1 files changed, 710 insertions, 834 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java
index 06070b2e18..43d2998096 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/user/UserBusinessLogicTest.java
@@ -20,859 +20,735 @@
package org.openecomp.sdc.be.user;
+import com.google.common.collect.Lists;
import fj.data.Either;
-import mockit.Deencapsulation;
+import org.apache.commons.lang3.StringUtils;
import org.apache.tinkerpop.gremlin.structure.Edge;
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
import org.javatuples.Pair;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.be.components.impl.ResponseFormatManager;
+import org.openecomp.sdc.be.components.impl.exceptions.ByActionStatusComponentException;
+import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
+import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.dao.janusgraph.JanusGraphGenericDao;
import org.openecomp.sdc.be.dao.utils.UserStatusEnum;
+import org.openecomp.sdc.be.facade.operations.UserOperation;
import org.openecomp.sdc.be.impl.ComponentsUtils;
+import org.openecomp.sdc.be.model.LifecycleStateEnum;
import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
+import org.openecomp.sdc.be.model.operations.StorageException;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.be.model.operations.impl.UserAdminOperation;
+import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.api.UserRoleEnum;
-import org.openecomp.sdc.exception.ResponseFormat;
+import org.openecomp.sdc.common.datastructure.UserContext;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
+import org.openecomp.sdc.common.util.ThreadLocalsHolder;
-import javax.servlet.ServletContext;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
-
+import java.util.Set;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+@RunWith(MockitoJUnitRunner.class)
public class UserBusinessLogicTest {
- @InjectMocks
- UserBusinessLogic testSubject;
- @Mock
- private IUserAdminOperation userAdminOperation;
- @Mock
- private ComponentsUtils componentsUtils;
- @Mock
- private JanusGraphGenericDao janusGraphDao;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- }
-
- @Test
- public void testGetUser() throws Exception {
- String userId = "";
- boolean inTransaction = false;
- Either<User, ActionStatus> result;
-
- // default test
- result = testSubject.getUser(userId, inTransaction);
- }
-
- @Test
- public void testCreateUser() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- // default test
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateUserErrorGetUser() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData(Mockito.anyString(), Mockito.anyBoolean())).thenReturn(value);
-
- // default test
- modifier.setUserId("mock");
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateUserErrorUserNotAdmin() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- User userFromDb = new User();
- userFromDb.setRole(UserRoleEnum.DESIGNER.getName());
- Either<User, ActionStatus> value = Either.left(userFromDb);
- Mockito.when(userAdminOperation.getUserData(Mockito.anyString(), Mockito.anyBoolean())).thenReturn(value);
-
- // default test
- modifier.setUserId("mock");
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateErrorCheckingNewUser() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- User userFromDb = new User();
- userFromDb.setRole(UserRoleEnum.ADMIN.getName());
- Either<User, ActionStatus> value = Either.left(userFromDb);
- Either<User, ActionStatus> value2 = Either.right(ActionStatus.AUTH_REQUIRED);
- Mockito.when(userAdminOperation.getUserData("mockModif", false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData("mockNewUs", false)).thenReturn(value2);
-
- // default test
- modifier.setUserId("mockModif");
- newUser.setUserId("mockNewUs");
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateErrorCheckingNewUser2() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- User userFromDb = new User();
- userFromDb.setRole(UserRoleEnum.ADMIN.getName());
- Either<User, ActionStatus> value = Either.left(userFromDb);
- Either<User, ActionStatus> value2 = Either.right(ActionStatus.USER_ALREADY_EXIST);
- Mockito.when(userAdminOperation.getUserData("mockModif", false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData("mockNewUs", false)).thenReturn(value2);
-
- // default test
- modifier.setUserId("mockModif");
- newUser.setUserId("mockNewUs");
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreate2() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- modifier.setUserId("mockModif");
- newUser.setUserId("mockNewUs");
-
- User userFromDb = new User();
- userFromDb.setRole(UserRoleEnum.ADMIN.getName());
- Either<User, ActionStatus> value = Either.left(userFromDb);
-
- User userFromDb2 = new User();
- Either<User, ActionStatus> value2 = Either.left(userFromDb2);
- Mockito.when(userAdminOperation.getUserData("mockModif", false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData("mockNewUs", false)).thenReturn(value2);
-
- // default test
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateInvalidMail() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- modifier.setUserId("mockModif");
- newUser.setUserId("mockNewUs");
- newUser.setEmail("mock");
-
- User userFromDbAdmin = new User();
- userFromDbAdmin.setRole(UserRoleEnum.ADMIN.getName());
- Either<User, ActionStatus> value = Either.left(userFromDbAdmin);
-
- User userFromDbNew = new User();
- userFromDbNew.setStatus(UserStatusEnum.INACTIVE);
- Either<User, ActionStatus> value2 = Either.left(userFromDbNew);
- Mockito.when(userAdminOperation.getUserData("mockModif", false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData("mockNewUs", false)).thenReturn(value2);
-
- // default test
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testCreateInvalidRole() throws Exception {
- User modifier = new User();
- User newUser = new User();
- Either<User, ResponseFormat> result;
-
- modifier.setUserId("mockModif");
- newUser.setUserId("mockNewUs");
- newUser.setEmail("mock@mock.mock");
- newUser.setRole("mock");
-
- User userFromDbAdmin = new User();
- userFromDbAdmin.setRole(UserRoleEnum.ADMIN.getName());
- Either<User, ActionStatus> value = Either.left(userFromDbAdmin);
-
- User userFromDbNew = new User();
- userFromDbNew.setStatus(UserStatusEnum.INACTIVE);
- Either<User, ActionStatus> value2 = Either.left(userFromDbNew);
- Mockito.when(userAdminOperation.getUserData("mockModif", false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData("mockNewUs", false)).thenReturn(value2);
-
- // default test
- result = testSubject.createUser(modifier, newUser);
- }
-
- @Test
- public void testUpdateUserRoleNoId() throws Exception {
- User modifier = new User();
- String userIdToUpdate = "";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleNotFound() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- String userIdToUpdate = "";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleModifWrongRole() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.DESIGNER.getName());
- String userIdToUpdate = "";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleSameId() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleUpdatedNotFound() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Either<User, ActionStatus> value2 = Either.right(ActionStatus.ECOMP_USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value2);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleUpdatedToInvalidRole() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRolePendingTaskFailed() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = UserRoleEnum.DESIGNER.getName();
- Either<User, ResponseFormat> result;
-
- User updatedUser = new User();
- updatedUser.setUserId(userIdToUpdate);
- updatedUser.setRole(UserRoleEnum.TESTER.getName());
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Either<User, ActionStatus> value2 = Either.left(updatedUser);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value2);
-
- Either<List<Edge>, StorageOperationStatus> value3 = Either.right(StorageOperationStatus.INCONSISTENCY);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleListOfTasksNotEmpty() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = UserRoleEnum.DESIGNER.getName();
- Either<User, ResponseFormat> result;
-
- User updatedUser = new User();
- updatedUser.setUserId(userIdToUpdate);
- updatedUser.setRole(UserRoleEnum.TESTER.getName());
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Either<User, ActionStatus> value2 = Either.left(updatedUser);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value2);
- List<Edge> list = new LinkedList<>();
-
- list.add(new DetachedEdge("sdas", "fdfs", new HashMap<>(),"sadas","sadasd",
- "sadas","sadasd" ));
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(list);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
-
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRoleFailToUpdate() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = UserRoleEnum.DESIGNER.getName();
- Either<User, ResponseFormat> result;
-
- User updatedUser = new User();
- updatedUser.setUserId(userIdToUpdate);
- updatedUser.setRole(UserRoleEnum.TESTER.getName());
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Either<User, ActionStatus> value2 = Either.left(updatedUser);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value2);
- List<Edge> list = new LinkedList<>();
-
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(list);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
- Either<User, StorageOperationStatus> value4 = Either.right(StorageOperationStatus.INCONSISTENCY);
- Mockito.when(userAdminOperation.updateUserData(Mockito.any())).thenReturn(value4);
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testUpdateUserRole() throws Exception {
- User modifier = new User();
- modifier.setUserId("mock");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userIdToUpdate = "mock1";
- String userRole = UserRoleEnum.DESIGNER.getName();
- Either<User, ResponseFormat> result;
-
- User updatedUser = new User();
- updatedUser.setUserId(userIdToUpdate);
- updatedUser.setRole(UserRoleEnum.TESTER.getName());
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Either<User, ActionStatus> value2 = Either.left(updatedUser);
- Mockito.when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(value);
- Mockito.when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(value2);
- List<Edge> list = new LinkedList<>();
-
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(list);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
- Either<User, StorageOperationStatus> value4 = Either.left(updatedUser);
- Mockito.when(userAdminOperation.updateUserData(Mockito.any())).thenReturn(value4);
- // default test
- result = testSubject.updateUserRole(modifier, userIdToUpdate, userRole);
- }
-
- @Test
- public void testGetAllAdminUsers() throws Exception {
- ServletContext context = null;
- Either<List<User>, ResponseFormat> result;
-
- Either<List<User>, ActionStatus> response = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getAllUsersWithRole(Mockito.anyString(), Mockito.nullable(String.class)))
- .thenReturn(response);
- // default test
- result = testSubject.getAllAdminUsers();
- }
-
- @Test
- public void testGetAllAdminUsersFail() throws Exception {
- ServletContext context = null;
- Either<List<User>, ResponseFormat> result;
-
- Either<List<User>, ActionStatus> response = Either.right(ActionStatus.NOT_ALLOWED);
- Mockito.when(userAdminOperation.getAllUsersWithRole(Mockito.anyString(), Mockito.nullable(String.class)))
- .thenReturn(response);
- // default test
- result = testSubject.getAllAdminUsers();
- }
-
- @Test
- public void testGetUsersList1() throws Exception {
- String modifierAttId = "";
- List<String> roles = null;
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- // test 1
- modifierAttId = null;
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
- @Test
- public void testGetUsersListFail() throws Exception {
- String modifierAttId = "mockMod";
- List<String> roles = null;
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- Either<User, ActionStatus> value3 = Either.right(ActionStatus.ILLEGAL_COMPONENT_STATE);
- Mockito.when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
-
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
- @Test
- public void testGetUsersListFail2() throws Exception {
- String modifierAttId = "mockMod";
- List<String> roles = null;
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- Either<User, ActionStatus> value3 = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
-
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
-
- @Test
- public void testGetUsersList() throws Exception {
- String modifierAttId = "mockMod";
- List<String> roles = new LinkedList<>();
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- User a = new User();
- Either<User, ActionStatus> value3 = Either.left(a);
- Mockito.when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
- Either<List<User>, ActionStatus> value = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getAllUsersWithRole(Mockito.nullable(String.class), Mockito.anyString()))
- .thenReturn(value);
-
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
- @Test
- public void testGetUsersListInvalidRole() throws Exception {
- String modifierAttId = "mockMod";
- List<String> roles = new LinkedList<>();
- roles.add("mock");
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- User a = new User();
- Either<User, ActionStatus> value3 = Either.left(a);
- Mockito.when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
- Either<List<User>, ActionStatus> value = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getAllUsersWithRole(Mockito.nullable(String.class), Mockito.anyString()))
- .thenReturn(value);
-
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
- @Test
- public void testGetUsersList2() throws Exception {
- String modifierAttId = "mockMod";
- List<String> roles = new LinkedList<>();
- roles.add(UserRoleEnum.DESIGNER.name());
- String rolesStr = "";
- Either<List<User>, ResponseFormat> result;
-
- User a = new User();
- Either<User, ActionStatus> value3 = Either.left(a);
- Mockito.when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
- Either<List<User>, ActionStatus> value = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getAllUsersWithRole(Mockito.nullable(String.class), Mockito.anyString()))
- .thenReturn(value);
-
- result = testSubject.getUsersList(modifierAttId, roles, rolesStr);
- }
-
-
- @Test
- public void testDeActivateUserMissingID() throws Exception {
- User modifier = new User();
- modifier.setUserId(null);
- String userUniuqeIdToDeactive = "";
- Either<User, ResponseFormat> result;
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserModifierNotFound() throws Exception {
- User modifier = new User();
- modifier.setUserId("mockMod");
- String userUniuqeIdToDeactive = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserModNotAdmin() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.DESIGNER.getName());
- String userUniuqeIdToDeactive = "";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserDeacUserNotFound() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserDeacAndModSame() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockMod";
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserAlreadyInactive() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- User deacUser = new User();
- deacUser.setStatus(UserStatusEnum.INACTIVE);
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(deacUser);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserFailToGetTasks() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- User deacUser = new User();
- deacUser.setStatus(UserStatusEnum.ACTIVE);
- deacUser.setRole(UserRoleEnum.DESIGNER.name());
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(deacUser);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
- Either<List<Edge>, StorageOperationStatus> value3 = Either.right(StorageOperationStatus.INCONSISTENCY);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserWithPendingTasks() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- User deacUser = new User();
- deacUser.setStatus(UserStatusEnum.ACTIVE);
- deacUser.setRole(UserRoleEnum.DESIGNER.name());
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(deacUser);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
- LinkedList<Edge> a = new LinkedList<>();
- a.add(new DetachedEdge(userUniuqeIdToDeactive, userUniuqeIdToDeactive, new HashMap<>(),
- "dsfds","dsfds", "dsfds", "dsfds"));
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(a);
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
-
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUserDeacFail() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- User deacUser = new User();
- deacUser.setStatus(UserStatusEnum.ACTIVE);
- deacUser.setRole(UserRoleEnum.DESIGNER.name());
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(deacUser);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
- Either<User, StorageOperationStatus> value4 = Either.right(StorageOperationStatus.BAD_REQUEST);
- Mockito.when(userAdminOperation.deActivateUser(deacUser)).thenReturn(value4);
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testDeActivateUser() throws Exception {
-
- User modifier = new User();
- modifier.setUserId("mockMod");
- modifier.setRole(UserRoleEnum.ADMIN.getName());
- String userUniuqeIdToDeactive = "mockDU";
- User deacUser = new User();
- deacUser.setStatus(UserStatusEnum.ACTIVE);
- deacUser.setRole(UserRoleEnum.DESIGNER.name());
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(modifier);
- Mockito.when(userAdminOperation.getUserData("mockMod", false)).thenReturn(value);
- Either<User, ActionStatus> value2 = Either.left(deacUser);
- Mockito.when(userAdminOperation.getUserData("mockDU", false)).thenReturn(value2);
- Either<List<Edge>, StorageOperationStatus> value3 = Either.left(new LinkedList<>());
- Mockito.when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(value3);
- Either<User, StorageOperationStatus> value4 = Either.left(deacUser);
- Mockito.when(userAdminOperation.deActivateUser(deacUser)).thenReturn(value4);
- // default test
- result = testSubject.deActivateUser(modifier, userUniuqeIdToDeactive);
- }
-
- @Test
- public void testAuthorizeMissingId() throws Exception {
- User authUser = new User();
- Either<User, ResponseFormat> result;
-
- // default test
- result = testSubject.authorize(authUser);
- }
-
- @Test
- public void testAuthorizeFail1() throws Exception {
- User authUser = new User();
- authUser.setUserId("mockAU");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
- // default test
- result = testSubject.authorize(authUser);
- }
-
- @Test
- public void testAuthorizeFail2() throws Exception {
- User authUser = new User();
- authUser.setUserId("mockAU");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.AAI_ARTIFACT_GENERATION_FAILED);
- Mockito.when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
- // default test
- result = testSubject.authorize(authUser);
- }
-
- @Test
- public void testAuthorizeFail3() throws Exception {
- User authUser = new User();
- authUser.setUserId("mockAU");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(null);
- Mockito.when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
- // default test
- result = testSubject.authorize(authUser);
- }
-
-
- @Test
- public void testAuthorize5() throws Exception {
- User authUser = new User();
- authUser.setUserId("mockAU");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(authUser);
- Mockito.when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
- Either<User, StorageOperationStatus> value2 = Either.left(authUser);
- Mockito.when(userAdminOperation.updateUserData(Mockito.any(User.class))).thenReturn(value2);
- // default test
- result = testSubject.authorize(authUser);
- }
-
- @Test
- public void testUpdateUserCredentialsMissingId() throws Exception {
- User updatedUserCred = new User();
- updatedUserCred.setUserId(null);
- Either<User, ResponseFormat> result;
-
- // default test
- result = testSubject.updateUserCredentials(updatedUserCred);
- }
-
- @Test
- public void testUpdateUserCredentialsFailedToGet() throws Exception {
- User updatedUserCred = new User();
- updatedUserCred.setUserId("mock");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
- Mockito.when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserCredentials(updatedUserCred);
- }
-
- @Test
- public void testUpdateUserCredentialsFailedToGet2() throws Exception {
- User updatedUserCred = new User();
- updatedUserCred.setUserId("mock");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.right(ActionStatus.ADDITIONAL_INFORMATION_ALREADY_EXISTS);
- Mockito.when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserCredentials(updatedUserCred);
- }
-
- @Test
- public void testUpdateUserCredentialsFailedToGet3() throws Exception {
- User updatedUserCred = new User();
- updatedUserCred.setUserId("mock");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(null);
- Mockito.when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
-
- // default test
- result = testSubject.updateUserCredentials(updatedUserCred);
- }
-
- @Test
- public void testUpdateUserCredentials() throws Exception {
- User updatedUserCred = new User();
- updatedUserCred.setUserId("mock");
- Either<User, ResponseFormat> result;
-
- Either<User, ActionStatus> value = Either.left(updatedUserCred);
- Mockito.when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
-
- Either<User, StorageOperationStatus> value2 = Either.left(updatedUserCred);
- Mockito.when(userAdminOperation.updateUserData(Mockito.any(User.class))).thenReturn(value2);
-
- // default test
- result = testSubject.updateUserCredentials(updatedUserCred);
- }
-
- @Test
- public void testGetPendingUserPendingTasksWithCommit() throws Exception {
- Either<List<Edge>, StorageOperationStatus> result;
- User user = new User();
- for (UserRoleEnum iterable_element : UserRoleEnum.values()) {
- user.setRole(iterable_element.name());
- result = Deencapsulation.invoke(testSubject, "getPendingUserPendingTasksWithCommit", user);
- }
-
- }
-
- @Test
- public void testGetUserPendingTaskStatusByRole() throws Exception {
- String result;
- for (UserRoleEnum iterable_element : UserRoleEnum.values()) {
- result = Deencapsulation.invoke(testSubject, "getUserPendingTaskStatusByRole", iterable_element);
- }
- }
+ private static final String MOCK_MAIL = "mock@mock.mock";
+ private static final String MOCK_MODIFIER = "mockModif";
+ private static final String MOCK_NEW_USER = "mockNewUs";
+ @Mock
+ private UserAdminOperation userAdminOperation;
+ @Mock
+ private ComponentsUtils componentsUtils;
+ @Mock
+ private UserOperation facadeUserOperation;
+ @Mock
+ private User user;
+ @Mock
+ private User userNull;
+ @InjectMocks
+ private UserBusinessLogic testSubject;
+
+ static ResponseFormatManager responseFormatManager = new ResponseFormatManager();
+ private static ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be");
+ static ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+
+ @Before
+ public void setUp() {
+ doThrow(new ByActionStatusComponentException(ActionStatus.GENERAL_ERROR)).when(componentsUtils).auditAdminUserActionAndThrowException(any(), any(), any(), any(), any(), any());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateUserErrorGetUser() {
+ User newUser = new User();
+ when(userAdminOperation.getUserData(Mockito.anyString(), Mockito.anyBoolean())).thenReturn(Either.right(ActionStatus.USER_NOT_FOUND));
+ // default test
+ testSubject.createUser("mock", newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+// @Test(expected = ComponentException.class)
+// public void testGetUserContextNull() {
+// testSubject.getUser("userId");
+// }
+
+ @Test(expected = ComponentException.class)
+ public void testGetUserContextIdEmpty() {
+ UserContext userContext = new UserContext(null);
+ ThreadLocalsHolder.setUserContext(userContext);
+
+ testSubject.getUser(null);
+ }
+
+ @Test
+ public void testGetUserContext() {
+ UserContext originalUserContext = ThreadLocalsHolder.getUserContext();
+ String userId = "userId";
+ Set<String> userRoles = new HashSet<>();
+ userRoles.add(Role.DESIGNER.name());
+ UserContext userContext = new UserContext(userId, userRoles, "test" ,"User");
+
+ User user = new User();
+ user.setUserId(userId);
+ user.setRole(Role.DESIGNER.name());
+ user.setStatus(UserStatusEnum.ACTIVE);
+ user.setFirstName("test");
+ user.setLastName("User");
+
+ getAndValidateUser(originalUserContext, userId, userContext, user);
+ }
+
+ private void getAndValidateUser(UserContext originalUserContext, String userId, UserContext userContext, User user) {
+ try {
+ ThreadLocalsHolder.setUserContext(userContext);
+ User convertedUser = testSubject.getUser(userId);
+ assertThat(convertedUser).isEqualTo(user);
+ }
+ finally {
+ ThreadLocalsHolder.setUserContext(originalUserContext);
+ }
+ }
+
+ @Test
+ public void testGetUserContextInActive() {
+ UserContext originalUserContext = ThreadLocalsHolder.getUserContext();
+ String userId = "userId";
+ //Set<String> userRoles = new HashSet<>();
+ //userRoles.add(Role.DESIGNER.name());
+ UserContext userContext = new UserContext(userId, null, "test" ,"User");
+
+ User user = new User();
+ user.setUserId(userId);
+ user.setRole(null);
+ user.setStatus(UserStatusEnum.INACTIVE);
+ user.setFirstName("test");
+ user.setLastName("User");
+
+ getAndValidateUser(originalUserContext, userId, userContext, user);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateUserErrorUserNotAdmin() {
+ User newUser = new User();
+ User userFromDb = new User();
+ userFromDb.setRole(UserRoleEnum.DESIGNER.getName());
+ when(userAdminOperation.getUserData(Mockito.anyString(), Mockito.anyBoolean())).thenReturn(Either.left(userFromDb));
+ testSubject.createUser("mock", newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateErrorCheckingNewUser() {
+ User newUser = new User(MOCK_NEW_USER);
+ User modifierFromDb = new User(MOCK_MODIFIER);
+ modifierFromDb.setRole(UserRoleEnum.ADMIN.getName());
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(Either.left(modifierFromDb));
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(Either.right(ActionStatus.AUTH_REQUIRED));
+
+ // default test
+ testSubject.createUser(MOCK_MODIFIER, newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateErrorCheckingNewUser2() {
+ User newUser = new User(MOCK_NEW_USER);
+ User modifierFromDb = new User(MOCK_MODIFIER);
+ modifierFromDb.setRole(UserRoleEnum.ADMIN.getName());
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(Either.left(modifierFromDb));
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(Either.right(ActionStatus.USER_ALREADY_EXIST));
+
+ // default test
+ testSubject.createUser(MOCK_MODIFIER, newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreate_userExists_fails() {
+ User newUser = new User(MOCK_NEW_USER);
+ User modifierFromDb = new User(MOCK_MODIFIER);
+ modifierFromDb.setRole(UserRoleEnum.ADMIN.getName());
+ User userFromDb2 = new User();
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(Either.left(modifierFromDb));
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(Either.left(userFromDb2));
+ testSubject.createUser(MOCK_MODIFIER, newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateInvalidMail() {
+ User newUser = new User(MOCK_NEW_USER);
+ newUser.setEmail("mock");
+
+ User userFromDbAdmin = new User(MOCK_MODIFIER);
+ userFromDbAdmin.setRole(UserRoleEnum.ADMIN.getName());
+
+ User userFromDbNew = new User();
+ userFromDbNew.setStatus(UserStatusEnum.INACTIVE);
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(Either.left(userFromDbAdmin));
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(Either.left(userFromDbNew));
+ testSubject.createUser(MOCK_MODIFIER, newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testCreateInvalidRole() {
+ User newUser = new User(MOCK_NEW_USER);
+ newUser.setEmail(MOCK_MAIL);
+ newUser.setRole("mock");
+
+ User userFromDbAdmin = new User(MOCK_MODIFIER);
+ userFromDbAdmin.setRole(UserRoleEnum.ADMIN.getName());
+ User userFromDbNew = new User();
+ userFromDbNew.setStatus(UserStatusEnum.INACTIVE);
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(Either.left(userFromDbAdmin));
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(Either.left(userFromDbNew));
+ testSubject.createUser(MOCK_MODIFIER, newUser);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test
+ public void testCreateValidUser() throws Exception {
+ User newUser = new User();
+ newUser.setUserId(MOCK_NEW_USER);
+ newUser.setEmail(MOCK_MAIL);
+ newUser.setRole(UserRoleEnum.DESIGNER.name());
+
+ User userFromDbAdmin = new User();
+ userFromDbAdmin.setUserId(MOCK_MODIFIER);
+ userFromDbAdmin.setRole(UserRoleEnum.ADMIN.getName());
+ Either<User, ActionStatus> value = Either.left(userFromDbAdmin);
+
+ User userFromDbNew = new User();
+ userFromDbNew.setStatus(UserStatusEnum.INACTIVE);
+ Either<User, ActionStatus> value2 = Either.right(ActionStatus.USER_NOT_FOUND);
+ when(userAdminOperation.getUserData(MOCK_MODIFIER, false)).thenReturn(value);
+ when(userAdminOperation.getUserData(MOCK_NEW_USER, false)).thenReturn(value2);
+ when(userAdminOperation.saveUserData(newUser)).thenReturn(newUser);
+
+ // test
+ User resultUser = testSubject.createUser(MOCK_MODIFIER, newUser);
+ assertThat(resultUser).isEqualTo(newUser);
+
+ verify(facadeUserOperation).updateUserCache(UserOperationEnum.CREATE, newUser.getUserId(), newUser.getRole());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserRoleNotFound() {
+ User modifier = new User(MOCK_MODIFIER);
+ String userIdToUpdate = "";
+ String userRole = "";
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.right(ActionStatus.USER_NOT_FOUND));
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserRoleModifierWrongRole() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.DESIGNER.getName());
+ String userIdToUpdate = "";
+ String userRole = "";
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserRoleSameId() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userRole = "";
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ testSubject.updateUserRole(MOCK_MODIFIER, MOCK_MODIFIER, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserRoleUpdatedNotFound() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = "";
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.right(ActionStatus.ECOMP_USER_NOT_FOUND));
+
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserRoleUpdatedToInvalidRole() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = "";
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(modifier));
+
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = StorageException.class)
+ public void testUpdateUserRolePendingTaskFetchFailed() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.DESIGNER.getName();
+
+ User updatedUser = new User();
+ updatedUser.setUserId(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.TESTER.getName());
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenThrow(new StorageException(StorageOperationStatus.INCONSISTENCY));
+
+ // default test
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test
+ public void testUpdateTesterRole_taskStateCriteriaShouldBeEmpty_shouldSucceed() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.DESIGNER.getName();
+
+ User updatedUser = new User(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.TESTER.getName());
+
+ User newUser = new User();
+ newUser.setUserId(userIdToUpdate);
+ newUser.setRole(UserRoleEnum.DESIGNER.getName());
+ List<Object> testerState = new ArrayList<>();
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ when(userAdminOperation.getUserPendingTasksList(eq(updatedUser), eq(testerState))).thenReturn(new LinkedList<>());
+ when(userAdminOperation.updateUserData(newUser)).thenReturn(updatedUser);
+
+ // default test
+ User user = testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+ assertThat(user).isEqualToComparingFieldByField(updatedUser);
+
+ verify(facadeUserOperation).updateUserCache(UserOperationEnum.CHANGE_ROLE, userIdToUpdate, UserRoleEnum.TESTER.name());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateDesignerRoleListOfTasksNotEmpty_shouldFail() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.TESTER.getName();
+
+ User updatedUser = new User();
+ updatedUser.setUserId(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.DESIGNER.getName());
+
+ List<Object> designerState = new ArrayList<>();
+ designerState.add(LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT.name());
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ List<Edge> list = new LinkedList<>();
+ list.add(new DetachedEdge("sdas", "fdfs", new HashMap<>(), Pair.with("sadas", "sadasd"), "",
+ Pair.with("sadas", "sadasd"), ""));
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test(expected = StorageException.class)
+ public void testUpdateUserRoleStorageError_shouldFail() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.DESIGNER.getName();
+
+ User updatedUser = new User(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.TESTER.getName());
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(new LinkedList<>());
+ when(userAdminOperation.updateUserData(Mockito.any())).thenThrow(new StorageException(StorageOperationStatus.INCONSISTENCY));
+ // default test
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation, never()).updateUserCache(any(UserOperationEnum.class), anyString(), anyString());
+ }
+
+ @Test
+ public void testUpdateUserRoleEmptyTaskList_shouldSucceed() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.DESIGNER.getName();
+
+ User updatedUser = new User();
+ updatedUser.setUserId(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.TESTER.getName());
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ when(userAdminOperation.getUserPendingTasksList(Mockito.any(), Mockito.any())).thenReturn(new LinkedList<>());
+ when(userAdminOperation.updateUserData(Mockito.any())).thenReturn(updatedUser);
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+
+ verify(facadeUserOperation).updateUserCache(UserOperationEnum.CHANGE_ROLE, userIdToUpdate, UserRoleEnum.TESTER.name());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateRoleToTester_shouldFail() {
+ User modifier = new User(MOCK_MODIFIER);
+ modifier.setRole(UserRoleEnum.ADMIN.getName());
+ String userIdToUpdate = "mock1";
+ String userRole = UserRoleEnum.TESTER.getName();
+
+ User updatedUser = new User();
+ updatedUser.setUserId(userIdToUpdate);
+ updatedUser.setRole(UserRoleEnum.TESTER.getName());
+
+ when(userAdminOperation.getUserData(modifier.getUserId(), false)).thenReturn(Either.left(modifier));
+ when(userAdminOperation.getUserData(userIdToUpdate, false)).thenReturn(Either.left(updatedUser));
+ testSubject.updateUserRole(MOCK_MODIFIER, userIdToUpdate, userRole);
+ }
+
+ @Test
+ public void testGetAllAdminUsers() {
+ Either<List<User>, ActionStatus> response = Either.left(new LinkedList<>());
+ when(userAdminOperation.getAllUsersWithRole(anyString(), Mockito.nullable(String.class)))
+ .thenReturn(response);
+ assertEquals(0, testSubject.getAllAdminUsers().size());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testGetAllAdminUsersFail() {
+ Either<List<User>, ActionStatus> response = Either.right(ActionStatus.NOT_ALLOWED);
+ when(userAdminOperation.getAllUsersWithRole(anyString(), Mockito.nullable(String.class)))
+ .thenReturn(response);
+ testSubject.getAllAdminUsers();
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testGetUsersList1() {
+ // test 1
+ testSubject.getUsersList(null, null, "");
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testGetUsersListFail() {
+ String modifierAttId = "mockMod";
+ String rolesStr = "";
+
+ Either<User, ActionStatus> value3 = Either.right(ActionStatus.ILLEGAL_COMPONENT_STATE);
+ when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
+ testSubject.getUsersList(modifierAttId, null, rolesStr);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testGetUsersListFail2() {
+ String modifierAttId = "mockMod";
+ String rolesStr = "";
+
+ Either<User, ActionStatus> value3 = Either.right(ActionStatus.USER_NOT_FOUND);
+ when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
+ testSubject.getUsersList(modifierAttId, null, rolesStr);
+ }
+
+
+ @Test
+ public void testGetUsersList() {
+ String modifierAttId = "mockMod";
+ List<String> roles = new LinkedList<>();
+ String rolesStr = "";
+
+ User a = new User();
+ Either<User, ActionStatus> value3 = Either.left(a);
+ when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
+ Either<List<User>, ActionStatus> value = Either.left(new LinkedList<>());
+ when(userAdminOperation.getAllUsersWithRole(Mockito.nullable(String.class), anyString()))
+ .thenReturn(value);
+
+ assertEquals(0, testSubject.getUsersList(modifierAttId, roles, rolesStr).size());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testGetUsersListInvalidRole() {
+ String modifierAttId = "mockMod";
+ List<String> roles = new LinkedList<>();
+ roles.add("mock");
+ String rolesStr = "";
+
+ User a = new User();
+ Either<User, ActionStatus> value3 = Either.left(a);
+ when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
+ testSubject.getUsersList(modifierAttId, roles, rolesStr);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testAuthorizeMissingId() {
+ User authUser = new User();
+ testSubject.authorize(authUser);
+ }
+
+ @Test
+ public void testGetUsersList2() {
+ String modifierAttId = "mockMod";
+ List<String> roles = new LinkedList<>();
+ roles.add(UserRoleEnum.DESIGNER.name());
+ String rolesStr = "";
+
+ User a = new User();
+ Either<User, ActionStatus> value3 = Either.left(a);
+ when(userAdminOperation.getUserData(modifierAttId, false)).thenReturn(value3);
+ Either<List<User>, ActionStatus> value = Either.left(new LinkedList<>());
+ when(userAdminOperation.getAllUsersWithRole(Mockito.nullable(String.class), anyString()))
+ .thenReturn(value);
+
+ assertEquals(0, testSubject.getUsersList(modifierAttId, roles, rolesStr).size());
+ }
+
+
+ @Test(expected = ComponentException.class)
+ public void testAuthorizeFail1() {
+ User authUser = new User();
+ authUser.setUserId("mockAU");
+
+ Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
+ when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
+ testSubject.authorize(authUser);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testAuthorizeFail2() {
+ User authUser = new User();
+ authUser.setUserId("mockAU");
+
+ Either<User, ActionStatus> value = Either.right(ActionStatus.AAI_ARTIFACT_GENERATION_FAILED);
+ when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
+ testSubject.authorize(authUser);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testAuthorizeFail3() {
+ User authUser = new User();
+ authUser.setUserId("mockAU");
+
+ Either<User, ActionStatus> value = Either.left(null);
+ when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
+ testSubject.authorize(authUser);
+ }
+
+
+ @Test
+ public void testAuthorize5() {
+ User authUser = new User();
+ authUser.setUserId("mockAU");
+
+ Either<User, ActionStatus> value = Either.left(authUser);
+ when(userAdminOperation.getUserData("mockAU", false)).thenReturn(value);
+ when(userAdminOperation.updateUserData(Mockito.any(User.class))).thenReturn(authUser);
+ assertEquals(authUser.getUserId(), testSubject.authorize(authUser).getUserId());
+ }
+
+ @Test
+ public void testUpdateUserCredentialsMissingId() {
+ User updatedUserCred = new User();
+ updatedUserCred.setUserId(null);
+ assertTrue(testSubject.updateUserCredentials(updatedUserCred).isRight());
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserCredentialsFailedToGet() {
+ User updatedUserCred = new User();
+ updatedUserCred.setUserId("mock");
+
+ Either<User, ActionStatus> value = Either.right(ActionStatus.USER_NOT_FOUND);
+ when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
+ testSubject.updateUserCredentials(updatedUserCred);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserCredentialsFailedToGet2() {
+ User updatedUserCred = new User();
+ updatedUserCred.setUserId("mock");
+
+ Either<User, ActionStatus> value = Either.right(ActionStatus.ADDITIONAL_INFORMATION_ALREADY_EXISTS);
+ when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
+ testSubject.updateUserCredentials(updatedUserCred);
+ }
+
+ @Test(expected = ComponentException.class)
+ public void testUpdateUserCredentialsFailedToGet3() {
+ User updatedUserCred = new User();
+ updatedUserCred.setUserId("mock");
+
+ Either<User, ActionStatus> value = Either.left(null);
+ when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
+ testSubject.updateUserCredentials(updatedUserCred);
+ }
+
+ @Test
+ public void testUpdateUserCredentials() {
+ User updatedUserCred = new User();
+ updatedUserCred.setUserId("mock");
+
+ Either<User, ActionStatus> value = Either.left(updatedUserCred);
+ when(userAdminOperation.getUserData("mock", false)).thenReturn(value);
+
+ when(userAdminOperation.updateUserData(Mockito.any(User.class))).thenReturn(updatedUserCred);
+ assertEquals(updatedUserCred.getUserId(),
+ testSubject.updateUserCredentials(updatedUserCred).left().value().getUserId());
+ }
+
+ @Test
+ public void getUsersPerRoleWhenListIsEmpty() {
+ when(userAdminOperation.getAllUsersWithRole(any(), any()))
+ .thenReturn(Either.left(Lists.newArrayList()));
+ assertEquals(0, testSubject.getUsersPerRole("all", user, "").left().value().size());
+ }
+
+ @Test
+ public void getUsersPerRoleWhenListHasMixedElements() {
+ List<User> users = Lists.newArrayList(user, userNull);
+ when(user.getUserId()).thenReturn("123");
+ when(userNull.getUserId()).thenReturn(null);
+ when(userAdminOperation.getAllUsersWithRole(any(), any()))
+ .thenReturn(Either.left(users));
+ List<User> result = testSubject.getUsersPerRole("all", user, "").left().value();
+
+ assertEquals(1, result.size());
+ assertTrue(StringUtils.isNotEmpty(result.get(0).getUserId()));
+ }
+
+ @Test
+ public void getUsersPerRoleWhenListHasNoneNullElements() {
+ List<User> users = Lists.newArrayList(user, user);
+ when(user.getUserId()).thenReturn("123");
+ when(userAdminOperation.getAllUsersWithRole(any(), any()))
+ .thenReturn(Either.left(users));
+ List<User> result = testSubject.getUsersPerRole("all", user, "").left().value();
+
+ assertEquals(2, result.size());
+ assertTrue(StringUtils.isNotEmpty(result.get(0).getUserId()) && StringUtils.isNotEmpty(result.get(1).getUserId()));
+ }
+
+ @Test
+ public void getUsersPerRoleWhenListHasNullElements() {
+ List<User> users = Lists.newArrayList(userNull);
+ when(userNull.getUserId()).thenReturn(null);
+ when(userAdminOperation.getAllUsersWithRole(any(), any()))
+ .thenReturn(Either.left(users));
+ List<User> result = testSubject.getUsersPerRole("all", user, "").left().value();
+
+ assertEquals(0, result.size());
+ }
+
+ @Test
+ public void testHasActiveUserTrue() {
+ UserContext originalUserContext = null;
+ try {
+ originalUserContext = ThreadLocalsHolder.getUserContext();
+ String userId = "mock";
+ Set<String> userRoles = new HashSet<>();
+ userRoles.add(Role.DESIGNER.name());
+ UserContext userContext = new UserContext(userId, userRoles, "test" ,"User");
+ ThreadLocalsHolder.setUserContext(userContext);
+
+ assertThat(testSubject.hasActiveUser(userId)).isTrue();
+ } finally {
+ ThreadLocalsHolder.setUserContext(originalUserContext);
+ }
+ }
+
+ @Test
+ public void testHasActiveUserFalseNoRoles() {
+ UserContext originalUserContext = null;
+ try {
+ originalUserContext = ThreadLocalsHolder.getUserContext();
+ String userId = "mock";
+ Set<String> userRoles = new HashSet<>();
+ UserContext userContext = new UserContext(userId, userRoles, "test" ,"User");
+ ThreadLocalsHolder.setUserContext(userContext);
+
+ assertThat(testSubject.hasActiveUser(userId)).isFalse();
+ } finally {
+ ThreadLocalsHolder.setUserContext(originalUserContext);
+ }
+ }
+
+ @Test
+ public void testHasActiveUserFalseNullUserContext() {
+ UserContext originalUserContext = null;
+ try {
+ originalUserContext = ThreadLocalsHolder.getUserContext();
+ ThreadLocalsHolder.setUserContext(null);
+
+ assertThat(testSubject.hasActiveUser(null)).isFalse();
+ } finally {
+ ThreadLocalsHolder.setUserContext(originalUserContext);
+ }
+ }
}