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.doReturn;
-import static org.mockito.Mockito.mock;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.oransc.rappmanager.models.configuration.RappsEnvironmentConfiguration;
import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
import com.oransc.rappmanager.models.exception.RappValidationException;
import java.io.ByteArrayOutputStream;
@SpringBootTest
@ContextConfiguration(classes = {ArtifactDefinitionValidator.class, RappValidationUtils.class, ObjectMapper.class,
- RappCsarConfigurationHandler.class})
+ RappsEnvironmentConfiguration.class, RappCsarConfigurationHandler.class})
class ArtifactDefinitionValidatorTest {
@Autowired
RappValidationUtils rappValidationUtils;
String validCsarFileLocation = "src/test/resources/";
String validRappFile = "valid-rapp-package.csar";
- String invalidRappFile = "invalid-rapp-package.csar";
- String invalidRappAsdEmptyFile = "invalid-rapp-package-empty-asd-yaml.csar";
+ String invalidRappMissingArtifactFile = "invalid-rapp-package-missing-artifact.csar";
@Test
void testCsarContainsValidAsdFile() throws IOException {
@Test
void testCsarContainsValidAsdFileFailure() throws IOException {
- String rappCsarPath = validCsarFileLocation + File.separator + invalidRappFile;
+ String rappCsarPath = validCsarFileLocation + File.separator + invalidRappMissingArtifactFile;
MultipartFile multipartFile =
new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(),
new FileInputStream(rappCsarPath));
assertTrue(exception.getMessage().startsWith("rApp package missing a file"));
}
- @Test
- void testCsarNoAsdFailure() {
- MultipartFile multipartFile = mock(MultipartFile.class);
- RappValidationException exception = assertThrows(RappValidationException.class,
- () -> artifactDefinitionValidator.validate(multipartFile, null));
- assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode());
- assertEquals("ASD definition in rApp package is invalid.", exception.getMessage());
- }
-
- @ParameterizedTest
- @NullSource
- @ValueSource(strings = {""})
- void testCsarAsdLocationNullFailure(String asdLocation) throws IOException {
- String rappCsarPath = validCsarFileLocation + File.separator + invalidRappAsdEmptyFile;
- MultipartFile multipartFile =
- new MockMultipartFile(rappCsarPath, rappCsarPath, ContentType.MULTIPART_FORM_DATA.getMimeType(),
- new FileInputStream(rappCsarPath));
- doReturn(asdLocation).when(rappValidationUtils).getAsdDefinitionLocation(any());
- RappValidationException exception = assertThrows(RappValidationException.class,
- () -> artifactDefinitionValidator.validate(multipartFile, null));
- assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode());
- assertEquals("ASD definition in rApp package is invalid.", exception.getMessage());
- }
@ParameterizedTest
@NullSource
- @ValueSource(strings = {"", "{asasdasd"})
+ @ValueSource(strings = {"{asasdasd"})
void testCsarAsdContentInvalidFailure(String asdContent) throws IOException {
String rappCsarPath = validCsarFileLocation + File.separator + validRappFile;
MultipartFile multipartFile =