aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java')
-rw-r--r--openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java158
1 files changed, 152 insertions, 6 deletions
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java
index 2dc6cd737c..1e2debf033 100644
--- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java
+++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/test/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImplTest.java
@@ -1,10 +1,13 @@
package org.openecomp.sdcrests.vsp.rest.services;
+import org.apache.commons.lang3.tuple.Pair;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatchers;
import org.mockito.Mock;
import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
import org.openecomp.sdc.activitylog.ActivityLogManager;
@@ -16,30 +19,38 @@ import org.openecomp.sdc.vendorsoftwareproduct.OrchestrationTemplateCandidateMan
import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager;
import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory;
import org.openecomp.sdc.vendorsoftwareproduct.security.SecurityManagerException;
+import org.openecomp.sdc.vendorsoftwareproduct.types.OrchestrationTemplateActionResponse;
import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.UploadFileStatus;
+import org.openecomp.sdc.vendorsoftwareproduct.types.ValidationResponse;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
+import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.Module;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.FileDataStructureDto;
+import org.openecomp.sdcrests.vendorsoftwareproducts.types.OrchestrationTemplateActionResponseDto;
import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto;
import org.openecomp.sdcrests.vsp.rest.data.PackageArchive;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
-import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response;
+import java.io.IOException;
+import java.util.Arrays;
import java.util.Optional;
+import java.util.UUID;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.MockitoAnnotations.initMocks;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.mockito.PowerMockito.whenNew;
+import static org.powermock.api.mockito.PowerMockito.*;
@RunWith(PowerMockRunner.class)
@PrepareForTest({VspManagerFactory.class, ActivityLogManagerFactory.class,
OrchestrationTemplateCandidateManagerFactory.class, OrchestrationTemplateCandidateImpl.class})
public class OrchestrationTemplateCandidateImplTest {
- Logger logger = LoggerFactory.getLogger(OrchestrationTemplateCandidateImplTest.class);
+ private Logger logger = LoggerFactory.getLogger(OrchestrationTemplateCandidateImplTest.class);
+
@Mock
private OrchestrationTemplateCandidateManager candidateManager;
@Mock
@@ -57,6 +68,12 @@ public class OrchestrationTemplateCandidateImplTest {
private OrchestrationTemplateCandidateImpl orchestrationTemplateCandidate;
+ private final String candidateId = UUID.randomUUID().toString();
+ private final String softwareProductId = UUID.randomUUID().toString();
+ private final String versionId = UUID.randomUUID().toString();
+
+ private final String user = "cs0008";
+
@Before
public void setUp(){
try {
@@ -78,6 +95,46 @@ public class OrchestrationTemplateCandidateImplTest {
uploadFileResponse.setOnboardingType(OnboardingTypesEnum.ZIP);
uploadFileResponse.setNetworkPackageName("test");
when(candidateManager.upload(any(), any(), any(), any(), any())).thenReturn(uploadFileResponse);
+
+
+ // get using the candidate manager.
+ Optional<Pair<String,byte[]>> zipFile =
+ Optional.of(Pair.of("Hello", "World".getBytes()));
+
+ when(candidateManager.get(
+ ArgumentMatchers.eq(candidateId),
+ ArgumentMatchers.any())).thenReturn(zipFile);
+
+ when(vendorSoftwareProductManager.get(
+ ArgumentMatchers.eq(softwareProductId),
+ ArgumentMatchers.any())).thenReturn(zipFile);
+
+
+ OrchestrationTemplateActionResponse processResponse =
+ new OrchestrationTemplateActionResponse();
+ processResponse.setStatus(UploadFileStatus.Success);
+ when(candidateManager.process(
+ ArgumentMatchers.eq(candidateId),
+ ArgumentMatchers.any())).thenReturn(processResponse);
+
+
+ ValidationResponse vr = new ValidationResponse();
+ when(candidateManager.updateFilesDataStructure(
+ ArgumentMatchers.eq(candidateId),
+ ArgumentMatchers.any(),
+ ArgumentMatchers.any())).thenReturn(vr);
+
+ FilesDataStructure fds = new FilesDataStructure();
+ fds.setArtifacts(Arrays.asList("a","b"));
+ fds.setNested(Arrays.asList("foo", "bar"));
+ fds.setUnassigned(Arrays.asList("c", "d"));
+ fds.setModules(Arrays.asList(new Module(), new Module()));
+
+ when(candidateManager.getFilesDataStructure(
+ ArgumentMatchers.eq(candidateId),
+ ArgumentMatchers.any())).thenReturn(Optional.of(fds));
+
+
}catch (Exception e){
logger.error(e.getMessage(), e);
}
@@ -118,4 +175,93 @@ public class OrchestrationTemplateCandidateImplTest {
assertFalse(((UploadFileResponseDto)response.getEntity()).getErrors().isEmpty());
}
+
+ @Test
+ public void testCandidateGet() throws IOException {
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.get(candidateId, versionId, user);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ Assert.assertNotEquals(rsp.getHeaderString("Content-Disposition").indexOf("Candidate"),-1);
+ byte[] content = (byte[])rsp.getEntity();
+ Assert.assertEquals("World", new String(content));
+
+ }
+
+ @Test
+ public void testVendorSoftwareProductGet() throws IOException {
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.get(softwareProductId, versionId, user);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ Assert.assertNotEquals(rsp.getHeaderString("Content-Disposition").indexOf("Processed"),-1);
+ byte[] content = (byte[])rsp.getEntity();
+ Assert.assertEquals("World", new String(content));
+ }
+
+ @Test
+ public void testMissingGet() throws IOException {
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.get(UUID.randomUUID().toString(), versionId, user);
+ Assert.assertEquals("Response status equals", Response.Status.NOT_FOUND.getStatusCode(), rsp.getStatus());
+ }
+
+ @Test
+ public void testAbort() {
+ try {
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.abort(candidateId, versionId);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ Assert.assertNull(rsp.getEntity());
+ }
+ catch (Exception ex) {
+ logger.error("unexpected exception", ex);
+ Assert.fail("abort should not throw an exception");
+ }
+ }
+
+ @Test
+ public void testProcess() {
+ try {
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.process(candidateId, versionId, user);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ Assert.assertNotNull(rsp.getEntity());
+ OrchestrationTemplateActionResponseDto dto = (OrchestrationTemplateActionResponseDto)rsp.getEntity();
+ Assert.assertEquals("status check", UploadFileStatus.Success, dto.getStatus());
+ }
+ catch (Exception ex) {
+ logger.error("unexpected exception", ex);
+ Assert.fail("abort should not throw an exception");
+ }
+ }
+
+ @Test
+ public void testFilesDataStructureUpload() {
+ try {
+ FileDataStructureDto dto = new FileDataStructureDto();
+ dto.setArtifacts(Arrays.asList("a", "b", "c"));
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.updateFilesDataStructure(candidateId, versionId, dto, user);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ }
+ catch (Exception ex) {
+ logger.error("unexpected exception", ex);
+ Assert.fail("abort should not throw an exception");
+ }
+ }
+
+ @Test
+ public void testFilesDataStructureGet() {
+ try {
+ FileDataStructureDto dto = new FileDataStructureDto();
+ dto.setArtifacts(Arrays.asList("a", "b", "c"));
+ orchestrationTemplateCandidate = new OrchestrationTemplateCandidateImpl();
+ Response rsp = orchestrationTemplateCandidate.getFilesDataStructure(candidateId, versionId, user);
+ Assert.assertEquals("Response status equals", Response.Status.OK.getStatusCode(), rsp.getStatus());
+ }
+ catch (Exception ex) {
+ logger.error("unexpected exception", ex);
+ Assert.fail("abort should not throw an exception");
+ }
+ }
+
}