aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/validation
diff options
context:
space:
mode:
authorTomasz Golabek <tomasz.golabek@nokia.com>2019-04-04 17:52:26 +0200
committerOren Kleks <orenkle@amdocs.com>2019-04-17 06:49:39 +0000
commit8fa77ad4d4c2498e40a4c23e6826d9ad73a1dab8 (patch)
tree2974630bcf758e8e3247a5f58e15c836a043d108 /catalog-be/src/test/java/org/openecomp/sdc/be/components/validation
parent6df542cf030b3f22111f7f091f43c28fcd395bb1 (diff)
Some unit tests for catalog-be
Code coverage for some classes from catalog-be increased. Some refactor made if needed. Change-Id: I5cd63fe61425f5eb05336545d714cbe2df83e116 Issue-ID: SDC-2220 Signed-off-by: Tomasz Golabek <tomasz.golabek@nokia.com>
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/components/validation')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/validation/AccessValidationsTest.java121
1 files changed, 121 insertions, 0 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/validation/AccessValidationsTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/validation/AccessValidationsTest.java
new file mode 100644
index 0000000000..f04d71097e
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/validation/AccessValidationsTest.java
@@ -0,0 +1,121 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2019 Nokia Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.be.components.validation;
+
+import static org.mockito.Mockito.atLeast;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.model.Component;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.user.Role;
+
+@RunWith(MockitoJUnitRunner.class)
+public class AccessValidationsTest {
+
+ private static final String ANY_CONTEXT = "anyContext";
+ private static final String RESOURCES = "resources";
+ private static final String COMPONENT_ID = "1";
+ private static final String USER_ID = "2";
+ private AccessValidations accessValidations;
+
+ @Mock
+ private UserValidations userValidations;
+ @Mock
+ private ComponentValidations componentValidations;
+
+ @Before
+ public void setUp() throws Exception {
+ accessValidations = new AccessValidations(userValidations, componentValidations);
+ }
+
+ @Test
+ public void testValidateUserCanRetrieveComponentData() {
+ accessValidations.validateUserCanRetrieveComponentData(COMPONENT_ID, RESOURCES, USER_ID, ANY_CONTEXT);
+
+ Mockito.verify(userValidations).validateUserExists(USER_ID, ANY_CONTEXT, true);
+ Mockito.verify(componentValidations).getComponent(COMPONENT_ID, ComponentTypeEnum.RESOURCE);
+ }
+
+ @Test
+ public void testValidateUserCanWorkOnComponent() {
+ User user = new User();
+ List<Role> adminRoles = new ArrayList<>();
+ adminRoles.add(Role.ADMIN);
+ adminRoles.add(Role.DESIGNER);
+ Mockito.when(userValidations.validateUserExists(USER_ID, ANY_CONTEXT, true)).thenReturn(user);
+
+ accessValidations.validateUserCanWorkOnComponent(COMPONENT_ID, ComponentTypeEnum.RESOURCE, USER_ID, ANY_CONTEXT);
+
+ Mockito.verify(userValidations).validateUserExists(USER_ID, ANY_CONTEXT, true);
+ Mockito.verify(userValidations).validateUserRole(user, adminRoles);
+ Mockito.verify(componentValidations).validateComponentIsCheckedOutByUser(COMPONENT_ID, ComponentTypeEnum.RESOURCE,
+ USER_ID);
+ }
+
+ @Test
+ public void testValidateUserCanWorkOnComponentGivingComponent() {
+ User user = new User();
+ Component component = Mockito.mock(Component.class);
+ List<Role> adminRoles = new ArrayList<>();
+ adminRoles.add(Role.ADMIN);
+ adminRoles.add(Role.DESIGNER);
+ Mockito.when(userValidations.validateUserExists(USER_ID, ANY_CONTEXT, true)).thenReturn(user);
+
+ accessValidations.validateUserCanWorkOnComponent(component, USER_ID, ANY_CONTEXT);
+
+ Mockito.verify(userValidations, atLeast(1)).validateUserExists(USER_ID, ANY_CONTEXT, true);
+ Mockito.verify(userValidations).validateUserRole(user, adminRoles);
+ Mockito.verify(componentValidations).validateComponentIsCheckedOutByUser(component, USER_ID);
+ }
+
+ @Test
+ public void testValidateUserExists() {
+ accessValidations.validateUserExists(COMPONENT_ID, ANY_CONTEXT);
+ Mockito.verify(userValidations).validateUserExists(COMPONENT_ID, ANY_CONTEXT, true);
+ }
+
+ @Test
+ public void validateUserExist() {
+ accessValidations.validateUserExist(COMPONENT_ID, ANY_CONTEXT);
+ Mockito.verify(userValidations).validateUserExists(COMPONENT_ID, ANY_CONTEXT, false);
+ }
+
+ @Test
+ public void userIsAdminOrDesigner() {
+ User user = new User();
+ List<Role> adminRoles = new ArrayList<>();
+ adminRoles.add(Role.ADMIN);
+ adminRoles.add(Role.DESIGNER);
+ Mockito.when(userValidations.validateUserExists(COMPONENT_ID, ANY_CONTEXT, true)).thenReturn(user);
+
+ accessValidations.userIsAdminOrDesigner(COMPONENT_ID, ANY_CONTEXT);
+
+ Mockito.verify(userValidations).validateUserRole(user, adminRoles);
+ }
+} \ No newline at end of file