- private final String invalidRappFile = "invalid-rapp-package.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) {
- System.out.println(multipartFile.getOriginalFilename());
- RappHandlerException exception = assertThrows(RappHandlerException.class,
- () -> rappCsarConfigurationHandler.isValidRappPackage(multipartFile));
- assertEquals(HttpStatus.BAD_REQUEST, exception.getStatusCode());
- }
-
-
- private static Stream<Arguments> 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());
- }