aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/servlets
diff options
context:
space:
mode:
authorMichael Lando <ml636r@att.com>2018-07-29 16:13:45 +0300
committerMichael Lando <ml636r@att.com>2018-07-29 16:20:34 +0300
commit5b593496b8f1b8e8be8d7d2dbcc223332e65a49b (patch)
tree2f9dfc45191e723da69cf74be7829784e9741b94 /catalog-be/src/test/java/org/openecomp/sdc/be/servlets
parent9200382f2ce7b4bb729aa287d0878004b2d2b4f9 (diff)
re base code
Change-Id: I12a5ca14a6d8a87e9316b9ff362eb131105f98a5 Issue-ID: SDC-1566 Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/servlets')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AbstractValidationsServletTest.java35
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AdditionalInformationServletTest.java167
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ApplicationConfig.java13
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java452
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArtifactServletTest.java337
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AttributeServletTest.java71
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AutomatedUpgradeEndpointTest.java292
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/BaseTestConfig.java7
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentInstanceServletTest.java26
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java242
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigMgrServletTest.java82
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigServletTest.java23
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConsumerServletTest.java84
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/CsarBuildServletTest.java45
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DistributionServiceServletTest.java62
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ElementServletTest.java243
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupEndpointTest.java239
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupServletTest.java43
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupTypesEndpointTest.java104
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/InputsServletTest.java166
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/JerseySpringBaseTest.java34
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/LifecycleServletTest.java45
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyServletTest.java60
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyTypesEndpointTest.java67
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ProductServletTest.java92
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PropertyServletTest.java116
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RepresentationUtilsTest.java10
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RequirementsServletTest.java28
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceArtifactDownloadServletTest.java53
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceServletTest.java41
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceUploadServletTest.java36
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourcesServletTest.java240
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ServiceServletTest.java265
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesFetchServletTest.java38
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadEndpointTest.java205
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java73
36 files changed, 1572 insertions, 2564 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AbstractValidationsServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AbstractValidationsServletTest.java
index 99053aa603..70a7fe898a 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AbstractValidationsServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AbstractValidationsServletTest.java
@@ -20,9 +20,15 @@
package org.openecomp.sdc.be.servlets;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
+import fj.data.Either;
+import org.apache.commons.codec.binary.Base64;
+import org.junit.Test;
+import org.openecomp.sdc.be.model.UploadResourceInfo;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.common.datastructure.Wrapper;
+import org.openecomp.sdc.exception.ResponseFormat;
+import javax.ws.rs.core.Response;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -32,32 +38,17 @@ import java.nio.file.Paths;
import java.util.Map;
import java.util.stream.Stream;
-import javax.ws.rs.core.Response;
-
-import org.apache.commons.codec.binary.Base64;
-import org.junit.Before;
-import org.junit.Test;
-import org.openecomp.sdc.be.model.UploadResourceInfo;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.common.datastructure.Wrapper;
-import org.openecomp.sdc.exception.ResponseFormat;
-import org.slf4j.Logger;
-
-import fj.data.Either;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
public class AbstractValidationsServletTest {
private static AbstractValidationsServlet servlet = new AbstractValidationsServlet() {};
private static final String BASIC_TOSCA_TEMPLATE = "tosca_definitions_version: tosca_simple_yaml_%s";
- @Before
- public void setUp() throws Exception {
- servlet.initLog(mock(Logger.class));
- }
-
@SuppressWarnings("unchecked")
@Test
- public void testGetScarFromPayload() {
+ public void testGetCsarFromPayload() {
String payloadName = "valid_vf.csar";
String rootPath = System.getProperty("user.dir");
@@ -73,7 +64,7 @@ public class AbstractValidationsServletTest {
resourceInfo.setPayloadName(payloadName);
resourceInfo.setPayloadData(payloadData);
Method privateMethod = null;
- privateMethod = AbstractValidationsServlet.class.getDeclaredMethod("getScarFromPayload", UploadResourceInfo.class);
+ privateMethod = AbstractValidationsServlet.class.getDeclaredMethod("getCsarFromPayload", UploadResourceInfo.class);
privateMethod.setAccessible(true);
returnValue = (Either<Map<String, byte[]>, ResponseFormat>) privateMethod.invoke(servlet, resourceInfo);
} catch (IOException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
@@ -81,7 +72,7 @@ public class AbstractValidationsServletTest {
}
assertTrue(returnValue.isLeft());
Map<String, byte[]> csar = returnValue.left().value();
- assertTrue(csar != null);
+ assertNotNull(csar);
}
@Test
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AdditionalInformationServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AdditionalInformationServletTest.java
deleted file mode 100644
index dbb1f59f62..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AdditionalInformationServletTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-
-public class AdditionalInformationServletTest {
-
- private AdditionalInformationServlet createTestSubject() {
- return new AdditionalInformationServlet();
- }
-
-
- @Test
- public void testCreateResourceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String resourceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userUserId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testCreateServiceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String serviceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userUserId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateResourceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String resourceId = "";
- String labelId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateServiceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String serviceId = "";
- String labelId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateResourceAdditionalInformationLabel_1() throws Exception {
- AdditionalInformationServlet testSubject;
- String resourceId = "";
- String labelId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteServiceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String serviceId = "";
- String labelId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetResourceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String resourceId = "";
- String labelId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetServiceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String serviceId = "";
- String labelId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetAllResourceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String resourceId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetAllServiceAdditionalInformationLabel() throws Exception {
- AdditionalInformationServlet testSubject;
- String serviceId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
-
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ApplicationConfig.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ApplicationConfig.java
index d7d470449c..14636e5a5a 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ApplicationConfig.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ApplicationConfig.java
@@ -20,22 +20,21 @@
package org.openecomp.sdc.be.servlets;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Application;
-
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.MultiPart;
import org.glassfish.jersey.server.ResourceConfig;
import org.mockito.Mockito;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.Application;
+import java.util.HashSet;
+import java.util.Set;
+
public class ApplicationConfig extends Application {
public Set<Class<?>> getClasses() {
- final Set<Class<?>> resources = new HashSet<Class<?>>();
+ final Set<Class<?>> resources = new HashSet<>();
// Add your resources.
resources.add(ResourceUploadServlet.class);
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java
new file mode 100644
index 0000000000..2c3d411922
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java
@@ -0,0 +1,452 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T 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.servlets;
+
+import fj.data.Either;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.openecomp.sdc.be.components.impl.ArchiveBusinessLogic;
+import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
+import org.openecomp.sdc.be.components.path.utils.GraphTestUtils;
+import org.openecomp.sdc.be.components.validation.AccessValidations;
+import org.openecomp.sdc.be.components.validation.ComponentValidations;
+import org.openecomp.sdc.be.config.ConfigurationManager;
+import org.openecomp.sdc.be.dao.DAOTitanStrategy;
+import org.openecomp.sdc.be.dao.TitanClientStrategy;
+import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
+import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.dao.jsongraph.types.EdgeLabelEnum;
+import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
+import org.openecomp.sdc.be.dao.titan.TitanGraphClient;
+import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
+import org.openecomp.sdc.be.datatypes.enums.*;
+import org.openecomp.sdc.be.impl.ComponentsUtils;
+import org.openecomp.sdc.be.impl.ServletUtils;
+import org.openecomp.sdc.be.impl.WebAppContextWrapper;
+import org.openecomp.sdc.be.model.LifecycleStateEnum;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.model.catalog.CatalogComponent;
+import org.openecomp.sdc.be.model.jsontitan.operations.*;
+import org.openecomp.sdc.be.model.operations.api.ICacheMangerOperation;
+import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.be.servlets.exception.ComponentExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.DefaultExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.StorageExceptionMapper;
+import org.openecomp.sdc.be.user.Role;
+import org.openecomp.sdc.be.user.UserBusinessLogic;
+import org.openecomp.sdc.common.api.ConfigurationSource;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
+import org.openecomp.sdc.exception.ResponseFormat;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.context.WebApplicationContext;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
+
+public class ArchiveEndpointTest extends JerseyTest {
+
+ private static final ServletContext servletContext = mock(ServletContext.class);
+ private static final String CSAR_UUID1 = "123456789abcdefgh";
+ private static final String CSAR_UUID2 = "987654321abcdefgh";
+
+ public static final WebAppContextWrapper webAppContextWrapper = mock(WebAppContextWrapper.class);
+ private static final WebApplicationContext webApplicationContext = mock(WebApplicationContext.class);
+ private static final ServletUtils servletUtils = mock(ServletUtils.class);
+ private static final UserBusinessLogic userAdmin = mock(UserBusinessLogic.class);
+ private static final ComponentsUtils componentUtils = mock(ComponentsUtils.class);
+ private static final ResponseFormat responseFormat = mock(ResponseFormat.class);
+ private static final ResponseFormat notFoundResponseFormat = mock(ResponseFormat.class);
+ private static final ResponseFormat badRequestResponseFormat = mock(ResponseFormat.class);
+ private static final ResponseFormat invalidServiceStateResponseFormat = mock(ResponseFormat.class);
+ private static final AccessValidations accessValidationsMock = mock(AccessValidations.class);
+ private static final ComponentValidations componentValidationsMock = mock(ComponentValidations.class);
+ private static final IGraphLockOperation graphLockOperation = mock(IGraphLockOperation.class);
+ private static final TitanGenericDao titanGenericDao = mock(TitanGenericDao.class);
+
+ private static final ICacheMangerOperation cacheManagerOperation = mock(ICacheMangerOperation.class);
+ private static GraphVertex serviceVertex;
+ private static GraphVertex resourceVertex;
+ private static GraphVertex resourceVertexVspArchived;
+
+ private static TitanDao titanDao;
+
+ @Configuration
+ static class TestSpringConfig {
+ private ArchiveOperation archiveOperation;
+ private GraphVertex catalogVertex;
+
+ @Bean
+ ArchiveEndpoint archiveEndpoint() {
+ return new ArchiveEndpoint(archiveBusinessLogic());
+ }
+
+ @Bean
+ ComponentExceptionMapper componentExceptionMapper() {
+ return new ComponentExceptionMapper(componentUtils);
+ }
+
+ @Bean
+ StorageExceptionMapper storageExceptionMapper() {
+ return new StorageExceptionMapper(componentUtils);
+ }
+
+ @Bean
+ DefaultExceptionMapper defaultExceptionMapper() {
+ return new DefaultExceptionMapper();
+ }
+
+ @Bean
+ ArchiveBusinessLogic archiveBusinessLogic() {
+ return new ArchiveBusinessLogic(titanDao(), accessValidations(), archiveOperation(), toscaOperationFacade(), componentUtils);
+ }
+
+ @Bean
+ ArchiveOperation archiveOperation() {
+ this.archiveOperation = new ArchiveOperation(titanDao(), graphLockOperation());
+ GraphTestUtils.clearGraph(titanDao);
+ initGraphForTest();
+ return this.archiveOperation;
+ }
+
+ @Bean
+ ComponentValidations componentValidations() {
+ return componentValidationsMock;
+ }
+
+ @Bean
+ AccessValidations accessValidations() {
+ return accessValidationsMock;
+ }
+
+ @Bean
+ ToscaOperationFacade toscaOperationFacade() {
+ return new ToscaOperationFacade();
+ }
+
+ @Bean
+ TopologyTemplateOperation topologyTemplateOperation() {
+ return new TopologyTemplateOperation();
+ }
+
+ @Bean
+ NodeTypeOperation nodeTypeOpertaion() {
+ return new NodeTypeOperation(null);
+ }
+
+ @Bean
+ NodeTemplateOperation nodeTemplateOperation() {
+ return new NodeTemplateOperation();
+ }
+
+ @Bean
+ GroupsOperation groupsOperation() {
+ return new GroupsOperation();
+ }
+
+ @Bean
+ ICacheMangerOperation cacheMangerOperation() {
+ return cacheManagerOperation;
+ }
+
+ @Bean
+ TitanDao titanDao() {
+ titanDao = new TitanDao(titanGraphClient());
+ return titanDao;
+ }
+
+ @Bean
+ TitanGraphClient titanGraphClient() {
+ return new TitanGraphClient(titanClientStrategy());
+ }
+
+ @Bean
+ TitanClientStrategy titanClientStrategy() {
+ return new DAOTitanStrategy();
+ }
+
+ @Bean
+ CategoryOperation categoryOperation() {
+ return new CategoryOperation();
+ }
+
+ @Bean
+ IGraphLockOperation graphLockOperation() {
+ return graphLockOperation;
+ }
+
+ @Bean
+ TitanGenericDao titanGenericDao() {
+ return titanGenericDao;
+ }
+
+ private void initGraphForTest() {
+ //Create Catalog Root
+ catalogVertex = GraphTestUtils.createRootCatalogVertex(titanDao);
+ //Create Archive Root
+ GraphTestUtils.createRootArchiveVertex(titanDao);
+
+ createSingleVersionServiceAndResource();
+ }
+
+ private void createSingleVersionServiceAndResource() {
+ //Create Service for Scenario 1 Tests (1 Service)
+ serviceVertex = GraphTestUtils.createServiceVertex(titanDao, propsForHighestVersion());
+
+
+ Map<GraphPropertyEnum, Object> props = propsForHighestVersion();
+ props.put(GraphPropertyEnum.IS_VSP_ARCHIVED, false);
+ props.put(GraphPropertyEnum.CSAR_UUID, CSAR_UUID1);
+ resourceVertex = GraphTestUtils.createResourceVertex(titanDao, props, ResourceTypeEnum.VF);
+
+ props = propsForHighestVersion();
+ props.put(GraphPropertyEnum.IS_VSP_ARCHIVED, true);
+ props.put(GraphPropertyEnum.CSAR_UUID, CSAR_UUID2);
+ resourceVertexVspArchived = GraphTestUtils.createResourceVertex(titanDao, props, ResourceTypeEnum.VF);
+
+ //Connect Service/Resource to Catalog Root
+ titanDao.createEdge(catalogVertex, serviceVertex, EdgeLabelEnum.CATALOG_ELEMENT, null);
+ titanDao.createEdge(catalogVertex, resourceVertex, EdgeLabelEnum.CATALOG_ELEMENT, null);
+ }
+
+ private Map<GraphPropertyEnum, Object> propsForHighestVersion(){
+ Map<GraphPropertyEnum, Object> props = new HashMap<>();
+ props.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true);
+ return props;
+ }
+ }
+
+ public static final HttpServletRequest request = mock(HttpServletRequest.class);
+
+ /* Users */
+ private static final User adminUser = new User("admin", "admin", "admin", "admin@email.com", Role.ADMIN.name(), System.currentTimeMillis());
+ private static final User designerUser = new User("designer", "designer", "designer", "designer@email.com", Role.DESIGNER.name(), System
+ .currentTimeMillis());
+ private static final User otherUser = new User("other", "other", "other", "other@email.com", Role.OPS.name(), System.currentTimeMillis());
+
+ @BeforeClass
+ public static void setup() {
+ //Needed for User Authorization
+ //========================================================================================================================
+ when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).thenReturn(webAppContextWrapper);
+ when(webAppContextWrapper.getWebAppContext(servletContext)).thenReturn(webApplicationContext);
+ when(webApplicationContext.getBean(ServletUtils.class)).thenReturn(servletUtils);
+ when(servletUtils.getUserAdmin()).thenReturn(userAdmin);
+ when(servletUtils.getComponentsUtils()).thenReturn(componentUtils);
+ when(componentUtils.getResponseFormat(ActionStatus.RESTRICTED_OPERATION)).thenReturn(responseFormat);
+ when(componentUtils.getResponseFormat(eq(ActionStatus.INVALID_SERVICE_STATE), any())).thenReturn(invalidServiceStateResponseFormat);
+ when(responseFormat.getStatus()).thenReturn(HttpStatus.UNAUTHORIZED.value());
+
+ ComponentException ce = new ComponentException(responseFormat);
+ doThrow(ce).when(accessValidationsMock).userIsAdminOrDesigner(eq(otherUser.getUserId()), any());
+
+ //Needed for error configuration
+ when(notFoundResponseFormat.getStatus()).thenReturn(HttpStatus.NOT_FOUND.value());
+ when(invalidServiceStateResponseFormat.getStatus()).thenReturn(HttpStatus.CONFLICT.value());
+ when(badRequestResponseFormat.getStatus()).thenReturn(HttpStatus.BAD_REQUEST.value());
+ when(componentUtils.getResponseFormat(eq(ActionStatus.RESOURCE_NOT_FOUND), (String[]) any())).thenReturn(notFoundResponseFormat);
+ when(componentUtils.getResponseFormat(eq(ActionStatus.MISSING_X_ECOMP_INSTANCE_ID), (String[]) any())).thenReturn(badRequestResponseFormat);
+
+ when(graphLockOperation.lockComponent(anyString(), any(NodeTypeEnum.class))).thenReturn(StorageOperationStatus.OK);
+
+ Either<User, ActionStatus> adminEither = Either.left(adminUser);
+ Either<User, ActionStatus> designerEither = Either.left(designerUser);
+ Either<User, ActionStatus> otherEither = Either.left(otherUser);
+
+ when(userAdmin.getUser(adminUser.getUserId(), false)).thenReturn(adminEither);
+ when(userAdmin.getUser(designerUser.getUserId(), false)).thenReturn(designerEither);
+ when(userAdmin.getUser(otherUser.getUserId(), false)).thenReturn(otherEither);
+ //========================================================================================================================
+
+ String appConfigDir = "src/test/resources/config";
+ ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
+ ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+
+ org.openecomp.sdc.be.config.Configuration configuration = new org.openecomp.sdc.be.config.Configuration();
+ configuration.setTitanInMemoryGraph(true);
+
+ configurationManager.setConfiguration(configuration);
+ ExternalConfiguration.setAppName("catalog-be");
+ }
+
+ @Test
+ public void getArchivedComponents_Empty() {
+ assertOnGetArchivedComponents(null, 0);
+ }
+
+ @Test
+ public void archiveAndGetArchivedComponents_SingleComponent() {
+ archiveComponent(serviceVertex.getUniqueId(), HttpStatus.OK.value());
+ assertOnGetArchivedComponents(ComponentTypeEnum.SERVICE_PARAM_NAME, 1);
+ }
+
+ @Test
+ public void attemptArchiveCheckedOutService() {
+ checkoutComponent(serviceVertex);
+ archiveComponent(serviceVertex.getUniqueId(), HttpStatus.CONFLICT.value());
+ }
+
+ @Test
+ public void testOnArchivedVsps(){
+ String path = "/v1/catalog/notif/vsp/archived";
+ List<String> csarIds = new LinkedList<>();
+ csarIds.add("123456");
+ csarIds.add(CSAR_UUID2); //An archived CSAR ID
+ Response response = target()
+ .path(path)
+ .request(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .post(Entity.json(csarIds));
+
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
+ assertOnVertexProp(resourceVertexVspArchived.getUniqueId(), true);
+ }
+
+ @Test
+ public void testOnRestoredVsps(){
+ String path = "/v1/catalog/notif/vsp/restored";
+ List<String> csarIds = new LinkedList<>();
+ csarIds.add("123456");
+ csarIds.add(CSAR_UUID1); //Non archived CSAR_ID
+ Response response = target()
+ .path(path)
+ .request(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .post(Entity.json(csarIds));
+
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
+ assertOnVertexProp(resourceVertex.getUniqueId(), false);
+ }
+
+ /*
+ * Rainy Scenarios
+ */
+ @Test
+ public void archiveWithInvalidUid() {
+ archiveComponent("fakeUid", HttpStatus.NOT_FOUND.value());
+ }
+
+ @Test
+ public void restoreWithInvalidUid() {
+ restoreComponent("fakeUid", HttpStatus.NOT_FOUND.value());
+ }
+
+ @Test
+ public void archiveWithTester() {
+ String path = String.format("/v1/catalog/services/%s/%s", serviceVertex.getUniqueId(), "archive");
+ Response response = target()
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, otherUser.getUserId())
+ .post(null);
+
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.UNAUTHORIZED.value());
+ }
+
+ private void checkoutComponent(GraphVertex component) {
+ Either<GraphVertex, TitanOperationStatus> vE = titanDao.getVertexById(component.getUniqueId());
+ GraphVertex v = vE.left().value();
+ v.addMetadataProperty(GraphPropertyEnum.STATE, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+ v.setJsonMetadataField(JsonPresentationFields.LIFECYCLE_STATE, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+ titanDao.updateVertex(v);
+ titanDao.commit();
+ }
+
+ private void assertOnVertexProp(String componentId, Object expectedValue) {
+ Either<GraphVertex, TitanOperationStatus> vE = titanDao.getVertexById(componentId);
+ GraphVertex v = vE.left().value();
+ assertThat(v.getMetadataProperty(GraphPropertyEnum.IS_VSP_ARCHIVED)).isEqualTo(expectedValue);
+ }
+
+ private void archiveComponent(String id, int expectedStatus){ archiveOrRestoreComponent(id, ArchiveOperation.Action.ARCHIVE, expectedStatus); }
+ private void restoreComponent(String id, int expectedStatus){ archiveOrRestoreComponent(id, ArchiveOperation.Action.RESTORE, expectedStatus); }
+
+ private void archiveOrRestoreComponent(String compUid, ArchiveOperation.Action action, int expectedStatus) {
+ String path = String.format("/v1/catalog/services/%s/%s", compUid, action.name().toLowerCase());
+ Response response = target()
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .post(null);
+
+ assertThat(response.getStatus()).isEqualTo(expectedStatus);
+ }
+
+ private void assertOnGetArchivedComponents(String componentType, int expectedCount) {
+ String path = "/v1/catalog/archive";
+
+ Response response = target()
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .get();
+
+ Map<String, List<CatalogComponent>> archivedComponents = response.readEntity(new GenericType<Map<String, List<CatalogComponent>>>() { });
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
+
+ if (componentType == null) {
+ assertThat(archivedComponents).isEmpty();
+ } else {
+ assertThat(archivedComponents.get(componentType)).hasSize(expectedCount);
+ }
+
+ }
+
+ @Override
+ protected Application configure() {
+ ApplicationContext context = new AnnotationConfigApplicationContext(TestSpringConfig.class);
+ return new ResourceConfig(ArchiveEndpoint.class)
+ .register(DefaultExceptionMapper.class)
+ .register(ComponentExceptionMapper.class)
+ .register(StorageExceptionMapper.class)
+ .property("contextConfig", context);
+ }
+}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArtifactServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArtifactServletTest.java
deleted file mode 100644
index e546fcca55..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArtifactServletTest.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-
-public class ArtifactServletTest {
-
- private ArtifactServlet createTestSubject() {
- return new ArtifactServlet();
- }
-
-
- @Test
- public void testLoadArtifact() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateArtifact() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteArtifact() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testLoadInformationArtifact() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateInformationArtifact() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateApiArtifact() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- String origMd5 = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteApiArtifact() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- String userId = "";
- String origMd5 = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteInformationalArtifact() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDownloadServiceArtifactBase64() throws Exception {
- ArtifactServlet testSubject;
- String serviceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDownloadResourceArtifactBase64() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDownloadResourceInstanceArtifactBase64() throws Exception {
- ArtifactServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testLoadArtifactToInterface() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String interfaceType = "";
- String operation = "";
- String userId = "";
- String origMd5 = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteArtifactToInterface() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String interfaceType = "";
- String operation = "";
- String artifactId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateArtifactToInterface() throws Exception {
- ArtifactServlet testSubject;
- String resourceId = "";
- String interfaceType = "";
- String operation = "";
- String artifactId = "";
- String userId = "";
- String origMd5 = "";
- HttpServletRequest request = null;
- String data = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateRIArtifact() throws Exception {
- ArtifactServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateComponentInstanceArtifact() throws Exception {
- ArtifactServlet testSubject;
- String userId = "";
- String origMd5 = "";
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testLoadComponentInstanceArtifact() throws Exception {
- ArtifactServlet testSubject;
- String userId = "";
- String origMd5 = "";
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteComponentInstanceArtifact() throws Exception {
- ArtifactServlet testSubject;
- String userId = "";
- String origMd5 = "";
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String artifactId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentArtifacts() throws Exception {
- ArtifactServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String artifactGroupType = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentInstanceArtifacts() throws Exception {
- ArtifactServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String componentInstanceId = "";
- String artifactGroupType = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
-
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AttributeServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AttributeServletTest.java
deleted file mode 100644
index 692158b881..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AttributeServletTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.exception.ResponseFormat;
-
-import com.google.common.base.Equivalence.Wrapper;
-
-public class AttributeServletTest {
-
- private AttributeServlet createTestSubject() {
- return new AttributeServlet();
- }
-
-
- @Test
- public void testCreateAttribute() throws Exception {
- AttributeServlet testSubject;
- String resourceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testUpdateAttribute() throws Exception {
- AttributeServlet testSubject;
- String resourceId = "";
- String attributeId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testDeleteAttribute() throws Exception {
- AttributeServlet testSubject;
- String resourceId = "";
- String attributeId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testBuildAttributeFromString() throws Exception {
- AttributeServlet testSubject;String data = "";
- Wrapper<PropertyDefinition> attributesWrapper = null;
- Wrapper<ResponseFormat> errorWrapper = null;
-
-
- // default test
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AutomatedUpgradeEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AutomatedUpgradeEndpointTest.java
new file mode 100644
index 0000000000..2a959ec843
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/AutomatedUpgradeEndpointTest.java
@@ -0,0 +1,292 @@
+package org.openecomp.sdc.be.servlets;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import fj.data.Either;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openecomp.sdc.be.components.impl.ComponentInstanceBusinessLogic;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic;
+import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction;
+import org.openecomp.sdc.be.components.upgrade.ServiceInfo;
+import org.openecomp.sdc.be.components.upgrade.UpgradeBusinessLogic;
+import org.openecomp.sdc.be.components.upgrade.UpgradeRequest;
+import org.openecomp.sdc.be.components.upgrade.UpgradeStatus;
+import org.openecomp.sdc.be.components.validation.UserValidations;
+import org.openecomp.sdc.be.config.ConfigurationManager;
+import org.openecomp.sdc.be.dao.api.ActionStatus;
+import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.datatypes.enums.ResourceTypeEnum;
+import org.openecomp.sdc.be.impl.ComponentsUtils;
+import org.openecomp.sdc.be.model.*;
+import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
+import org.openecomp.sdc.be.model.jsontitan.operations.UpgradeOperation;
+import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
+import org.openecomp.sdc.common.api.ConfigurationSource;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
+import org.openecomp.sdc.exception.ResponseFormat;
+import org.openecomp.sdc.exception.ServiceException;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Import;
+import org.springframework.http.HttpStatus;
+
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.*;
+
+public class AutomatedUpgradeEndpointTest extends JerseySpringBaseTest {
+ static ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be");
+ static ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+
+ private static final String RESOURCE_ID_PREV = "prevVF";
+ private static final String RESOURCE_ID_NEW = "newVF";
+ private static final String SERVICE_ID_PREV = "prevSer";
+ private static final String SERVICE_ID_NEW = "newSer";
+ private static final String SERVICE_ID_PROXY = "serProxy";
+ private static final String SERVICE_ID_PROXY_PREV = "serProxyContainerPrev";
+ private static final String SERVICE_ID_PROXY_NEW = "serProxyContainerNew";
+ private static final String INVARIANT_ID = "invariantUUID";
+ private static final String USER_ID = "userId";
+
+ private static LifecycleBusinessLogic lifecycleBusinessLogic;
+ private static ComponentInstanceBusinessLogic componentInstanceBusinessLogic;
+ private static UserValidations userValidations;
+ private static ToscaOperationFacade toscaOperationFacade;
+ private static ComponentsUtils componentsUtils;
+ private static UpgradeOperation upgradeOperation;
+ private static TitanDao titanDao;
+
+ private static User user;
+ private static Resource vfPrev;
+ private static Resource vfNew;
+ private static Service servicePrev;
+ private static Service serviceNew;
+ private static Service serviceNewCheckIn;
+ private static ComponentInstance istanceNew;
+
+ private static Service serviceProxy;
+ private static Service serviceProxyContainerPrev;
+ private static Service serviceProxyContainerNew;
+
+ @org.springframework.context.annotation.Configuration
+ @Import(BaseTestConfig.class)
+ static class AutomatedUpgradeTestConfig {
+
+ @Bean
+ AutomatedUpgradeEndpoint automatedUpgradeEndpoint() {
+ return new AutomatedUpgradeEndpoint(upgradeBusinessLogic());
+ }
+
+ @Bean
+ UpgradeBusinessLogic upgradeBusinessLogic() {
+ return new UpgradeBusinessLogic(lifecycleBusinessLogic, componentInstanceBusinessLogic, userValidations, toscaOperationFacade, componentsUtils, upgradeOperation, titanDao);
+ }
+ }
+
+ @BeforeClass
+ public static void initClass() {
+ lifecycleBusinessLogic = mock(LifecycleBusinessLogic.class);
+ componentInstanceBusinessLogic = mock(ComponentInstanceBusinessLogic.class);
+ userValidations = mock(UserValidations.class);
+ toscaOperationFacade = mock(ToscaOperationFacade.class);
+ componentsUtils = mock(ComponentsUtils.class);
+ upgradeOperation = mock(UpgradeOperation.class);
+ titanDao = mock(TitanDao.class);
+ user = mock(User.class);
+ }
+
+ @Before
+ public void init() {
+ prepareComponents();
+ when(userValidations.validateUserExists(eq(USER_ID), anyString(), anyBoolean())).thenReturn(user);
+ when(toscaOperationFacade.getToscaFullElement(eq(RESOURCE_ID_PREV))).thenReturn(Either.left(vfPrev));
+ when(toscaOperationFacade.getToscaFullElement(eq(RESOURCE_ID_NEW))).thenReturn(Either.left(vfNew));
+ when(toscaOperationFacade.getToscaFullElement(eq(SERVICE_ID_PREV))).thenReturn(Either.left(servicePrev));
+ when(toscaOperationFacade.getToscaFullElement(eq(SERVICE_ID_NEW))).thenReturn(Either.left(serviceNew));
+
+ Either<Service, ResponseFormat> fromLifeCycle = Either.left(serviceNew);
+ doReturn(fromLifeCycle).when(lifecycleBusinessLogic).changeComponentState(eq(ComponentTypeEnum.SERVICE), eq(SERVICE_ID_PREV), any(User.class), eq(LifeCycleTransitionEnum.CHECKOUT), any(LifecycleChangeInfoWithAction.class), eq(false),
+ eq(true));
+
+ when(toscaOperationFacade.getToscaElement(eq(RESOURCE_ID_PREV), any(ComponentParametersView.class))).thenReturn(Either.left(vfPrev));
+ when(componentInstanceBusinessLogic.changeInstanceVersion(any(Service.class), any(ComponentInstance.class), any(ComponentInstance.class), any(User.class), eq(ComponentTypeEnum.SERVICE))).thenReturn(Either.left(istanceNew));
+
+ doReturn(Either.left(serviceNewCheckIn)).when(lifecycleBusinessLogic).changeComponentState(eq(ComponentTypeEnum.SERVICE), eq(SERVICE_ID_NEW), any(User.class), eq(LifeCycleTransitionEnum.CHECKIN), any(LifecycleChangeInfoWithAction.class),
+ eq(false), eq(true));
+
+ }
+
+ @Override
+ protected void configureClient(ClientConfig config) {
+ final JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ config.register(jacksonJsonProvider);
+ }
+
+ @Override
+ protected ResourceConfig configure() {
+ return super.configure(AutomatedUpgradeTestConfig.class).register(AutomatedUpgradeEndpoint.class);
+ }
+
+ @Test
+ public void upgradeVfInService_success() {
+ List<UpgradeRequest> inputsToUpdate = new ArrayList<>();
+ UpgradeRequest request = new UpgradeRequest(SERVICE_ID_PREV);
+ inputsToUpdate.add(request);
+
+ Invocation.Builder builder = buildAutomatedUpgradeCall(RESOURCE_ID_NEW);
+ UpgradeStatus status = builder.post(Entity.entity(inputsToUpdate, MediaType.APPLICATION_JSON), UpgradeStatus.class);
+
+ assertThat(status.getStatus()).isEqualTo(ActionStatus.OK);
+ List<ServiceInfo> expected = new ArrayList<>();
+ ServiceInfo serviceInfo = new ServiceInfo(serviceNewCheckIn.getUniqueId(), ActionStatus.OK);
+ serviceInfo.setName(serviceNewCheckIn.getName());
+ serviceInfo.setVersion(serviceNewCheckIn.getVersion());
+ expected.add(serviceInfo);
+ assertThat(status.getComponentToUpgradeStatus()).hasSameSizeAs(expected);
+ assertThat(status.getComponentToUpgradeStatus()).hasSameElementsAs(expected);
+
+ }
+
+ @Test
+ public void upgradeVfInService_IdNotExist() {
+ List<UpgradeRequest> inputsToUpdate = new ArrayList<>();
+ UpgradeRequest request = new UpgradeRequest(SERVICE_ID_PREV);
+ inputsToUpdate.add(request);
+ String wrongId = "1234";
+ when(toscaOperationFacade.getToscaFullElement(eq(wrongId))).thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
+ when(componentsUtils.convertFromStorageResponse(eq(StorageOperationStatus.NOT_FOUND))).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
+ String[] variables = { wrongId };
+ ServiceException serviceException = new ServiceException("SVC4063", "Error: Requested '%1' resource was not found.", variables);
+ ResponseFormat expected = new ResponseFormat(HttpStatus.NOT_FOUND.value());
+ expected.setServiceException(serviceException);
+ when(componentsUtils.getResponseFormatByResource(eq(ActionStatus.RESOURCE_NOT_FOUND), eq(wrongId))).thenReturn(expected);
+
+ Response response = buildAutomatedUpgradeCall(wrongId).post(Entity.entity(inputsToUpdate, MediaType.APPLICATION_JSON), Response.class);
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.NOT_FOUND.value());
+
+ ResponseFormat actual = response.readEntity(ResponseFormat.class);
+ assertThat(actual.getMessageId()).isEqualTo(expected.getMessageId());
+ assertThat(actual.getFormattedMessage()).isEqualTo(expected.getFormattedMessage());
+
+ }
+
+ @Test
+ public void upgradeVfInService_NotHihgestCertified() {
+ List<UpgradeRequest> inputsToUpdate = new ArrayList<>();
+ UpgradeRequest request = new UpgradeRequest(RESOURCE_ID_PREV);
+ inputsToUpdate.add(request);
+
+ when(componentsUtils.convertFromStorageResponse(eq(StorageOperationStatus.NOT_FOUND))).thenReturn(ActionStatus.RESOURCE_NOT_FOUND);
+ String[] variables = { vfPrev.getName() };
+ ServiceException serviceException = new ServiceException("SVC4699", "Error: Component %1 is not highest certified", variables);
+ ResponseFormat expected = new ResponseFormat(HttpStatus.BAD_REQUEST.value());
+ expected.setServiceException(serviceException);
+ when(componentsUtils.getResponseFormat(eq(ActionStatus.COMPONENT_IS_NOT_HIHGEST_CERTIFIED), eq(vfPrev.getName()))).thenReturn(expected);
+
+ Response response = buildAutomatedUpgradeCall(RESOURCE_ID_PREV).post(Entity.entity(inputsToUpdate, MediaType.APPLICATION_JSON), Response.class);
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST.value());
+
+ ResponseFormat actual = response.readEntity(ResponseFormat.class);
+ assertThat(actual.getMessageId()).isEqualTo(expected.getMessageId());
+ assertThat(actual.getFormattedMessage()).isEqualTo(expected.getFormattedMessage());
+ }
+
+// @Test
+// public void upgradeProxyInService_successful() {
+// List<UpgradeRequest> inputsToUpdate = new ArrayList<>();
+// UpgradeRequest request = new UpgradeRequest(SERVICE_ID_PROXY_PREV);
+// inputsToUpdate.add(request);
+//
+// when(toscaOperationFacade.getToscaElement(eq(SERVICE_ID_PROXY))).thenReturn(Either.left(serviceProxy));
+//
+// UpgradeStatus status = buildAutomatedUpgradeCall(SERVICE_ID_PROXY).post(Entity.entity(inputsToUpdate, MediaType.APPLICATION_JSON), UpgradeStatus.class);
+// assertThat(status.getStatus()).isEqualTo(ActionStatus.OK);
+// }
+
+ private Invocation.Builder buildAutomatedUpgradeCall(String id) {
+ return target("/v1/catalog/resources/{id}/automatedupgrade").resolveTemplate("id", id).request(MediaType.APPLICATION_JSON).header(Constants.USER_ID_HEADER, USER_ID);
+ }
+
+ private void prepareComponents() {
+ createVF();
+
+ createService();
+ }
+
+ private void createService() {
+ servicePrev = createService("service1", SERVICE_ID_PREV, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+
+ ComponentInstance ci = new ComponentInstance();
+ ci.setComponentUid(RESOURCE_ID_PREV);
+ ci.setName("inst 1");
+ List<ComponentInstance> resourceInstances = new ArrayList<>();
+ resourceInstances.add(ci);
+ servicePrev.setComponentInstances(resourceInstances);
+
+ serviceNew = createService("service1", SERVICE_ID_NEW, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+ serviceNew.setComponentInstances(resourceInstances);
+
+ serviceNewCheckIn = createService("service1", SERVICE_ID_NEW, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+
+ serviceNewCheckIn.setComponentInstances(resourceInstances);
+
+ istanceNew = new ComponentInstance();
+ istanceNew.setComponentUid(RESOURCE_ID_NEW);
+ istanceNew.setName("inst 1");
+
+ serviceProxy = createService("serviceProxy", SERVICE_ID_PROXY, LifecycleStateEnum.CERTIFIED);
+ serviceProxyContainerPrev = createService("serviceProxyContainer", SERVICE_ID_PROXY_PREV, LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
+ serviceProxyContainerNew = createService("serviceProxyContainer", SERVICE_ID_PROXY_NEW, LifecycleStateEnum.NOT_CERTIFIED_CHECKOUT);
+
+
+
+ }
+
+ private Service createService(String name, String id, LifecycleStateEnum state){
+ Service service = new Service();
+ service.setName(name);
+ service.setUniqueId(id);
+ service.setLifecycleState(state);
+ service.setHighestVersion(true);
+ return service;
+ }
+ private void createVF() {
+ vfPrev = new Resource();
+ vfPrev.setName("vf1");
+ vfPrev.setUniqueId(RESOURCE_ID_PREV);
+ vfPrev.setLifecycleState(LifecycleStateEnum.CERTIFIED);
+ vfPrev.setHighestVersion(false);
+ vfPrev.setResourceType(ResourceTypeEnum.VF);
+ vfPrev.setVersion("1.0");
+ vfPrev.setInvariantUUID(INVARIANT_ID);
+ vfPrev.setComponentType(ComponentTypeEnum.RESOURCE);
+
+ vfNew = new Resource();
+ vfNew.setName("vf1");
+ vfNew.setUniqueId(RESOURCE_ID_PREV);
+ vfNew.setLifecycleState(LifecycleStateEnum.CERTIFIED);
+ vfNew.setHighestVersion(true);
+ vfNew.setResourceType(ResourceTypeEnum.VF);
+ vfNew.setVersion("2.0");
+ vfNew.setInvariantUUID(INVARIANT_ID);
+ vfNew.setComponentType(ComponentTypeEnum.RESOURCE);
+
+ }
+}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/BaseTestConfig.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/BaseTestConfig.java
index 8378a71b4c..42dbcc6635 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/BaseTestConfig.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/BaseTestConfig.java
@@ -1,11 +1,14 @@
package org.openecomp.sdc.be.servlets;
-import static org.mockito.Mockito.mock;
-
import org.openecomp.sdc.be.auditing.impl.AuditingManager;
import org.openecomp.sdc.be.impl.ComponentsUtils;
+import org.openecomp.sdc.be.servlets.exception.ComponentExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.DefaultExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.StorageExceptionMapper;
import org.springframework.context.annotation.Bean;
+import static org.mockito.Mockito.mock;
+
public class BaseTestConfig {
@Bean
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentInstanceServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentInstanceServletTest.java
index 5d85f52351..0c91b49fee 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentInstanceServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentInstanceServletTest.java
@@ -1,15 +1,6 @@
package org.openecomp.sdc.be.servlets;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.when;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import fj.data.Either;
import org.eclipse.jetty.http.HttpStatus;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.server.ResourceConfig;
@@ -32,7 +23,16 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.context.WebApplicationContext;
-import fj.data.Either;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
/**
* The test suite designed for test functionality of ComponentInstanceServlet class
@@ -73,7 +73,7 @@ public class ComponentInstanceServletTest extends JerseyTest {
.header("USER_ID", USER_ID)
.get( Response.class);
- assertTrue(response.getStatus() == HttpStatus.OK_200);
+ assertEquals(response.getStatus(), HttpStatus.OK_200);
}
@Test
@@ -91,7 +91,7 @@ public class ComponentInstanceServletTest extends JerseyTest {
.header("USER_ID", USER_ID)
.get( Response.class);
- assertTrue(response.getStatus() == HttpStatus.BAD_REQUEST_400);
+ assertEquals(response.getStatus(), HttpStatus.BAD_REQUEST_400);
}
@Override
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
index 7159f2e035..a074af2f21 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ComponentServletTest.java
@@ -1,143 +1,107 @@
package org.openecomp.sdc.be.servlets;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
+import fj.data.Either;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.junit.Before;
import org.junit.Test;
-
-public class ComponentServletTest {
-
- private ComponentServlet createTestSubject() {
- return new ComponentServlet();
- }
-
-
- @Test
- public void testConformanceLevelValidation() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentUuid = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetRequirementAndCapabilities() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponents() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- List<String> componentUids = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponentsByBody() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- String userId = "";
- List<String> data = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetLatestVersionNotAbstractCheckoutComponentsIdesOnly() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- String internalComponentType = "";
- String userId = "";
- String data = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentInstancesFilteredByPropertiesAndInputs() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String searchText = "";
- String userId = "";
- String data = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentDataFilteredByParams() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- List<String> dataParamsToReturn = null;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetFilteredComponentInstanceProperties() throws Exception {
- ComponentServlet testSubject;
- String componentType = "";
- String componentId = "";
- String propertyNameFragment = "";
- List<String> resourceTypes = null;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
+import org.openecomp.sdc.be.components.impl.ComponentBusinessLogicProvider;
+import org.openecomp.sdc.be.components.impl.ResourceBusinessLogic;
+import org.openecomp.sdc.be.components.utils.PolicyDefinitionBuilder;
+import org.openecomp.sdc.be.model.PolicyDefinition;
+import org.openecomp.sdc.be.model.User;
+import org.openecomp.sdc.be.ui.model.UiComponentDataTransfer;
+import org.openecomp.sdc.common.api.Constants;
+
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.Collections;
+
+import static java.util.Arrays.asList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+public class ComponentServletTest extends JerseySpringBaseTest{
+
+ private static final String USER_ID = "userId";
+ private static final String RESOURCE_ID = "resourceId";
+ private ResourceBusinessLogic resourceBusinessLogic;
+ private PolicyDefinition policy1, policy2;
+
+ @Override
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ policy1 = buildPolicy("p1");
+ policy2 = buildPolicy("p2");
+ }
+
+ @Override
+ protected ResourceConfig configure() {
+ resourceBusinessLogic = mock(ResourceBusinessLogic.class);
+ ComponentServlet componentServlet = new ComponentServlet(new ComponentBusinessLogicProvider(resourceBusinessLogic, null, null));
+ return super.configure().register(componentServlet);
+ }
+
+ @Test
+ public void filterDataByParam_getPolicies_returnOnlyNameTargetsAndIdFields() {
+ UiComponentDataTransfer dataTransfer = buildDataTransferWithPolicies();
+ when(resourceBusinessLogic.getComponentDataFilteredByParams(eq(RESOURCE_ID.toLowerCase()), any(User.class), eq(Collections.singletonList("policies")))).thenReturn(Either.left(dataTransfer));
+ UiComponentDataTransfer uiComponentDataTransfer = buildGetPolicyTypesCall().get(UiComponentDataTransfer.class);
+ assertThat(uiComponentDataTransfer.getPolicies())
+ .usingElementComparatorOnFields("name", "uniqueId", "targets")
+ .containsExactlyInAnyOrder(policy1, policy2)
+ .extracting("properties")//properties is not returned in the response
+ .containsExactly(null, null);
+ }
+
+ @Test
+ public void filterDataByParam_getPolicies_policyTypeNameFieldShouldReturnAsType() {
+ UiComponentDataTransfer dataTransfer = buildDataTransferWithPolicies();
+ when(resourceBusinessLogic.getComponentDataFilteredByParams(eq(RESOURCE_ID.toLowerCase()), any(User.class), eq(Collections.singletonList("policies")))).thenReturn(Either.left(dataTransfer));
+ Response uiComponentDataTransfer = buildGetPolicyTypesCall().get();
+ verifyPolicyTypeFieldUsingJsonResponse(uiComponentDataTransfer);
+ }
+
+ private void verifyPolicyTypeFieldUsingJsonResponse(Response uiComponentDataTransfer) {
+ JSONObject json = new JSONObject(uiComponentDataTransfer.readEntity(String.class));
+ JSONArray policies = json.getJSONArray("policies");
+ for (int i = 0; i < policies.length(); i++) {
+ JSONObject policy = policies.getJSONObject(i);
+ String policyId = policy.get("uniqueId").toString();
+ assertThat(policy.get("type")).isEqualTo("type" + policyId);
+ }
+ }
+
+ private UiComponentDataTransfer buildDataTransferWithPolicies() {
+ UiComponentDataTransfer res = new UiComponentDataTransfer();
+ res.setPolicies(asList(policy1, policy2));
+ return res;
+ }
+
+ private PolicyDefinition buildPolicy(String id) {
+ return PolicyDefinitionBuilder.create()
+ .setUniqueId(id)
+ .setName("name" + id)
+ .setType("type" + id)
+ .addGroupTarget("group1")
+ .addGroupTarget("group2")
+ .addComponentInstanceTarget("inst1")
+ .addComponentInstanceTarget("inst2")
+ .addProperty("prop1")
+ .build();
+ }
+
+ private Invocation.Builder buildGetPolicyTypesCall() {
+ return target("/v1/catalog/resources/{id}/filteredDataByParams")
+ .queryParam("include", "policies")
+ .resolveTemplate("id", RESOURCE_ID)
+ .request(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, USER_ID);
+ }
} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigMgrServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigMgrServletTest.java
deleted file mode 100644
index 4c7caa63e6..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigMgrServletTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.junit.Test;
-
-import com.datastax.driver.core.Configuration;
-
-public class ConfigMgrServletTest {
-
- private ConfigMgrServlet createTestSubject() {
- return new ConfigMgrServlet();
- }
-
-
- @Test
- public void testGetConfig() throws Exception {
- ConfigMgrServlet testSubject;
- HttpServletRequest request = null;
- String type = "";
- String result;
-
- // test 1
- testSubject = createTestSubject();
- type = null;
-
-
- // test 2
- testSubject = createTestSubject();
- type = "";
-
- // test 3
- testSubject = createTestSubject();
- type = "configuration";
- }
-
-
- @Test
- public void testSetConfig1() throws Exception {
- ConfigMgrServlet testSubject;
- HttpServletRequest request = null;
- Configuration configuration = null;
- String result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testSetConfig2() throws Exception {
- ConfigMgrServlet testSubject;
- HttpServletRequest request = null;
- Configuration configuration = null;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testSetConfig3() throws Exception {
- ConfigMgrServlet testSubject;
- HttpServletRequest request = null;
- Configuration configuration = null;
- String result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testSetConfig4() throws Exception {
- ConfigMgrServlet testSubject;
- HttpServletRequest request = null;
- Configuration configuration = null;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigServletTest.java
deleted file mode 100644
index 2593474f2b..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConfigServletTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.junit.Test;
-
-public class ConfigServletTest {
-
- private ConfigServlet createTestSubject() {
- return new ConfigServlet();
- }
-
-
- @Test
- public void testGetConfig() throws Exception {
- ConfigServlet testSubject;
- HttpServletRequest request = null;
- String result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConsumerServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConsumerServletTest.java
deleted file mode 100644
index 14b34a206e..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ConsumerServletTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.components.impl.ConsumerBusinessLogic;
-import org.openecomp.sdc.be.model.ConsumerDefinition;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
-import org.openecomp.sdc.exception.ResponseFormat;
-
-import fj.data.Either;
-
-public class ConsumerServletTest {
-
- private ConsumerServlet createTestSubject() {
- return new ConsumerServlet();
- }
-
-
- @Test
- public void testCreateConsumer() throws Exception {
- ConsumerServlet testSubject;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetConsumer() throws Exception {
- ConsumerServlet testSubject;
- String consumerId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testDeleteConsumer() throws Exception {
- ConsumerServlet testSubject;
- String consumerId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetConsumerBL() throws Exception {
- ConsumerServlet testSubject;
- ServletContext context = null;
- ConsumerBusinessLogic result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testConvertJsonToObject() throws Exception {
- ConsumerServlet testSubject;
- String data = "";
- User user = null;
- AuditingActionEnum actionEnum = null;
- Either<ConsumerDefinition, ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/CsarBuildServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/CsarBuildServletTest.java
deleted file mode 100644
index 930fe88339..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/CsarBuildServletTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-
-public class CsarBuildServletTest {
-
- private CsarBuildServlet createTestSubject() {
- return new CsarBuildServlet();
- }
-
-
- @Test
- public void testGetDefaultTemplate() throws Exception {
- CsarBuildServlet testSubject;
- HttpServletRequest request = null;
- String serviceName = "";
- String serviceVersion = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- result = testSubject.getDefaultTemplate(request, serviceName, serviceVersion);
- }
-
-
- @Test
- public void testGetToscaCsarTemplate() throws Exception {
- CsarBuildServlet testSubject;
- HttpServletRequest request = null;
- String serviceName = "";
- String serviceVersion = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- result = testSubject.getToscaCsarTemplate(request, serviceName, serviceVersion);
- }
-
-
-
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DistributionServiceServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DistributionServiceServletTest.java
deleted file mode 100644
index d022faabcd..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DistributionServiceServletTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.components.impl.DistributionMonitoringBusinessLogic;
-
-public class DistributionServiceServletTest {
-
- private DistributionServiceServlet createTestSubject() {
- return new DistributionServiceServlet();
- }
-
-
- @Test
- public void testGetServiceById() throws Exception {
- DistributionServiceServlet testSubject;
- String serviceUUID = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetListOfDistributionStatuses() throws Exception {
- DistributionServiceServlet testSubject;
- String did = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testInit() throws Exception {
- DistributionServiceServlet testSubject;
- HttpServletRequest request = null;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetDistributionBL() throws Exception {
- DistributionServiceServlet testSubject;
- ServletContext context = null;
- DistributionMonitoringBusinessLogic result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ElementServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ElementServletTest.java
deleted file mode 100644
index 31068ccd17..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ElementServletTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.datatypes.enums.OriginTypeEnum;
-
-public class ElementServletTest {
-
- private ElementServlet createTestSubject() {
- return new ElementServlet();
- }
-
-
- @Test
- public void testGetComponentCategories() throws Exception {
- ElementServlet testSubject;
- String componentType = "";
- String userId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetAllCategories() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testCreateComponentCategory() throws Exception {
- ElementServlet testSubject;
- String componentType = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteComponentCategory() throws Exception {
- ElementServlet testSubject;
- String categoryUniqueId = "";
- String componentType = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testCreateComponentSubCategory() throws Exception {
- ElementServlet testSubject;
- String componentType = "";
- String categoryId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteComponentSubCategory() throws Exception {
- ElementServlet testSubject;
- String categoryUniqueId = "";
- String subCategoryUniqueId = "";
- String componentType = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testCreateComponentGrouping() throws Exception {
- ElementServlet testSubject;
- String componentType = "";
- String grandParentCategoryId = "";
- String parentSubCategoryId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteComponentGrouping() throws Exception {
- ElementServlet testSubject;
- String grandParentCategoryUniqueId = "";
- String parentSubCategoryUniqueId = "";
- String groupingUniqueId = "";
- String componentType = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetTags() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetPropertyScopes() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetArtifactTypes() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetConfiguration() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetFollowedResourcesServices() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetCatalogComponents() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- List<OriginTypeEnum> excludeTypes = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteMarkedResources() throws Exception {
- ElementServlet testSubject;
- String componentType = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetListOfCsars() throws Exception {
- ElementServlet testSubject;
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupEndpointTest.java
new file mode 100644
index 0000000000..38373bdb08
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupEndpointTest.java
@@ -0,0 +1,239 @@
+package org.openecomp.sdc.be.servlets;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import fj.data.Either;
+import org.assertj.core.api.AssertionsForClassTypes;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
+import org.glassfish.jersey.logging.LoggingFeature;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.openecomp.sdc.be.components.impl.GroupBusinessLogicNew;
+import org.openecomp.sdc.be.components.validation.AccessValidations;
+import org.openecomp.sdc.be.components.validation.ComponentValidations;
+import org.openecomp.sdc.be.config.ConfigurationManager;
+import org.openecomp.sdc.be.datatypes.elements.PropertyDataDefinition;
+import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
+import org.openecomp.sdc.be.model.ComponentInstance;
+import org.openecomp.sdc.be.model.GroupDefinition;
+import org.openecomp.sdc.be.model.GroupProperty;
+import org.openecomp.sdc.be.model.Resource;
+import org.openecomp.sdc.be.model.jsontitan.operations.GroupsOperation;
+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.GroupOperation;
+import org.openecomp.sdc.common.api.ConfigurationSource;
+import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.http.HttpStatus;
+
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Optional;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.Mockito.anyList;
+import static org.mockito.Mockito.*;
+import static org.openecomp.sdc.be.model.operations.api.StorageOperationStatus.NOT_FOUND;
+
+public class GroupEndpointTest extends JerseySpringBaseTest {
+
+ private static final String VALID_USER = "ab001";
+ private static final String INVALID_USER = "ab002";
+ private static final String VALID_COMPONENT_ID = "12345";
+ private static final String INVALID_COMPONENT_ID = "9999";
+ private static final String VALID_GROUP_ID = "1";
+ private static final String INVALID_GROUP_ID = "2";
+ public static final String A = "a";
+ private static final String VL1 = "VL1";
+ private static final String OLD_VALUE = "old value";
+ private static AccessValidations accessValidations;
+ private static ComponentValidations componentValidations;
+ private static GroupsOperation groupsOperation;
+ private static GroupOperation groupOperation;
+ private Resource cr;
+ private GroupDefinition g1;
+ private ComponentInstance ci;
+ private GroupProperty gp1;
+
+ @Configuration
+ @Import(BaseTestConfig.class)
+ static class GroupEndpointTestConfig {
+
+ @Bean
+ GroupEndpoint groupEndpoint() {
+ return new GroupEndpoint(groupBusinessLogic());
+ }
+
+ @Bean
+ GroupBusinessLogicNew groupBusinessLogic() {
+ return new GroupBusinessLogicNew(accessValidations, componentValidations, groupsOperation, groupOperation);
+ }
+ }
+
+ @BeforeClass
+ public static void initClass() {
+ ExternalConfiguration.setAppName("catalog-be");
+ String appConfigDir = "src/test/resources/config/catalog-be";
+ ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
+ ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+ //ComponentsUtils needs configuration singleton to be set
+ componentValidations = mock(ComponentValidations.class);
+ accessValidations = mock(AccessValidations.class);
+ groupsOperation = mock(GroupsOperation.class);
+ groupOperation = mock(GroupOperation.class);
+
+ }
+
+ @Override
+ protected void configureClient(ClientConfig config) {
+ final JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider()
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ config.register(jacksonJsonProvider);
+ }
+
+ @Override
+ protected ResourceConfig configure() {
+ return super.configure(GroupEndpointTestConfig.class)
+ .register(GroupEndpoint.class)
+ .property(LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL_SERVER, "WARNING");
+ }
+
+ @Before
+ public void init() {
+ cr = new Resource();
+ cr.setSystemName("CR1");
+ g1 = new GroupDefinition();
+ g1.setUniqueId(VALID_GROUP_ID);
+ gp1 = new GroupProperty();
+ gp1.setUniqueId("1");
+ gp1.setName("p1");
+ gp1.setValue(OLD_VALUE);
+ g1.setProperties(Arrays.asList(gp1));
+ cr.setGroups(Arrays.asList(g1));
+ ci = new ComponentInstance();
+ ci.setUniqueId(A);
+ ci.setName(VL1);
+ happyScenarioSetup();
+ unhappyScenarioSetup();
+ }
+
+ private void unhappyScenarioSetup() {
+ when(accessValidations.validateUserCanWorkOnComponent(eq(INVALID_COMPONENT_ID), eq(ComponentTypeEnum.RESOURCE), eq(VALID_USER), anyString())).thenThrow(new StorageException(NOT_FOUND, INVALID_COMPONENT_ID));
+ when(componentValidations.getComponentInstance(cr, A)).thenReturn(Optional.of(ci));
+ }
+
+
+ private void happyScenarioSetup() {
+ when(accessValidations.validateUserCanWorkOnComponent(eq(VALID_COMPONENT_ID), any(ComponentTypeEnum.class), eq(VALID_USER), anyString())).thenReturn(cr);
+ when(accessValidations.validateUserCanRetrieveComponentData(eq(VALID_COMPONENT_ID), eq("resources"), eq(VALID_USER), anyString()))
+ .thenReturn(cr);
+ when(componentValidations.getComponentInstance(cr, A)).thenReturn(Optional.of(ci));
+ doNothing().when(groupsOperation).updateGroupOnComponent(eq(VALID_COMPONENT_ID), isA(GroupDefinition.class));
+ when(groupOperation.validateAndUpdatePropertyValue(isA(GroupProperty.class))).thenReturn(StorageOperationStatus.OK);
+ when(groupsOperation.updateGroupPropertiesOnComponent(eq(VALID_COMPONENT_ID), isA(GroupDefinition.class), anyList())).thenAnswer(new Answer<Either>() {
+ @Override
+ public Either answer(InvocationOnMock invocationOnMock) throws Throwable {
+ Object[] args = invocationOnMock.getArguments();
+ return Either.left(Arrays.asList(args[2]));
+ }
+ });
+ }
+
+ @Test
+ public void updateGroupMembers_success() {
+ List<String> ids = Arrays.asList(A);
+ List<String> updatedIds = buildUpdateGroupMembersCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .post(Entity.entity(ids, MediaType.APPLICATION_JSON), new GenericType<List<String>>() {
+ });
+ assertThat(updatedIds.size()).isEqualTo(ids.size());
+ assertThat(updatedIds).containsExactlyInAnyOrder(ids.toArray(new String[ids.size()]));
+ }
+
+ @Test
+ public void updateGroupMembersWith2IdenticalMembers_success() {
+ List<String> ids = Arrays.asList(A, A);
+ List<String> updatedIds = buildUpdateGroupMembersCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .post(Entity.entity(ids, MediaType.APPLICATION_JSON), new GenericType<List<String>>() {
+ });
+ assertThat(updatedIds.size()).isEqualTo(1);
+ assertThat(updatedIds).containsExactlyInAnyOrder(String.valueOf(A));
+ }
+
+ @Test
+ public void updateGroupMembersWithEmptyList_success() {
+ List<String> ids = new ArrayList<>();
+ List<String> updatedIds = buildUpdateGroupMembersCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .post(Entity.entity(ids, MediaType.APPLICATION_JSON), new GenericType<List<String>>() {
+ });
+ assertThat(updatedIds.size()).isEqualTo(0);
+ }
+
+ @Test
+ public void updateGroupMember_InvalidComponentId_failure() {
+ List<String> ids = new ArrayList<>();
+ Response response = buildUpdateGroupMembersCall(INVALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .post(Entity.entity(ids, MediaType.APPLICATION_JSON), Response.class);
+ AssertionsForClassTypes.assertThat(response.getStatus()).isEqualTo(HttpStatus.NOT_FOUND.value());
+ }
+
+ @Test
+ public void updateGroupProperty_success() {
+ GroupProperty property = new GroupProperty();
+ property.setValue("value1");
+ property.setName("prop");
+ String propertyStr = "[{\"uniqueId\":\"1\",\"type\":null,\"required\":false,\"definition\":false,\"defaultValue\":null,\"description\":null,\"schema\":null,\"password\":false,\"name\":\"p1\",\"value\":\"new value\",\"label\":null,\"hidden\":false,\"immutable\":false,\"inputPath\":null,\"status\":null,\"inputId\":null,\"instanceUniqueId\":null,\"propertyId\":null,\"parentUniqueId\":null,\"getInputValues\":null,\"constraints\":null,\"valueUniqueUid\":null,\"ownerId\":null}]";
+ List<GroupProperty> properties = Arrays.asList(property);
+ //TODO define GroupPropertyDTO (after finding other usage in UI code) and improve test coverage
+// List<GroupProperty> updatedProperties = buildUpdateGroupPropertiesCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+// .put(Entity.entity(propertyStr, MediaType.APPLICATION_JSON), new GenericType<List<GroupProperty>>() {
+// });
+// assertThat(updatedProperties.size()).isEqualTo(1);
+ Response response = buildUpdateGroupPropertiesCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .put(Entity.entity(propertyStr, MediaType.APPLICATION_JSON));
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.OK.value());
+ }
+
+ @Test
+ public void getGroupProperties_success() {
+ List<PropertyDataDefinition> properties = buildUpdateGroupPropertiesCall(VALID_COMPONENT_ID, VALID_GROUP_ID, VALID_USER)
+ .get(new GenericType<List<PropertyDataDefinition>>(){});
+ assertThat(properties.size()).isEqualTo(1);
+ assertThat(properties.get(0).getValue()).isEqualTo(OLD_VALUE);
+ }
+
+ private Invocation.Builder buildUpdateGroupMembersCall(String componentId, String groupId, String userId) {
+ return target("/v1/catalog/resources/" + componentId + "/groups/" + groupId + "/members")
+ .request(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, userId);
+ }
+
+ private Invocation.Builder buildUpdateGroupPropertiesCall(String componentId, String groupId, String userId) {
+ return target("/v1/catalog/resources/" + componentId + "/groups/" + groupId + "/properties")
+ .request(MediaType.APPLICATION_JSON)
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, userId);
+ }
+
+
+}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupServletTest.java
deleted file mode 100644
index 95f5174580..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupServletTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-public class GroupServletTest {
-
- private GroupServlet createTestSubject() {
- return new GroupServlet();
- }
-
-
- @Test
- public void testGetGroupArtifactById() throws Exception {
- GroupServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String groupId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- }
-
-
- @Test
- public void testUpdateGroupMetadata() throws Exception {
- GroupServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String groupUniqueId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupTypesEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupTypesEndpointTest.java
index 2d30616ebb..1af04ac207 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupTypesEndpointTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/GroupTypesEndpointTest.java
@@ -11,20 +11,25 @@ import org.glassfish.jersey.server.ResourceConfig;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.openecomp.sdc.be.DummyConfigurationManager;
import org.openecomp.sdc.be.components.impl.GroupTypeBusinessLogic;
-import org.openecomp.sdc.be.components.impl.ResponseFormatManager;
import org.openecomp.sdc.be.components.utils.GroupTypeBuilder;
import org.openecomp.sdc.be.components.validation.UserValidations;
import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
+import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
+import org.openecomp.sdc.be.datatypes.elements.GroupTypeDataDefinition;
+import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
import org.openecomp.sdc.be.impl.ComponentsUtils;
import org.openecomp.sdc.be.model.GroupTypeDefinition;
import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.be.model.operations.impl.GroupTypeOperation;
+import org.openecomp.sdc.be.model.operations.api.DerivedFromOperation;
+import org.openecomp.sdc.be.model.operations.impl.*;
+import org.openecomp.sdc.be.resources.data.GroupTypeData;
+import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.api.Constants;
+import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import javax.ws.rs.client.Invocation;
@@ -38,27 +43,34 @@ import java.util.stream.Stream;
import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
public class GroupTypesEndpointTest extends JerseySpringBaseTest {
private static final String USER_ID = "a001";
- private static final String INVALID_USER_ID = "a002";
private static final GroupTypeDefinition EMPTY_GROUP_TYPE = new GroupTypeDefinition();
private static final String COMPONENT_TYPE = "VF";
private static final HashSet<String> EXCLUDED_TYPES = Sets.newHashSet("Root", "Heat");
private static ComponentsUtils componentsUtils;
- private static GroupTypeOperation groupTypeOperation;
+ private static TitanGenericDao titanGenericDao;
+ private static CapabilityTypeOperation capabilityTypeOperation;
+ private static DerivedFromOperation derivedFromOperation;
private static TitanDao titanDao;
+ private static PropertyOperation propertyOperation;
+ private static CapabilityOperation capabilityOperation;
private static UserValidations userValidations;
+ private static OperationUtils operationUtils;
private static User user;
- @Configuration
+ static ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be");
+ static ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+
+ @org.springframework.context.annotation.Configuration
@Import(BaseTestConfig.class)
static class GroupTypesTestConfig {
@@ -69,27 +81,31 @@ public class GroupTypesEndpointTest extends JerseySpringBaseTest {
@Bean
GroupTypeBusinessLogic groupTypeBusinessLogic() {
- return new GroupTypeBusinessLogic(groupTypeOperation, titanDao, userValidations);
+ return new GroupTypeBusinessLogic(groupTypeOperation(), titanDao, userValidations, componentsUtils);
+ }
+
+ @Bean
+ GroupTypeOperation groupTypeOperation() {
+ return new GroupTypeOperation(titanGenericDao, propertyOperation, capabilityTypeOperation, capabilityOperation, derivedFromOperation, operationUtils);
}
}
@BeforeClass
public static void initClass() {
componentsUtils = mock(ComponentsUtils.class);
- groupTypeOperation = mock(GroupTypeOperation.class);
+ propertyOperation = mock(PropertyOperation.class);
+ capabilityTypeOperation = mock(CapabilityTypeOperation.class);
titanDao = mock(TitanDao.class);
+ titanGenericDao = mock(TitanGenericDao.class);
userValidations = mock(UserValidations.class);
+ operationUtils = mock(OperationUtils.class);
user = mock(User.class);
}
@Before
public void init() {
- new DummyConfigurationManager();
- when(ConfigurationManager.getConfigurationManager().getConfiguration().getExcludedGroupTypesMapping()).thenReturn(buildExcludeGroupTypesMap());
- ResponseFormatManager responseFormatManager = ResponseFormatManager.getInstance();
- when(userValidations.validateUserExists(eq(USER_ID), anyString(), anyBoolean())).thenReturn(Either.left(user));
- // TODO: handle for invalid user test
-// when(userValidations.validateUserExists(eq(INVALID_USER_ID), anyString(), anyBoolean())).thenReturn(Either.right(???)));
+ when(userValidations.validateUserExists(eq(USER_ID), anyString(), anyBoolean())).thenReturn(user);
+ when(titanGenericDao.getByCriteriaWithPredicate(eq(NodeTypeEnum.GroupType), any(), eq(GroupTypeData.class))).thenReturn(Either.left(buildGroupTypeDataList()));
}
@Override
@@ -105,26 +121,31 @@ public class GroupTypesEndpointTest extends JerseySpringBaseTest {
}
@Test
+ public void verifyExclusionMapIsCaseInsensitive() {
+ Map<String, Set<String>> excludedGroupTypesMapping = configurationManager.getConfiguration().getExcludedGroupTypesMapping();
+ assertThat(excludedGroupTypesMapping.get(COMPONENT_TYPE)).hasSameElementsAs(excludedGroupTypesMapping.get(COMPONENT_TYPE.toLowerCase()));
+ }
+
+ @Test
public void getGroupTypes_validUser_Success() {
List<GroupTypeDefinition> testConfigGroupTypes = buildGroupTypesList();
- when(groupTypeOperation.getAllGroupTypes(EXCLUDED_TYPES)).thenReturn(buildGroupTypesList());
- List<GroupTypeDefinition> fetchedGroupTypes = buildGetGroupTypesCall(USER_ID).get(new GenericType<List<GroupTypeDefinition>>(){});
+ List<GroupTypeDefinition> fetchedGroupTypes = buildGetGroupTypesCall(USER_ID, COMPONENT_TYPE).get(new GenericType<List<GroupTypeDefinition>>(){});
verifyGroupTypesList(testConfigGroupTypes, fetchedGroupTypes);
}
@Test
public void getGroupTypes_whenNoInteranlComponentType_passEmptyAsExcludedTypes() {
List<GroupTypeDefinition> testConfigGroupTypes = buildGroupTypesList();
- when(groupTypeOperation.getAllGroupTypes(null)).thenReturn(buildGroupTypesList());
List<GroupTypeDefinition> fetchedGroupTypes = buildGetGroupTypesCallNoInternalComponent(USER_ID).get(new GenericType<List<GroupTypeDefinition>>(){});
verifyGroupTypesList(testConfigGroupTypes, fetchedGroupTypes);
}
private void verifyGroupTypesList(List<GroupTypeDefinition> groupTypes, List<GroupTypeDefinition> fetchedGroupTypes) {
+ String[] expectedReturnFields = {"version", "type", "uniqueId", "name", "icon"};
assertThat(fetchedGroupTypes)
- .usingElementComparatorOnFields("version", "type", "uniqueId")
+ .usingElementComparatorOnFields(expectedReturnFields)
.isEqualTo(groupTypes);
- verifyOnlySpecificFieldsInResponse(fetchedGroupTypes, "version", "type", "uniqueId");
+ verifyOnlySpecificFieldsInResponse(fetchedGroupTypes, expectedReturnFields);
}
private void verifyOnlySpecificFieldsInResponse(List<GroupTypeDefinition> fetchedGroupTypes, String ... fields) {
@@ -133,9 +154,9 @@ public class GroupTypesEndpointTest extends JerseySpringBaseTest {
.containsOnly(EMPTY_GROUP_TYPE);
}
- private Invocation.Builder buildGetGroupTypesCall(String userId) {
+ private Invocation.Builder buildGetGroupTypesCall(String userId, String componentType) {
return target("/v1/catalog/groupTypes")
- .queryParam("internalComponentType", COMPONENT_TYPE)
+ .queryParam("internalComponentType", componentType)
.request(MediaType.APPLICATION_JSON)
.header(Constants.USER_ID_HEADER, userId);
}
@@ -157,14 +178,43 @@ public class GroupTypesEndpointTest extends JerseySpringBaseTest {
private List<GroupTypeDefinition> buildGroupTypesList() {
GroupTypeDefinition type1 = GroupTypeBuilder.create()
.setDerivedFrom("root")
- .setType("VFModule")
+ .setType("org.openecomp.groups.VfModule")
.setUniqueId("id1")
.setVersion("1.0")
+ .setName("vf module")
+ .setIcon("vf module icon")
+ .build();
+ GroupTypeDefinition type2 = GroupTypeBuilder.create()
+ .setDerivedFrom("root")
+ .setType("org.openecomp.groups.NetworkCollection")
+ .setUniqueId("id2")
+ .setVersion("1.0")
+ .setName("network collection")
+ .setIcon("network collection icon")
.build();
- GroupTypeDefinition type2 = GroupTypeBuilder.create().setDerivedFrom("root").setType("Heat").setUniqueId("id2").build();
return asList(type1, type2);
}
+ private List<GroupTypeData> buildGroupTypeDataList() {
+ GroupTypeDataDefinition d1 = new GroupTypeDataDefinition();
+ d1.setType("org.openecomp.groups.VfModule");
+ d1.setDerivedFrom("root");
+ d1.setUniqueId("id1");
+ d1.setVersion("1.0");
+ d1.setName("vf module");
+ d1.setIcon("vf module icon");
+ GroupTypeData gt1 = new GroupTypeData(d1);
+ GroupTypeDataDefinition d2 = new GroupTypeDataDefinition();
+ d2.setType("org.openecomp.groups.NetworkCollection");
+ d2.setDerivedFrom("root");
+ d2.setUniqueId("id2");
+ d2.setVersion("1.0");
+ d2.setName("network collection");
+ d2.setIcon("network collection icon");
+ GroupTypeData gt2 = new GroupTypeData(d2);
+ return asList(gt1, gt2);
+ }
+
private GroupTypeDefinition[] listOfEmptyGroupTypes(int size) {
return Stream.generate(GroupTypeDefinition::new).limit(size).toArray(GroupTypeDefinition[]::new);
}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/InputsServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/InputsServletTest.java
deleted file mode 100644
index 9ff55c22f0..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/InputsServletTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.components.impl.InputsBusinessLogic;
-import org.openecomp.sdc.be.model.ComponentInstInputsMap;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.exception.ResponseFormat;
-
-import fj.data.Either;
-
-public class InputsServletTest {
-
- private InputsServlet createTestSubject() {
- return new InputsServlet();
- }
-
-
- @Test
- public void testGetComponentInputs() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String fromName = "";
- int amount = 0;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testUpdateComponentInputs() throws Exception {
- InputsServlet testSubject;
- String containerComponentType = "";
- String componentId = "";
- String data = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetComponentInstanceInputs() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- String instanceId = "";
- String originComonentUid = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetInputPropertiesForComponentInstance() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- String instanceId = "";
- String inputId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetInputsForComponentInput() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- String inputId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetInputsAndPropertiesForComponentInput() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- String inputId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testParseToComponentInstanceMap() throws Exception {
- InputsServlet testSubject;
- String serviceJson = "";
- User user = null;
- Either<ComponentInstInputsMap, ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testCreateMultipleInputs() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- HttpServletRequest request = null;
- String userId = "";
- String componentInstInputsMapObj = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testDeleteInput() throws Exception {
- InputsServlet testSubject;
- String componentType = "";
- String componentId = "";
- String inputId = "";
- HttpServletRequest request = null;
- String userId = "";
- String componentInstInputsMapObj = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetInputBL() throws Exception {
- InputsServlet testSubject;
- ServletContext context = null;
- InputsBusinessLogic result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/JerseySpringBaseTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/JerseySpringBaseTest.java
index c7e759dfea..0c02ab02cb 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/JerseySpringBaseTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/JerseySpringBaseTest.java
@@ -1,26 +1,47 @@
package org.openecomp.sdc.be.servlets;
-import static org.mockito.Mockito.mock;
-
-import javax.servlet.http.HttpServletRequest;
-
+import com.fasterxml.jackson.databind.DeserializationFeature;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
+import org.glassfish.jersey.logging.LoggingFeature;
+import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.BeforeClass;
+import org.openecomp.sdc.be.servlets.exception.ComponentExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.DefaultExceptionMapper;
+import org.openecomp.sdc.be.servlets.exception.StorageExceptionMapper;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-public class JerseySpringBaseTest extends JerseyTest {
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.Feature;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import static org.mockito.Mockito.mock;
+public abstract class JerseySpringBaseTest extends JerseyTest {
+
+ private static final Logger log = Logger.getLogger(JerseySpringBaseTest.class.getName());
protected static HttpServletRequest request;
+ private final static JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ private final static Feature loggingFeature = new LoggingFeature(log, Level.INFO, LoggingFeature.Verbosity.PAYLOAD_ANY, null);
@BeforeClass
public static void initBaseClass() {
request = mock(HttpServletRequest.class);
}
+ @Override
+ protected void configureClient(ClientConfig config) {
+ config.register(MultiPartFeature.class)
+ .register(loggingFeature)
+ .register(jacksonJsonProvider);
+ }
+
protected ResourceConfig configure() {
return configure(BaseTestConfig.class);
}
@@ -38,6 +59,9 @@ public class JerseySpringBaseTest extends JerseyTest {
.register(DefaultExceptionMapper.class)
.register(ComponentExceptionMapper.class)
.register(StorageExceptionMapper.class)
+ .register(MultiPartFeature.class)
+ .register(jacksonJsonProvider)
+ .register(loggingFeature)
.property("jersey.config.server.provider.classnames", "org.openecomp.sdc.be.view.MixinModelWriter")
.property("contextConfig", context);
}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/LifecycleServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/LifecycleServletTest.java
deleted file mode 100644
index 8ea39b7443..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/LifecycleServletTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.model.LifeCycleTransitionEnum;
-import org.openecomp.sdc.be.model.User;
-
-import fj.data.Either;
-
-public class LifecycleServletTest {
-
- private LifecycleServlet createTestSubject() {
- return new LifecycleServlet();
- }
-
-
- @Test
- public void testChangeResourceState() throws Exception {
- LifecycleServlet testSubject;
- String jsonChangeInfo = "";
- String componentCollection = "";
- String lifecycleTransition = "";
- String componentId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testValidateTransitionEnum() throws Exception {
- LifecycleServlet testSubject;
- String lifecycleTransition = "";
- User user = null;
- Either<LifeCycleTransitionEnum, Response> result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyServletTest.java
index 41e2abe29f..8677194d26 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyServletTest.java
@@ -1,25 +1,7 @@
package org.openecomp.sdc.be.servlets;
-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.anyMap;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import fj.data.Either;
import org.glassfish.grizzly.http.util.HttpStatus;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
@@ -27,7 +9,6 @@ import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvi
import org.glassfish.jersey.server.ResourceConfig;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mockito;
import org.openecomp.sdc.be.components.impl.PolicyBusinessLogic;
@@ -43,9 +24,21 @@ import org.openecomp.sdc.be.model.PropertyDefinition;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.exception.ResponseFormat;
-import com.fasterxml.jackson.databind.DeserializationFeature;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
-import fj.data.Either;
+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.*;
+import static org.mockito.Mockito.when;
public class PolicyServletTest extends JerseySpringBaseTest{
@@ -92,7 +85,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.get(Response.class);
- assertTrue(response.getStatus() == HttpStatus.OK_200.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.OK_200.getStatusCode());
}
@Test
@@ -106,7 +99,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.get(Response.class);
- assertTrue(response.getStatus() == HttpStatus.BAD_REQUEST_400.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.BAD_REQUEST_400.getStatusCode());
}
@Test
@@ -123,7 +116,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.post(Entity.entity(policy, MediaType.APPLICATION_JSON),Response.class);
- assertTrue(response.getStatus() == HttpStatus.CREATED_201.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.CREATED_201.getStatusCode());
}
@Test
@@ -138,7 +131,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.post(Entity.entity(policy, MediaType.APPLICATION_JSON),Response.class);
- assertTrue(response.getStatus() == HttpStatus.BAD_REQUEST_400.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.BAD_REQUEST_400.getStatusCode());
}
@Test
@@ -156,7 +149,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.put(Entity.entity(policy, MediaType.APPLICATION_JSON),Response.class);
- assertTrue(response.getStatus() == HttpStatus.OK_200.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.OK_200.getStatusCode());
}
@Test
@@ -171,7 +164,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.put(Entity.entity(policy, MediaType.APPLICATION_JSON),Response.class);
- assertTrue(response.getStatus() == HttpStatus.BAD_REQUEST_400.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.BAD_REQUEST_400.getStatusCode());
}
@Test
@@ -187,7 +180,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.delete(Response.class);
- assertTrue(response.getStatus() == HttpStatus.NO_CONTENT_204.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.NO_CONTENT_204.getStatusCode());
}
@Test
@@ -201,7 +194,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.header("USER_ID", USER_ID)
.delete(Response.class);
- assertTrue(response.getStatus() == HttpStatus.BAD_REQUEST_400.getStatusCode());
+ assertEquals(response.getStatus(), HttpStatus.BAD_REQUEST_400.getStatusCode());
}
@Test
@@ -219,11 +212,10 @@ public class PolicyServletTest extends JerseySpringBaseTest{
}
@Test
- @Ignore
public void getPolicyProperties_wrongComponentType() {
Response response = buildGetPropertiesRequest("unknownType").get();
assertThat(response.getStatus()).isEqualTo(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
- verifyZeroInteractions(businessLogic);
+ //verifyZeroInteractions(businessLogic);
}
@Test
@@ -313,7 +305,7 @@ public class PolicyServletTest extends JerseySpringBaseTest{
.resolveTemplate("policyId", POLICY_ID)
.request(MediaType.APPLICATION_JSON)
.header(Constants.USER_ID_HEADER, USER_ID)
- .buildPut(Entity.entity(targets, MediaType.APPLICATION_JSON));
+ .buildPost(Entity.entity(targets, MediaType.APPLICATION_JSON));
}
private Invocation.Builder buildGetPropertiesRequest() {
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyTypesEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyTypesEndpointTest.java
index b58cae56a2..9d65c407fc 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyTypesEndpointTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PolicyTypesEndpointTest.java
@@ -1,20 +1,6 @@
package org.openecomp.sdc.be.servlets;
-import static java.util.Arrays.asList;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.List;
-
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.core.GenericType;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
import org.apache.http.HttpStatus;
-import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
-import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
import org.glassfish.jersey.server.ResourceConfig;
import org.junit.Test;
import org.openecomp.sdc.be.components.impl.PolicyTypeBusinessLogic;
@@ -25,9 +11,15 @@ import org.openecomp.sdc.be.model.PolicyTypeDefinition;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.exception.ResponseFormat;
-import com.fasterxml.jackson.databind.DeserializationFeature;
+import javax.ws.rs.client.Invocation;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import java.util.List;
-import fj.data.Either;
+import static java.util.Arrays.asList;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
public class PolicyTypesEndpointTest extends JerseySpringBaseTest {
@@ -40,16 +32,14 @@ public class PolicyTypesEndpointTest extends JerseySpringBaseTest {
protected ResourceConfig configure() {
policyTypeBusinessLogic = mock(PolicyTypeBusinessLogic.class);
componentUtils = mock(ComponentsUtils.class);
- final JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return super.configure()
- .register(new PolicyTypesEndpoint(policyTypeBusinessLogic))
- .register(jacksonJsonProvider);
+ .register(new PolicyTypesEndpoint(policyTypeBusinessLogic));
}
@Test
public void getPolicyTypes() {
List<PolicyTypeDefinition> policyTypes = buildPolicyTypesList();
- when(policyTypeBusinessLogic.getAllPolicyTypes(USER_ID, COMPONENT_TYPE)).thenReturn(Either.left(policyTypes));
+ when(policyTypeBusinessLogic.getAllPolicyTypes(USER_ID, COMPONENT_TYPE)).thenReturn(policyTypes);
when(componentUtils.getResponseFormat(ActionStatus.OK)).thenReturn(new ResponseFormat(HttpStatus.SC_OK));
List<PolicyTypeDefinition> fetchedPolicyTypes = buildGetPolicyTypesCall().get(new GenericType<List<PolicyTypeDefinition>>(){});
verifyPolicyTypesList(policyTypes, fetchedPolicyTypes);
@@ -58,22 +48,16 @@ public class PolicyTypesEndpointTest extends JerseySpringBaseTest {
@Test
public void getPolicyTypes_whenNoInternalComponent_passNullAsComponentType() {
List<PolicyTypeDefinition> policyTypes = buildPolicyTypesList();
- when(policyTypeBusinessLogic.getAllPolicyTypes(USER_ID, null)).thenReturn(Either.left(policyTypes));
+ when(policyTypeBusinessLogic.getAllPolicyTypes(USER_ID, null)).thenReturn(policyTypes);
when(componentUtils.getResponseFormat(ActionStatus.OK)).thenReturn(new ResponseFormat(HttpStatus.SC_OK));
List<PolicyTypeDefinition> fetchedPolicyTypes = buildGetPolicyTypesCallNoInternalComponent().get(new GenericType<List<PolicyTypeDefinition>>(){});
verifyPolicyTypesList(policyTypes, fetchedPolicyTypes);
}
- @Test
- public void getPolicyTypes_error() {
- when(policyTypeBusinessLogic.getAllPolicyTypes(USER_ID, COMPONENT_TYPE)).thenReturn(Either.right(new ResponseFormat(HttpStatus.SC_INTERNAL_SERVER_ERROR)));
- Response response = buildGetPolicyTypesCall().get();
- assertThat(response.getStatus()).isEqualTo(500);
- }
private void verifyPolicyTypesList(List<PolicyTypeDefinition> policyTypes, List<PolicyTypeDefinition> fetchedPolicyTypes) {
assertThat(fetchedPolicyTypes)
- .usingElementComparatorOnFields("version", "type", "uniqueId")
+ .usingElementComparatorOnFields("version", "type", "uniqueId", "name", "icon")
.isEqualTo(policyTypes);
assertThat(fetchedPolicyTypes).extracting("derivedFrom")//derivedFrom is not on the PolicyTypeMixin and should not return in response
.containsOnly((String)null);
@@ -93,9 +77,30 @@ public class PolicyTypesEndpointTest extends JerseySpringBaseTest {
}
private List<PolicyTypeDefinition> buildPolicyTypesList() {
- PolicyTypeDefinition type1 = new PolicyTypeBuilder().setDerivedFrom("root").setType("type1").setUniqueId("id1").setVersion("1.0").build();
- PolicyTypeDefinition type2 = new PolicyTypeBuilder().setDerivedFrom("type1").setType("type2").setUniqueId("id2").setVersion("1.0").build();
- PolicyTypeDefinition type3 = new PolicyTypeBuilder().setDerivedFrom("root").setType("type3").setUniqueId("id3").setVersion("1.0").build();
+ PolicyTypeDefinition type1 = new PolicyTypeBuilder()
+ .setDerivedFrom("root")
+ .setType("type1")
+ .setUniqueId("id1")
+ .setVersion("1.0")
+ .setName("type1name")
+ .setIcon("type1Icon")
+ .build();
+ PolicyTypeDefinition type2 = new PolicyTypeBuilder()
+ .setDerivedFrom("type1")
+ .setType("type2")
+ .setUniqueId("id2")
+ .setVersion("1.0")
+ .setName("type2name")
+ .setIcon("type2con")
+ .build();
+ PolicyTypeDefinition type3 = new PolicyTypeBuilder()
+ .setDerivedFrom("root")
+ .setType("type3")
+ .setUniqueId("id3")
+ .setVersion("1.0")
+ .setName("type3name")
+ .setIcon("type3con")
+ .build();
return asList(type1, type2, type3);
}
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ProductServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ProductServletTest.java
deleted file mode 100644
index 66208daaf7..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ProductServletTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-public class ProductServletTest {
-
- private ProductServlet createTestSubject() {
- return new ProductServlet();
- }
-
-
- @Test
- public void testCreateProduct() throws Exception {
- ProductServlet testSubject;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetProductById() throws Exception {
- ProductServlet testSubject;
- String productId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetServiceByNameAndVersion() throws Exception {
- ProductServlet testSubject;
- String productName = "";
- String productVersion = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testDeleteProduct() throws Exception {
- ProductServlet testSubject;
- String productId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testUpdateProductMetadata() throws Exception {
- ProductServlet testSubject;
- String productId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testValidateServiceName() throws Exception {
- ProductServlet testSubject;
- String productName = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PropertyServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PropertyServletTest.java
deleted file mode 100644
index fe147b19a9..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/PropertyServletTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import java.util.Map;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.codehaus.jettison.json.JSONObject;
-import org.junit.Test;
-import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
-import org.openecomp.sdc.be.dao.api.ActionStatus;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-
-import fj.data.Either;
-
-public class PropertyServletTest {
-
- private PropertyServlet createTestSubject() {
- return new PropertyServlet();
- }
-
-
- @Test
- public void testCreateProperty() throws Exception {
- PropertyServlet testSubject;
- String resourceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetProperty() throws Exception {
- PropertyServlet testSubject;
- String resourceId = "";
- String propertyId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testDeleteProperty() throws Exception {
- PropertyServlet testSubject;
- String resourceId = "";
- String propertyId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testUpdateProperty() throws Exception {
- PropertyServlet testSubject;
- String resourceId = "";
- String propertyId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetPropertyModel() throws Exception {
- PropertyServlet testSubject;
- String resourceId = "";
- String data = "";
- Either<Map<String, PropertyDefinition>, ActionStatus> result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
-
-
-
- @Test
- public void testGetPropertyDefinitionJSONObject() throws Exception {
- PropertyServlet testSubject;
- PropertyDefinition propertyDefinition = null;
- JSONObject result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetPropertyBL() throws Exception {
- PropertyServlet testSubject;
- ServletContext context = null;
- PropertyBusinessLogic result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RepresentationUtilsTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RepresentationUtilsTest.java
index f64dfb9fec..f0843ed2ad 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RepresentationUtilsTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RepresentationUtilsTest.java
@@ -1,16 +1,14 @@
package org.openecomp.sdc.be.servlets;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.HashMap;
-
import org.apache.tinkerpop.gremlin.structure.T;
import org.junit.Test;
import org.openecomp.sdc.be.model.ArtifactDefinition;
import org.openecomp.sdc.be.model.Operation;
+import java.util.HashMap;
+
+import static org.junit.Assert.*;
+
public class RepresentationUtilsTest {
private RepresentationUtils createTestSubject() {
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RequirementsServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RequirementsServletTest.java
deleted file mode 100644
index a7c23732ee..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/RequirementsServletTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-public class RequirementsServletTest {
-
- private RequirementsServlet createTestSubject() {
- return new RequirementsServlet();
- }
-
-
- @Test
- public void testUpdateRequirement() throws Exception {
- RequirementsServlet testSubject;
- String resourceId = "";
- String requirementId = "";
- String requirementData = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceArtifactDownloadServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceArtifactDownloadServletTest.java
deleted file mode 100644
index 319e59a5eb..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceArtifactDownloadServletTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-
-import ch.qos.logback.classic.Logger;
-
-public class ResourceArtifactDownloadServletTest {
-
- private ResourceArtifactDownloadServlet createTestSubject() {
- return new ResourceArtifactDownloadServlet();
- }
-
-
- @Test
- public void testGetResourceArtifactByName() throws Exception {
- ResourceArtifactDownloadServlet testSubject;
- String resourceName = "";
- String resourceVersion = "";
- String artifactName = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetResourceArtifactMetadata() throws Exception {
- ResourceArtifactDownloadServlet testSubject;
- String resourceName = "";
- String resourceVersion = "";
- String artifactName = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetLogger() throws Exception {
- ResourceArtifactDownloadServlet testSubject;
- Logger result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceServletTest.java
index 5a35793ab9..8b8dfc6b9c 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceServletTest.java
@@ -20,19 +20,9 @@
package org.openecomp.sdc.be.servlets;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.when;
-
-import java.util.Arrays;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import fj.data.Either;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
@@ -65,10 +55,18 @@ import org.springframework.context.annotation.AnnotationConfigApplicationContext
import org.springframework.http.HttpStatus;
import org.springframework.web.context.WebApplicationContext;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.util.Arrays;
-import fj.data.Either;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
public class ResourceServletTest extends JerseyTest {
public static final HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
@@ -101,7 +99,7 @@ public class ResourceServletTest extends JerseyTest {
when(userAdmin.getUser(userId, false)).thenReturn(eitherUser);
when(request.getHeader(Constants.USER_ID_HEADER)).thenReturn(userId);
- ImmutablePair<Resource, ActionStatus> pair = new ImmutablePair<Resource, ActionStatus>(new Resource(), ActionStatus.OK);
+ ImmutablePair<Resource, ActionStatus> pair = new ImmutablePair<>(new Resource(), ActionStatus.OK);
Either<ImmutablePair<Resource, ActionStatus>, ResponseFormat> ret = Either.left(pair);
when(resourceImportManager.importUserDefinedResource(Mockito.anyString(), Mockito.any(UploadResourceInfo.class), Mockito.any(User.class), Mockito.anyBoolean())).thenReturn(ret);
@@ -115,8 +113,7 @@ public class ResourceServletTest extends JerseyTest {
public ResponseFormat answer(InvocationOnMock invocation) {
Object[] args = invocation.getArguments();
ActionStatus action = (ActionStatus) args[0];
- ResponseFormat resp = (action == ActionStatus.OK) ? new ResponseFormat(HttpStatus.CREATED.value()) : new ResponseFormat(HttpStatus.INTERNAL_SERVER_ERROR.value());
- return resp;
+ return (action == ActionStatus.OK) ? new ResponseFormat(HttpStatus.CREATED.value()) : new ResponseFormat(HttpStatus.INTERNAL_SERVER_ERROR.value());
}
}).when(componentUtils).getResponseFormat(Mockito.any(ActionStatus.class));
@@ -129,7 +126,7 @@ public class ResourceServletTest extends JerseyTest {
Response response = target().path("/v1/catalog/resources").request(MediaType.APPLICATION_JSON).post(Entity.json(gson.toJson(validJson)), Response.class);
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(Mockito.any(ActionStatus.class));
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(ActionStatus.OK);
- assertTrue(response.getStatus() == HttpStatus.CREATED.value());
+ assertEquals(response.getStatus(), HttpStatus.CREATED.value());
}
@@ -142,7 +139,7 @@ public class ResourceServletTest extends JerseyTest {
Response response = target().path("/v1/catalog/resources").request(MediaType.APPLICATION_JSON).post(Entity.json(gson.toJson(validJson)), Response.class);
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(Mockito.any(ActionStatus.class));
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(ActionStatus.INVALID_RESOURCE_CHECKSUM);
- assertTrue(response.getStatus() == HttpStatus.INTERNAL_SERVER_ERROR.value());
+ assertEquals(response.getStatus(), HttpStatus.INTERNAL_SERVER_ERROR.value());
}
@@ -227,7 +224,7 @@ public class ResourceServletTest extends JerseyTest {
Response response = target().path("/v1/catalog/resources").request(MediaType.APPLICATION_JSON).post(Entity.json(gson.toJson(mdJson)), Response.class);
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(Mockito.any(ActionStatus.class));
Mockito.verify(componentUtils, Mockito.times(1)).getResponseFormat(invalidResourcePayload);
- assertTrue(response.getStatus() == HttpStatus.INTERNAL_SERVER_ERROR.value());
+ assertEquals(response.getStatus(), HttpStatus.INTERNAL_SERVER_ERROR.value());
}
private void setMD5OnRequest(boolean isValid, UploadResourceInfo json) {
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceUploadServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceUploadServletTest.java
index 8d9b95d414..efe8043ff5 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceUploadServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourceUploadServletTest.java
@@ -20,22 +20,7 @@
package org.openecomp.sdc.be.servlets;
-import static org.mockito.ArgumentMatchers.anyObject;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.Application;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import com.google.gson.Gson;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
@@ -66,7 +51,20 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.context.WebApplicationContext;
-import com.google.gson.Gson;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
public class ResourceUploadServletTest extends JerseyTest {
private static final Logger log = LoggerFactory.getLogger(ResourceUploadServletTest.class);
@@ -92,7 +90,7 @@ public class ResourceUploadServletTest extends JerseyTest {
// when(servletContext.getAttribute(Constants.AUDITING_MANAGER)).thenReturn(iAuditingManager);
when(webAppContextWrapper.getWebAppContext(servletContext)).thenReturn(webApplicationContext);
when(webApplicationContext.getBean(IResourceUploader.class)).thenReturn(iResourceUploader);
- when(iResourceUploader.saveArtifact((ESArtifactData) anyObject(), eq(true))).thenReturn(ResourceUploadStatus.OK);
+ when(iResourceUploader.saveArtifact((ESArtifactData) any(), eq(true))).thenReturn(ResourceUploadStatus.OK);
when(webApplicationContext.getBean(AuditingManager.class)).thenReturn(iAuditingManager);
}
@@ -136,7 +134,7 @@ public class ResourceUploadServletTest extends JerseyTest {
@Test
public void testMultipart() {
FileDataBodyPart filePart = new FileDataBodyPart("resourceZip", new File("src/test/resources/config/normative-types-root.zip"));
- List<String> tags = new ArrayList<String>();
+ List<String> tags = new ArrayList<>();
tags.add("tag1");
tags.add("tag2");
UploadResourceInfo resourceInfo = new UploadResourceInfo("payload", "normative-types-root.yml", "my_description", "category/mycategory", tags, null);
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourcesServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourcesServletTest.java
deleted file mode 100644
index 841254e4dc..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ResourcesServletTest.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.model.PropertyDefinition;
-import org.openecomp.sdc.be.model.Resource;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.exception.ResponseFormat;
-
-import com.google.common.base.Equivalence.Wrapper;
-
-import fj.data.Either;
-
-public class ResourcesServletTest {
-
- private ResourcesServlet createTestSubject() {
- return new ResourcesServlet();
- }
-
-
- @Test
- public void testCreateResource() throws Exception {
- ResourcesServlet testSubject;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testIsUIImport() throws Exception {
- ResourcesServlet testSubject;
- String data = "";
- boolean result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testPerformUIImport() throws Exception {
- ResourcesServlet testSubject;Wrapper<Response> responseWrapper = null;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- String resourceUniqueId = "";
-
-
- // default test
- }
-
-
- @Test
- public void testParseToResource() throws Exception {
- ResourcesServlet testSubject;
- String resourceJson = "";
- User user = null;
- Either<Resource, ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testParseToLightResource() throws Exception {
- ResourcesServlet testSubject;
- String resourceJson = "";
- User user = null;
- Either<Resource, ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteResource() throws Exception {
- ResourcesServlet testSubject;
- String resourceId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteResourceByNameAndVersion() throws Exception {
- ResourcesServlet testSubject;
- String resourceName = "";
- String version = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetResourceById() throws Exception {
- ResourcesServlet testSubject;
- String resourceId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetResourceByNameAndVersion() throws Exception {
- ResourcesServlet testSubject;
- String resourceName = "";
- String resourceVersion = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testValidateResourceName() throws Exception {
- ResourcesServlet testSubject;
- String resourceName = "";
- String resourceType = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetCertifiedAbstractResources() throws Exception {
- ResourcesServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetCertifiedNotAbstractResources() throws Exception {
- ResourcesServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateResourceMetadata() throws Exception {
- ResourcesServlet testSubject;
- String resourceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateResource() throws Exception {
- ResourcesServlet testSubject;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- String resourceId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testConvertMapToList() throws Exception {
- Map<String, PropertyDefinition> properties = null;
- List<PropertyDefinition> result;
-
- // test 1
- properties = null;
-
- }
-
-
- @Test
- public void testGetResourceFromCsar() throws Exception {
- ResourcesServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- String csarUUID = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ServiceServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ServiceServletTest.java
deleted file mode 100644
index 2b4ddfb7b4..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ServiceServletTest.java
+++ /dev/null
@@ -1,265 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.components.lifecycle.LifecycleChangeInfoWithAction;
-import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
-import org.openecomp.sdc.be.model.User;
-import org.openecomp.sdc.exception.ResponseFormat;
-
-import com.google.common.base.Equivalence.Wrapper;
-import com.google.common.util.concurrent.Service;
-
-import fj.data.Either;
-
-public class ServiceServletTest {
-
- private ServiceServlet createTestSubject() {
- return new ServiceServlet();
- }
-
-
- @Test
- public void testCreateService() throws Exception {
- ServiceServlet testSubject;
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testParseToService() throws Exception {
- ServiceServlet testSubject;
- String serviceJson = "";
- User user = null;
- Either<Service, ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testValidateServiceName() throws Exception {
- ServiceServlet testSubject;
- String serviceName = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetComponentAuditRecords() throws Exception {
- ServiceServlet testSubject;
- String componentType = "";
- String componentUniqueId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testFillUUIDAndVersion() throws Exception {
- ServiceServlet testSubject;Wrapper<Response> responseWrapper = null;
- Wrapper<String> uuidWrapper = null;
- Wrapper<String> versionWrapper = null;
- User user = null;
- ComponentTypeEnum componentTypeEnum = null;
- String componentUniqueId = "";
- ServletContext context = null;
-
-
- // default test
- }
-
-
- @Test
- public void testDeleteService() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDeleteServiceByNameAndVersion() throws Exception {
- ServiceServlet testSubject;
- String serviceName = "";
- String version = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateServiceMetadata() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateGroupInstancePropertyValues() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- String componentInstanceId = "";
- String groupInstanceId = "";
- String data = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetServiceById() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testGetServiceByNameAndVersion() throws Exception {
- ServiceServlet testSubject;
- String serviceName = "";
- String serviceVersion = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testUpdateServiceDistributionState() throws Exception {
- ServiceServlet testSubject;
- LifecycleChangeInfoWithAction jsonChangeInfo = null;
- String serviceId = "";
- String state = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testActivateDistribution() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- String env = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testMarkDistributionAsDeployed() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- String did = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testTempUrlToBeDeleted() throws Exception {
- ServiceServlet testSubject;
- String serviceId = "";
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testDownloadServiceArtifact() throws Exception {
- ServiceServlet testSubject;
- String artifactName = "";
- HttpServletRequest request = null;
- Response result;
-
- // default test
- testSubject = createTestSubject();
-
- }
-
-
- @Test
- public void testExecuteCommand() throws Exception {
- ServiceServlet testSubject;
- String artifactName = "";
- Either<byte[], ResponseFormat> result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesFetchServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesFetchServletTest.java
deleted file mode 100644
index e512d98ca9..0000000000
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesFetchServletTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.openecomp.sdc.be.servlets;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Response;
-
-import org.junit.Test;
-import org.openecomp.sdc.be.components.impl.PropertyBusinessLogic;
-
-public class TypesFetchServletTest {
-
- private TypesFetchServlet createTestSubject() {
- return new TypesFetchServlet();
- }
-
-
- @Test
- public void testGetAllDataTypesServlet() throws Exception {
- TypesFetchServlet testSubject;
- HttpServletRequest request = null;
- String userId = "";
- Response result;
-
- // default test
- testSubject = createTestSubject();
- }
-
-
- @Test
- public void testGetPropertyBL() throws Exception {
- TypesFetchServlet testSubject;
- ServletContext context = null;
- PropertyBusinessLogic result;
-
- // default test
- testSubject = createTestSubject();
- }
-} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadEndpointTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadEndpointTest.java
new file mode 100644
index 0000000000..8638de334a
--- /dev/null
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadEndpointTest.java
@@ -0,0 +1,205 @@
+package org.openecomp.sdc.be.servlets;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import fj.data.Either;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.eclipse.jetty.http.HttpStatus;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.glassfish.jersey.jackson.internal.jackson.jaxrs.json.JacksonJsonProvider;
+import org.glassfish.jersey.logging.LoggingFeature;
+import org.glassfish.jersey.media.multipart.FormDataMultiPart;
+import org.glassfish.jersey.media.multipart.MultiPart;
+import org.glassfish.jersey.media.multipart.MultiPartFeature;
+import org.glassfish.jersey.media.multipart.file.FileDataBodyPart;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.openecomp.sdc.be.components.impl.CommonImportManager;
+import org.openecomp.sdc.be.components.validation.AccessValidations;
+import org.openecomp.sdc.be.dao.titan.TitanGenericDao;
+import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
+import org.openecomp.sdc.be.datatypes.enums.NodeTypeEnum;
+import org.openecomp.sdc.be.impl.ComponentsUtils;
+import org.openecomp.sdc.be.model.AnnotationTypeDefinition;
+import org.openecomp.sdc.be.model.operations.StorageException;
+import org.openecomp.sdc.be.model.operations.impl.AnnotationTypeOperations;
+import org.openecomp.sdc.be.model.operations.impl.CommonTypeOperations;
+import org.openecomp.sdc.be.model.operations.impl.OperationUtils;
+import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
+import org.openecomp.sdc.be.resources.data.AnnotationTypeData;
+import org.openecomp.sdc.common.api.Constants;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Import;
+
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import static java.util.Collections.emptyMap;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anyMap;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.Mockito.*;
+
+public class TypesUploadEndpointTest extends JerseySpringBaseTest {
+
+ static final String userId = "jh0003";
+
+ private static AccessValidations accessValidations;
+ private static TitanGenericDao titanGenericDao;
+ private static PropertyOperation propertyOperation;
+ private static ComponentsUtils componentUtils;
+ private static OperationUtils operationUtils;
+
+ @org.springframework.context.annotation.Configuration
+ @Import(BaseTestConfig.class)
+ static class TypesUploadTestConfig {
+
+ @Bean
+ TypesUploadEndpoint typesUploadEndpoint() {
+ return new TypesUploadEndpoint(commonImportManager(), annotationTypeOperations(), accessValidations);
+ }
+
+ @Bean
+ CommonImportManager commonImportManager() {
+ return new CommonImportManager(componentUtils, propertyOperation);
+ }
+
+ @Bean
+ AnnotationTypeOperations annotationTypeOperations() {
+ return new AnnotationTypeOperations(commonTypeOperations());
+ }
+
+ @Bean
+ CommonTypeOperations commonTypeOperations() {
+ return new CommonTypeOperations(titanGenericDao, propertyOperation, operationUtils);
+ }
+ }
+
+ @BeforeClass
+ public static void initClass() {
+ titanGenericDao = mock(TitanGenericDao.class);
+ accessValidations = mock(AccessValidations.class);
+ propertyOperation = mock(PropertyOperation.class);
+ componentUtils = Mockito.mock(ComponentsUtils.class);
+ operationUtils = Mockito.mock(OperationUtils.class);
+ }
+
+ @Override
+ protected void configureClient(ClientConfig config) {
+ final JacksonJsonProvider jacksonJsonProvider = new JacksonJaxbJsonProvider()
+ .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ config.register(jacksonJsonProvider);
+ config.register(MultiPartFeature.class);
+ }
+
+ @Override
+ protected ResourceConfig configure() {
+ return super.configure(TypesUploadEndpointTest.TypesUploadTestConfig.class)
+ .register(TypesUploadEndpoint.class)
+ .property(LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL_SERVER, "WARNING");
+ }
+
+ @Test
+ public void creatingAnnotationTypeSuccessTest() {
+ doNothing().when(accessValidations).validateUserExists(eq(userId), anyString());
+ when(titanGenericDao.createNode(isA(AnnotationTypeData.class), eq(AnnotationTypeData.class))).thenReturn(Either.left(new AnnotationTypeData()));
+ when(titanGenericDao.getNode(anyString(), eq("org.openecomp.annotations.source.1.0.annotationtype"), eq(AnnotationTypeData.class))).thenReturn(Either.left(new AnnotationTypeData()));
+ when(titanGenericDao.getByCriteria(eq(NodeTypeEnum.AnnotationType), anyMap(), eq(AnnotationTypeData.class))).thenReturn(Either.right(TitanOperationStatus.NOT_FOUND));
+ when(propertyOperation.addPropertiesToElementType(anyString(), eq(NodeTypeEnum.AnnotationType), anyList())).thenReturn(Either.left(emptyMap()));
+ when(propertyOperation.fillPropertiesList(anyString(), eq(NodeTypeEnum.AnnotationType), any())).thenReturn(TitanOperationStatus.OK);
+ when(propertyOperation.getTitanGenericDao()).thenReturn(titanGenericDao);
+ when(titanGenericDao.commit()).thenReturn(TitanOperationStatus.OK);
+ when(titanGenericDao.rollback()).thenReturn(TitanOperationStatus.OK);
+ FileDataBodyPart filePart = new FileDataBodyPart("annotationTypesZip", new File("src/test/resources/types/annotationTypes.zip"));
+ MultiPart multipartEntity = new FormDataMultiPart();
+ multipartEntity.bodyPart(filePart);
+
+ Response response = target().path("/v1/catalog/uploadType/annotationtypes")
+ .request(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, userId)
+ .post(Entity.entity(multipartEntity, MediaType.MULTIPART_FORM_DATA), Response.class);
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.CREATED_201);
+ assertThat(Boolean.valueOf(getTypeActionResult(response))).isTrue();
+ }
+
+ private String getTypeActionResult(Response response) {
+ String typeResult = "";
+ String body = response.readEntity(String.class);
+ int indexColon = body.lastIndexOf(':');
+ if (indexColon > 0) {
+ int indexCurly = body.indexOf('}', indexColon);
+ if (indexCurly > 0) {
+ typeResult = body.substring(indexColon+1, indexCurly);
+ }
+ }
+ return typeResult;
+ }
+
+ @Test
+ public void creatingAnnotationTypeFailureTest() {
+ doNothing().when(accessValidations).validateUserExists(eq(userId), anyString());
+ when(titanGenericDao.createNode(isA(AnnotationTypeData.class), eq(AnnotationTypeData.class))).thenReturn(Either.left(new AnnotationTypeData()));
+ when(titanGenericDao.getNode(anyString(), eq("org.openecomp.annotations.source.1.0.annotationtype"), eq(AnnotationTypeData.class))).thenReturn(Either.left(new AnnotationTypeData()));
+ when(titanGenericDao.getByCriteria(eq(NodeTypeEnum.AnnotationType), anyMap(), eq(AnnotationTypeData.class))).thenReturn(Either.right(TitanOperationStatus.NOT_FOUND));
+ when(propertyOperation.addPropertiesToElementType(anyString(), eq(NodeTypeEnum.AnnotationType), anyList())).thenThrow(new StorageException(TitanOperationStatus.MATCH_NOT_FOUND));
+ when(propertyOperation.fillPropertiesList(anyString(), eq(NodeTypeEnum.AnnotationType), any())).thenReturn(TitanOperationStatus.OK);
+ when(propertyOperation.getTitanGenericDao()).thenReturn(titanGenericDao);
+ when(titanGenericDao.commit()).thenReturn(TitanOperationStatus.OK);
+ when(titanGenericDao.rollback()).thenReturn(TitanOperationStatus.OK);
+ FileDataBodyPart filePart = new FileDataBodyPart("annotationTypesZip", new File("src/test/resources/types/annotationTypes.zip"));
+ MultiPart multipartEntity = new FormDataMultiPart();
+ multipartEntity.bodyPart(filePart);
+
+ Response response = target().path("/v1/catalog/uploadType/annotationtypes")
+ .request(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, userId)
+ .post(Entity.entity(multipartEntity, MediaType.MULTIPART_FORM_DATA), Response.class);
+ assertThat(response.getStatus()).isEqualTo(HttpStatus.BAD_REQUEST_400);
+ assertThat(Boolean.valueOf(getTypeActionResult(response))).isFalse();
+ }
+
+ @Test
+ public void singleTypeSucceeded_statusIsCreated() {
+ List<ImmutablePair<AnnotationTypeDefinition, Boolean>> typeActionResults = new ArrayList<>();
+ AnnotationTypeDefinition dummyDefition = new AnnotationTypeDefinition();
+ typeActionResults.add(new ImmutablePair(dummyDefition, true));
+ assertThat(TypesUploadEndpoint.getHttpStatus(typeActionResults).value()).isEqualTo(HttpStatus.CREATED_201);
+ }
+
+ @Test
+ public void singleTypeExists_statusIsConflict() {
+ List<ImmutablePair<AnnotationTypeDefinition, Boolean>> typeActionResults = new ArrayList<>();
+ AnnotationTypeDefinition dummyDefition = new AnnotationTypeDefinition();
+ typeActionResults.add(new ImmutablePair(dummyDefition, null));
+ assertThat(TypesUploadEndpoint.getHttpStatus(typeActionResults).value()).isEqualTo(HttpStatus.CONFLICT_409);
+ }
+
+ @Test
+ public void mixedSuccessAndExists_statusIsCreated() {
+ List<ImmutablePair<AnnotationTypeDefinition, Boolean>> typeActionResults = new ArrayList<>();
+ AnnotationTypeDefinition dummyDefition = new AnnotationTypeDefinition();
+ typeActionResults.add(new ImmutablePair(dummyDefition, true));
+ typeActionResults.add(new ImmutablePair(dummyDefition, null));
+ assertThat(TypesUploadEndpoint.getHttpStatus(typeActionResults).value()).isEqualTo(HttpStatus.CREATED_201);
+ }
+
+ @Test
+ public void mixedSuccessAndFailure_statusIsBadRequest() {
+ List<ImmutablePair<AnnotationTypeDefinition, Boolean>> typeActionResults = new ArrayList<>();
+ AnnotationTypeDefinition dummyDefition = new AnnotationTypeDefinition();
+ typeActionResults.add(new ImmutablePair(dummyDefition, true));
+ typeActionResults.add(new ImmutablePair(dummyDefition, false));
+ typeActionResults.add(new ImmutablePair(dummyDefition, null));
+ assertThat(TypesUploadEndpoint.getHttpStatus(typeActionResults).value()).isEqualTo(HttpStatus.BAD_REQUEST_400);
+ }
+} \ No newline at end of file
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java
index cfa65f76a5..e97f13c716 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/TypesUploadServletTest.java
@@ -20,20 +20,8 @@
package org.openecomp.sdc.be.servlets;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.when;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
+import fj.data.Either;
+import org.apache.commons.lang3.tuple.ImmutablePair;
import org.eclipse.jetty.http.HttpStatus;
import org.glassfish.hk2.utilities.binding.AbstractBinder;
import org.glassfish.jersey.client.ClientConfig;
@@ -66,7 +54,19 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.web.context.WebApplicationContext;
-import fj.data.Either;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.File;
+import java.util.List;
+
+import static java.util.Collections.emptyList;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.when;
public class TypesUploadServletTest extends JerseyTest {
@@ -104,8 +104,7 @@ public class TypesUploadServletTest extends JerseyTest {
@Test
public void creatingCapabilityTypeSuccessTest() {
- List<CapabilityTypeDefinition> emptyList = new ArrayList<CapabilityTypeDefinition>();
- Either<List<CapabilityTypeDefinition>, ResponseFormat> either = Either.left(emptyList);
+ Either<List<ImmutablePair<CapabilityTypeDefinition, Boolean>>, ResponseFormat> either = Either.left(emptyList());
when(importManager.createCapabilityTypes(Mockito.anyString())).thenReturn(either);
FileDataBodyPart filePart = new FileDataBodyPart("capabilityTypeZip", new File("src/test/resources/types/capabilityTypes.zip"));
MultiPart multipartEntity = new FormDataMultiPart();
@@ -113,7 +112,7 @@ public class TypesUploadServletTest extends JerseyTest {
Response response = target().path("/v1/catalog/uploadType/capability").request(MediaType.APPLICATION_JSON).post(Entity.entity(multipartEntity, MediaType.MULTIPART_FORM_DATA), Response.class);
- assertTrue(response.getStatus() == HttpStatus.CREATED_201);
+ assertEquals(response.getStatus(), HttpStatus.CREATED_201);
}
@@ -131,25 +130,25 @@ public class TypesUploadServletTest extends JerseyTest {
resourceConfig.register(MultiPartFeature.class);
resourceConfig.register(new AbstractBinder() {
- @Override
- protected void configure() {
- // The below code was cut-pasted to here from setup() because
- // due to it now has
- // to be executed during servlet initialization
- bind(request).to(HttpServletRequest.class);
- when(request.getSession()).thenReturn(session);
- when(session.getServletContext()).thenReturn(servletContext);
- String appConfigDir = "src/test/resources/config/catalog-be";
- ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
- ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
- for (String mandatoryHeader : configurationManager.getConfiguration().getIdentificationHeaderFields()) {
-
- when(request.getHeader(mandatoryHeader)).thenReturn(mandatoryHeader);
-
- }
-
- when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager);
- }
+ @Override
+ protected void configure() {
+ // The below code was cut-pasted to here from setup() because
+ // due to it now has
+ // to be executed during servlet initialization
+ bind(request).to(HttpServletRequest.class);
+ when(request.getSession()).thenReturn(session);
+ when(session.getServletContext()).thenReturn(servletContext);
+ String appConfigDir = "src/test/resources/config/catalog-be";
+ ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
+ ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
+ for (String mandatoryHeader : configurationManager.getConfiguration().getIdentificationHeaderFields()) {
+
+ when(request.getHeader(mandatoryHeader)).thenReturn(mandatoryHeader);
+
+ }
+
+ when(servletContext.getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).thenReturn(configurationManager);
+ }
});
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
resourceConfig.property("contextConfig", context);