X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=rapp-manager-models%2Fsrc%2Ftest%2Fjava%2Fcom%2Foransc%2Frappmanager%2Fmodels%2Fcsar%2FRappCsarConfigurationHandlerTest.java;h=2325789004f94843cdcb27bedc02aad3f0e50289;hb=4526832bbc18aedfe78d4359c6b058f72c458b81;hp=8c416ee6944e9bed7f5ab9dcf25c1a2df7cb02a4;hpb=4a9eca242a06d57fb9dca16b1a59cab2d6250c7b;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 8c416ee..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 @@ -1,6 +1,7 @@ /*- * ============LICENSE_START====================================================================== * Copyright (C) 2023 Nordix Foundation. All rights reserved. + * Copyright (C) 2024 OpenInfra Foundation Europe. 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. @@ -22,8 +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.mockito.Mockito.mock; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doThrow; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.JsonSyntaxException; import com.oransc.rappmanager.models.rapp.Rapp; import com.oransc.rappmanager.models.rapp.RappResources; import com.oransc.rappmanager.models.rappinstance.RappACMInstance; @@ -31,63 +36,32 @@ 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 org.apache.http.entity.ContentType; import org.json.JSONException; import org.json.JSONObject; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.mock.web.MockMultipartFile; +import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.test.context.ContextConfiguration; -import org.springframework.web.multipart.MultipartFile; @SpringBootTest -@ContextConfiguration(classes = RappCsarConfigurationHandler.class) +@ContextConfiguration(classes = {ObjectMapper.class, RappCsarConfigurationHandler.class}) class RappCsarConfigurationHandlerTest { - @Autowired + @SpyBean RappCsarConfigurationHandler rappCsarConfigurationHandler; String validCsarFileLocation = "src/test/resources/"; - 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"; - @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)); - } - - @Test - void testCsarPackageValidationFailure() throws IOException { - String rappCsarPath = validCsarFileLocation + File.separator + invalidRappFile; - MultipartFile multipartFile = - new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(), - new FileInputStream(rappCsarPath)); - assertEquals(Boolean.FALSE, rappCsarConfigurationHandler.isValidRappPackage(multipartFile)); - } - - @Test - void testCsarPackageValidationFailureWithoutOrginalName() throws IOException { - MultipartFile multipartFile = mock(MultipartFile.class); - assertEquals(Boolean.FALSE, rappCsarConfigurationHandler.isValidRappPackage(multipartFile)); - } - - @Test - void testInvalidCsarFileExist() { - MultipartFile multipartFile = mock(MultipartFile.class); - assertEquals(Boolean.FALSE, rappCsarConfigurationHandler.isFileExistsInCsar(multipartFile, "INVALID_LOCATION")); - } + private final String invalidRappEmptyAsdFile = "invalid-rapp-package-empty-asd-yaml.csar"; @Test void testCsarInstantiationPayload() throws JSONException { @@ -143,7 +117,7 @@ class RappCsarConfigurationHandlerTest { @Test void testListInvalidResources() { UUID rappId = UUID.randomUUID(); - Rapp rapp = Rapp.builder().rappId(rappId).name("").build(); + Rapp rapp = Rapp.builder().rappId(rappId).name("").packageName("").packageLocation("").build(); RappResources rappResources = rappCsarConfigurationHandler.getRappResource(rapp); assertThat(rappResources).isNotNull(); assertNull(rappResources.getAcm()); @@ -266,4 +240,32 @@ class RappCsarConfigurationHandlerTest { assertNotNull(dmeInfoConsumerPayload); } + @Test + void testListDeploymentItems() { + Rapp rapp = Rapp.builder().name("").packageName(validRappFile).packageLocation(validCsarFileLocation).build(); + List deploymentItems = rappCsarConfigurationHandler.getDeploymentItems(rapp); + assertEquals(2, deploymentItems.size()); + } + + @ParameterizedTest + @ValueSource(strings = {invalidRappNoAsdFile, invalidRappEmptyAsdFile}) + void testListDeploymentItemsNoAsd(String packageName) { + Rapp rapp = Rapp.builder().name("").packageName(packageName).packageLocation(validCsarFileLocation).build(); + assertThat(rappCsarConfigurationHandler.getDeploymentItems(rapp)).isEmpty(); + } + + @Test + void testListDeploymentItemsWithException() throws JsonProcessingException { + Rapp rapp = Rapp.builder().name("").packageName(validRappFile).packageLocation(validCsarFileLocation).build(); + doThrow(new JsonSyntaxException("")).when(rappCsarConfigurationHandler).getAsdContentNode(any()); + assertThat(rappCsarConfigurationHandler.getDeploymentItems(rapp)).isEmpty(); + } + + @Test + void testGetArtifactPayload() { + Rapp rapp = Rapp.builder().name("").packageName(validRappFile).packageLocation(validCsarFileLocation).build(); + assertNotNull(rappCsarConfigurationHandler.getArtifactPayload(rapp, + "Artifacts/Deployment/HELM/ransliceassurance-1.0.0.tgz")); + + } }