summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/servlets/ArchiveEndpointTest.java213
1 files changed, 123 insertions, 90 deletions
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
index d879b46439..4359270d53 100644
--- 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
@@ -22,12 +22,33 @@
package org.openecomp.sdc.be.servlets;
+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.doThrow;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import fj.data.Either;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+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 org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.openecomp.sdc.be.catalog.enums.ChangeTypeEnum;
import org.openecomp.sdc.be.components.impl.ArchiveBusinessLogic;
@@ -89,27 +110,7 @@ import org.springframework.context.annotation.PropertySource;
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.doThrow;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class ArchiveEndpointTest extends JerseyTest {
+class ArchiveEndpointTest extends JerseyTest {
private static final ServletContext servletContext = mock(ServletContext.class);
private static final String CSAR_UUID1 = "123456789abcdefgh";
@@ -121,7 +122,7 @@ public class ArchiveEndpointTest extends JerseyTest {
private static final UserBusinessLogic userAdmin = mock(UserBusinessLogic.class);
private static final ComponentsUtils componentUtils = mock(ComponentsUtils.class);
private static final CatalogOperation catalogOperations = mock(CatalogOperation.class);
-// private static final ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
+ // private static final ToscaOperationFacade toscaOperationFacade = mock(ToscaOperationFacade.class);
private static final ToscaOperationFacade toscaOperationFacade = Mockito.spy(new ToscaOperationFacade());
@@ -144,6 +145,7 @@ public class ArchiveEndpointTest extends JerseyTest {
@Configuration
@PropertySource("classpath:dao.properties")
static class TestSpringConfig {
+
private ArchiveOperation archiveOperation;
private GraphVertex catalogVertex;
@@ -171,7 +173,8 @@ public class ArchiveEndpointTest extends JerseyTest {
@Bean
ArchiveBusinessLogic archiveBusinessLogic() {
- return new ArchiveBusinessLogic(janusGraphDao(), accessValidations(), archiveOperation(), toscaOperationFacade(), componentUtils, catalogOperations);
+ return new ArchiveBusinessLogic(janusGraphDao(), accessValidations(), archiveOperation(),
+ toscaOperationFacade(), componentUtils, catalogOperations);
}
@Bean
@@ -249,7 +252,7 @@ public class ArchiveEndpointTest extends JerseyTest {
}
@Bean
- HealingPipelineDao healingPipelineDao(){
+ HealingPipelineDao healingPipelineDao() {
return HEALING_PIPELINE_DAO;
}
@@ -271,7 +274,6 @@ public class ArchiveEndpointTest extends JerseyTest {
//Create Service for Scenario 1 Tests (1 Service)
serviceVertex = GraphTestUtils.createServiceVertex(janusGraphDao, propsForHighestVersion());
-
Map<GraphPropertyEnum, Object> props = propsForHighestVersion();
props.put(GraphPropertyEnum.IS_VSP_ARCHIVED, false);
props.put(GraphPropertyEnum.CSAR_UUID, CSAR_UUID1);
@@ -287,7 +289,7 @@ public class ArchiveEndpointTest extends JerseyTest {
janusGraphDao.createEdge(catalogVertex, resourceVertex, EdgeLabelEnum.CATALOG_ELEMENT, null);
}
- private Map<GraphPropertyEnum, Object> propsForHighestVersion(){
+ private Map<GraphPropertyEnum, Object> propsForHighestVersion() {
Map<GraphPropertyEnum, Object> props = new HashMap<>();
props.put(GraphPropertyEnum.IS_HIGHEST_VERSION, true);
return props;
@@ -297,22 +299,26 @@ public class ArchiveEndpointTest extends JerseyTest {
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.TESTER.name(), System.currentTimeMillis());
-
- @BeforeClass
+ 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.TESTER.name(),
+ System.currentTimeMillis());
+
+ @BeforeAll
public static void setup() {
//Needed for User Authorization
//========================================================================================================================
- when(servletContext.getAttribute(Constants.WEB_APPLICATION_CONTEXT_WRAPPER_ATTR)).thenReturn(webAppContextWrapper);
+ 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(componentUtils.getResponseFormat(eq(ActionStatus.INVALID_SERVICE_STATE), any()))
+ .thenReturn(invalidServiceStateResponseFormat);
when(responseFormat.getStatus()).thenReturn(HttpStatus.UNAUTHORIZED.value());
ComponentException ce = new ByResponseFormatComponentException(responseFormat);
@@ -322,24 +328,29 @@ public class ArchiveEndpointTest extends JerseyTest {
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(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);
+ when(graphLockOperation.lockComponent(anyString(), any(NodeTypeEnum.class)))
+ .thenReturn(StorageOperationStatus.OK);
when(userAdmin.getUser(adminUser.getUserId(), false)).thenReturn(adminUser);
when(userAdmin.getUser(designerUser.getUserId(), false)).thenReturn(designerUser);
when(userAdmin.getUser(otherUser.getUserId(), false)).thenReturn(otherUser);
//========================================================================================================================
String appConfigDir = "src/test/resources/config/catalog-be";
- ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), appConfigDir);
+ 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.setJanusGraphInMemoryGraph(true);
org.openecomp.sdc.be.config.Configuration.HeatDeploymentArtifactTimeout heatDeploymentArtifactTimeout = new org.openecomp.sdc.be.config.Configuration.HeatDeploymentArtifactTimeout();
- heatDeploymentArtifactTimeout.setDefaultMinutes(30);;
+ heatDeploymentArtifactTimeout.setDefaultMinutes(30);
+ ;
configuration.setHeatArtifactDeploymentTimeout(heatDeploymentArtifactTimeout);
configurationManager.setConfiguration(configuration);
@@ -347,13 +358,23 @@ public class ArchiveEndpointTest extends JerseyTest {
ExternalConfiguration.setAppName("catalog-be");
}
+ @BeforeEach
+ public void before() throws Exception {
+ super.setUp();
+ }
+
+ @AfterEach
+ public void tearDown() throws Exception {
+ super.tearDown();
+ }
+
@Test
- public void getArchivedComponents_Empty() {
+ void getArchivedComponents_Empty() {
assertOnGetArchivedComponents(null, 0);
}
@Test
- public void archiveAndGetArchivedService_SingleService() {
+ void archiveAndGetArchivedService_SingleService() {
Component serviceComponent = mock(Component.class);
final String serviceUniqueId = serviceVertex.getUniqueId();
when(toscaOperationFacade.getToscaElement(serviceUniqueId)).thenReturn(Either.left(serviceComponent));
@@ -364,7 +385,7 @@ public class ArchiveEndpointTest extends JerseyTest {
}
@Test
- public void archiveAndGetArchivedResource_SingleResource() {
+ void archiveAndGetArchivedResource_SingleResource() {
Component component = mock(Component.class);
final String uniqueId = resourceVertex.getUniqueId();
when(toscaOperationFacade.getToscaElement(uniqueId)).thenReturn(Either.left(component));
@@ -375,40 +396,40 @@ public class ArchiveEndpointTest extends JerseyTest {
}
@Test
- public void attemptArchiveCheckedOutService() {
+ void attemptArchiveCheckedOutService() {
checkoutComponent(serviceVertex);
archiveService(serviceVertex.getUniqueId(), HttpStatus.CONFLICT.value());
}
@Test
- public void testOnArchivedVsps(){
+ 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));
+ .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(){
+ 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));
+ .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);
@@ -418,24 +439,24 @@ public class ArchiveEndpointTest extends JerseyTest {
* Rainy Scenarios
*/
@Test
- public void archiveWithInvalidUid() {
+ void archiveWithInvalidUid() {
archiveService("fakeUid", HttpStatus.NOT_FOUND.value());
}
@Test
- public void restoreWithInvalidUid() {
+ void restoreWithInvalidUid() {
restoreService("fakeUid", HttpStatus.NOT_FOUND.value());
}
@Test
- public void archiveWithTester() {
+ 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);
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, otherUser.getUserId())
+ .post(null);
assertThat(response.getStatus()).isEqualTo(HttpStatus.UNAUTHORIZED.value());
}
@@ -455,20 +476,30 @@ public class ArchiveEndpointTest extends JerseyTest {
assertThat(v.getMetadataProperty(GraphPropertyEnum.IS_VSP_ARCHIVED)).isEqualTo(expectedValue);
}
- private void archiveService(String id, int expectedStatus){ archiveOrRestoreService(id, ArchiveOperation.Action.ARCHIVE, expectedStatus); }
- private void restoreService(String id, int expectedStatus){ archiveOrRestoreService(id, ArchiveOperation.Action.RESTORE, expectedStatus); }
+ private void archiveService(String id, int expectedStatus) {
+ archiveOrRestoreService(id, ArchiveOperation.Action.ARCHIVE, expectedStatus);
+ }
- private void archiveResource(String id, int expectedStatus){ archiveOrRestoreResource(id, ArchiveOperation.Action.ARCHIVE, expectedStatus); }
- private void restoreResource(String id, int expectedStatus){ archiveOrRestoreResource(id, ArchiveOperation.Action.RESTORE, expectedStatus); }
+ private void restoreService(String id, int expectedStatus) {
+ archiveOrRestoreService(id, ArchiveOperation.Action.RESTORE, expectedStatus);
+ }
+
+ private void archiveResource(String id, int expectedStatus) {
+ archiveOrRestoreResource(id, ArchiveOperation.Action.ARCHIVE, expectedStatus);
+ }
+
+ private void restoreResource(String id, int expectedStatus) {
+ archiveOrRestoreResource(id, ArchiveOperation.Action.RESTORE, expectedStatus);
+ }
private void archiveOrRestoreService(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);
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .post(null);
assertThat(response.getStatus()).isEqualTo(expectedStatus);
}
@@ -476,11 +507,11 @@ public class ArchiveEndpointTest extends JerseyTest {
private void archiveOrRestoreResource(String compUid, ArchiveOperation.Action action, int expectedStatus) {
String path = String.format("/v1/catalog/resources/%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);
+ .path(path)
+ .request()
+ .accept(MediaType.APPLICATION_JSON)
+ .header(Constants.USER_ID_HEADER, designerUser.getUserId())
+ .post(null);
assertThat(response.getStatus()).isEqualTo(expectedStatus);
}
@@ -489,13 +520,15 @@ public class ArchiveEndpointTest extends JerseyTest {
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>>>() { });
+ .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) {
@@ -511,9 +544,9 @@ public class ArchiveEndpointTest extends JerseyTest {
ApplicationContext context = new AnnotationConfigApplicationContext(TestSpringConfig.class);
forceSet(TestProperties.CONTAINER_PORT, "0");
return new ResourceConfig(ArchiveEndpoint.class)
- .register(DefaultExceptionMapper.class)
- .register(ComponentExceptionMapper.class)
- .register(StorageExceptionMapper.class)
- .property("contextConfig", context);
+ .register(DefaultExceptionMapper.class)
+ .register(ComponentExceptionMapper.class)
+ .register(StorageExceptionMapper.class)
+ .property("contextConfig", context);
}
}