X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=rapp-manager-models%2Fsrc%2Ftest%2Fjava%2Fcom%2Foransc%2Frappmanager%2Fmodels%2Fcsar%2FRappCsarConfigurationHandlerTest.java;h=2325789004f94843cdcb27bedc02aad3f0e50289;hb=4b54b7ed29e736b2f80878bab90acaedb4e7117e;hp=e769b124a546bffcafda9942ed4013736b795d1f;hpb=c9785060554d2ad1cdef28bca317fa7f11e82fc0;p=nonrtric%2Fplt%2Frappmanager.git diff --git a/rapp-manager-models/src/test/java/com/oransc/rappmanager/models/csar/RappCsarConfigurationHandlerTest.java b/rapp-manager-models/src/test/java/com/oransc/rappmanager/models/csar/RappCsarConfigurationHandlerTest.java index e769b12..2325789 100755 --- a/rapp-manager-models/src/test/java/com/oransc/rappmanager/models/csar/RappCsarConfigurationHandlerTest.java +++ b/rapp-manager-models/src/test/java/com/oransc/rappmanager/models/csar/RappCsarConfigurationHandlerTest.java @@ -23,18 +23,12 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doCallRealMethod; import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.JsonSyntaxException; -import com.oransc.rappmanager.models.exception.RappHandlerException; import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rapp.RappResources; import com.oransc.rappmanager.models.rappinstance.RappACMInstance; @@ -42,26 +36,17 @@ import com.oransc.rappmanager.models.rappinstance.RappDMEInstance; import com.oransc.rappmanager.models.rappinstance.RappSMEInstance; import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; import java.util.List; import java.util.Set; import java.util.UUID; -import java.util.stream.Stream; -import org.apache.http.entity.ContentType; import org.json.JSONException; import org.json.JSONObject; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.Arguments; -import org.junit.jupiter.params.provider.MethodSource; import org.junit.jupiter.params.provider.ValueSource; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.SpyBean; -import org.springframework.http.HttpStatus; -import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.context.ContextConfiguration; -import org.springframework.web.multipart.MultipartFile; @SpringBootTest @ContextConfiguration(classes = {ObjectMapper.class, RappCsarConfigurationHandler.class}) @@ -74,123 +59,10 @@ class RappCsarConfigurationHandlerTest { private final String validRappFile = "valid-rapp-package.csar"; - private final String invalidRappFile = "invalid-rapp-package.csar"; - private final String invalidRappNoAsdFile = "invalid-rapp-package-no-asd-yaml.csar"; private final String invalidRappEmptyAsdFile = "invalid-rapp-package-empty-asd-yaml.csar"; - @Test - void testCsarPackageValidationSuccess() throws IOException { - String rappCsarPath = validCsarFileLocation + File.separator + validRappFile; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - assertEquals(Boolean.TRUE, rappCsarConfigurationHandler.isValidRappPackage(multipartFile)); - } - - @ParameterizedTest - @MethodSource("getInvalidCsarPackage") - void testCsarPackageValidationFailure(MultipartFile multipartFile) { - RappHandlerException exception = assertThrows(RappHandlerException.class, - () -> rappCsarConfigurationHandler.isValidRappPackage(multipartFile)); - assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode()); - } - - - private static Stream getInvalidCsarPackage() throws IOException { - String validCsarFileLocation = "src/test/resources"; - String rappCsarPath = validCsarFileLocation + File.separator + "invalid-rapp-package.csar"; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - String rappCsarPathNoTosca = validCsarFileLocation + File.separator + "invalid-rapp-package-no-tosca.csar"; - MultipartFile multipartFileNoTosca = new MockMultipartFile(rappCsarPathNoTosca, rappCsarPathNoTosca, - ContentType.MULTIPART_FORM_DATA.getMimeType(), new FileInputStream(rappCsarPathNoTosca)); - String rappCsarPathNoAsdYaml = validCsarFileLocation + File.separator + "invalid-rapp-package-no-asd-yaml.csar"; - MultipartFile multipartFileNoAsdYaml = new MockMultipartFile(rappCsarPathNoAsdYaml, rappCsarPathNoAsdYaml, - ContentType.MULTIPART_FORM_DATA.getMimeType(), new FileInputStream(rappCsarPathNoAsdYaml)); - String rappCsarPathMissingArtifact = - validCsarFileLocation + File.separator + "invalid-rapp-package-missing-artifact.csar"; - MultipartFile multipartFileMissingArtifact = - new MockMultipartFile(rappCsarPathMissingArtifact, rappCsarPathMissingArtifact, - ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPathMissingArtifact)); - String rappCsarPathNoComposition = - validCsarFileLocation + File.separator + "invalid-rapp-package-no-acm-composition.csar"; - MultipartFile multipartFileNoComposition = - new MockMultipartFile(rappCsarPathNoComposition, rappCsarPathNoComposition, - ContentType.MULTIPART_FORM_DATA.getMimeType(), new FileInputStream(rappCsarPathNoComposition)); - return Stream.of(Arguments.of(multipartFile), Arguments.of(multipartFileNoTosca), - Arguments.of(multipartFileNoAsdYaml), Arguments.of(multipartFileMissingArtifact), - Arguments.of(multipartFileNoComposition)); - } - - @Test - void testCsarPackageValidationFailureWithoutOrginalName() { - MultipartFile multipartFile = mock(MultipartFile.class); - assertEquals(Boolean.FALSE, rappCsarConfigurationHandler.isValidRappPackage(multipartFile)); - } - - @Test - void testInvalidCsarFileExist() { - MultipartFile multipartFile = mock(MultipartFile.class); - RappHandlerException exception = assertThrows(RappHandlerException.class, - () -> rappCsarConfigurationHandler.isFileExistsInCsar(multipartFile, "INVALID_LOCATION")); - assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode()); - } - - @Test - void testCsarContainsValidAsdFile() throws IOException { - String rappCsarPath = validCsarFileLocation + File.separator + validRappFile; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - assertTrue(rappCsarConfigurationHandler.containsValidArtifactDefinition(multipartFile)); - } - - @Test - void testCsarContainsValidAsdFileFailure() throws IOException { - String rappCsarPath = validCsarFileLocation + File.separator + invalidRappFile; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - RappHandlerException exception = assertThrows(RappHandlerException.class, - () -> rappCsarConfigurationHandler.containsValidArtifactDefinition(multipartFile)); - assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode()); - } - - @Test - void testCsarNoAsdFailure() { - MultipartFile multipartFile = mock(MultipartFile.class); - RappHandlerException exception = assertThrows(RappHandlerException.class, - () -> rappCsarConfigurationHandler.containsValidArtifactDefinition(multipartFile)); - assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode()); - } - - @Test - void testCsarAsdContentInvalidFailure() throws IOException { - String rappCsarPath = validCsarFileLocation + File.separator + validRappFile; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - String invalidJson = "{asasdasd"; - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - byteArrayOutputStream.write(invalidJson.getBytes(), 0, invalidJson.getBytes().length); - doCallRealMethod().doReturn(byteArrayOutputStream).when(rappCsarConfigurationHandler) - .getFileFromCsar(any(MultipartFile.class), any()); - RappHandlerException exception = assertThrows(RappHandlerException.class, - () -> rappCsarConfigurationHandler.containsValidArtifactDefinition(multipartFile)); - assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode()); - } - - @Test - void testgetFileFromCsarFailure() throws IOException { - MultipartFile multipartFile = mock(MultipartFile.class); - when(multipartFile.getInputStream()).thenThrow(new IOException()); - assertThat(rappCsarConfigurationHandler.getFileFromCsar(multipartFile, null).size()).isZero(); - } - @Test void testCsarInstantiationPayload() throws JSONException { Rapp rapp = Rapp.builder().name("").packageName(validRappFile).packageLocation(validCsarFileLocation).build();