X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=asdc-controller%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fso%2Fasdc%2Finstaller%2Fbpmn%2FBpmnInstallerTest.java;h=7071a68a2392516d7408c89912f45f8a3e36e955;hb=5223788222fd78c9e50680471eb0529361645230;hp=c572097103f5300637023f0e2e65a4749d704de5;hpb=9ed35e29b33510622b0fca1b8e3c21f2d44844d4;p=so.git diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java index c572097103..7071a68a23 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/bpmn/BpmnInstallerTest.java @@ -4,6 +4,8 @@ * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * ================================================================================ + * Modifications Copyright (c) 2019 Samsung + * ================================================================================ * 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 @@ -21,19 +23,22 @@ package org.onap.so.asdc.installer.bpmn; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; - +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; - import javax.transaction.Transactional; - import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; @@ -42,6 +47,7 @@ import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.message.BasicHttpResponse; import org.apache.http.message.BasicStatusLine; +import org.junit.AfterClass; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -49,41 +55,62 @@ import org.junit.rules.TemporaryFolder; @Transactional public class BpmnInstallerTest { - + private BpmnInstaller bpmnInstaller = new BpmnInstaller(); - + + private static final String TEST_CSAR = "src/test/resources/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar"; + private Path tempDirectoryPath; + @Rule - public TemporaryFolder folder= new TemporaryFolder(); + public TemporaryFolder folder = new TemporaryFolder(); @Before public void init() throws Exception { - System.setProperty("mso.config.path", folder.getRoot().toString()); + System.setProperty("mso.config.path", folder.getRoot().toString()); + // we need to have this directory created for InstallBPMN test success + tempDirectoryPath = Paths.get(folder.getRoot().toString(), "ASDC"); + Files.createDirectories(tempDirectoryPath); } - + + @AfterClass + public static void cleanup() { + System.clearProperty("mso.config.path"); + } + @Test public void buildMimeMultiPart_Test() throws Exception { - Path tempDirectoryPath = Paths.get(folder.getRoot().toString(), "ASDC"); - Path tempFilePath = Paths.get(tempDirectoryPath.toAbsolutePath().toString(), "TestBB.bpmn"); - Files.createDirectories(tempDirectoryPath); - Files.createFile(tempFilePath); - HttpEntity entity = bpmnInstaller.buildMimeMultipart("TestBB.bpmn"); - String mimeMultipartBodyFilePath = "src/test/resources" + "/mime-multipart-body.txt"; - - File mimeMultipartBody = new File(mimeMultipartBodyFilePath); - InputStream expectedContent = new FileInputStream(mimeMultipartBody); - - assertThat(IOUtils.contentEquals(expectedContent, entity.getContent())); - - IOUtils.closeQuietly(expectedContent); + Path tempFilePath = Paths.get(tempDirectoryPath.toAbsolutePath().toString(), "TestBB.bpmn"); + Files.createFile(tempFilePath); + HttpEntity entity = bpmnInstaller.buildMimeMultipart("TestBB.bpmn", ""); + String mimeMultipartBodyFilePath = "src/test/resources" + "/mime-multipart-body.txt"; + + File mimeMultipartBody = new File(mimeMultipartBodyFilePath); + InputStream expectedContent = new FileInputStream(mimeMultipartBody); + + assertThat(IOUtils.contentEquals(expectedContent, entity.getContent())); + + IOUtils.closeQuietly(expectedContent); } @Test public void installBpmn_Test() throws Exception { - HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "")); - HttpClient httpClient = mock(HttpClient.class); - String csarPath = "src/test/resources" + "/resource-examples/WorkflowBpmn/service-CxSvc-csar.csar"; - doReturn(response).when(httpClient).execute(any(HttpPost.class)); - bpmnInstaller.installBpmn(csarPath); + BpmnInstaller bpmnInstallerSpy = spy(bpmnInstaller); + HttpResponse response = new BasicHttpResponse(new BasicStatusLine(new ProtocolVersion("HTTP", 1, 1), 200, "")); + HttpClient httpClient = mock(HttpClient.class); + doReturn(response).when(httpClient).execute(any(HttpPost.class)); + bpmnInstallerSpy.installBpmn(TEST_CSAR); + verify(bpmnInstallerSpy, times(1)).sendDeploymentRequest(anyString(), anyString()); + } + + @Test + public void containsWorkflowsSuccess() { + boolean result = bpmnInstaller.containsWorkflows(TEST_CSAR); + assertTrue(result); + } + + @Test + public void containsWorkflowsFailure() { + boolean result = bpmnInstaller.containsWorkflows("DOESNOTEXIST.csar"); + assertFalse(result); } - }