Create new VSP, onboard from TOSCA file - UI
[sdc.git] / openecomp-be / backend / openecomp-sdc-vendor-software-product-manager / src / test / java / org / openecomp / sdc / vendorsoftwareproduct / upload / csar / ManifestParsingTest.java
1 package org.openecomp.sdc.vendorsoftwareproduct.upload.csar;
2
3 import org.junit.Test;
4 import org.openecomp.sdc.common.errors.Messages;
5 import org.openecomp.sdc.vendorsoftwareproduct.impl.orchestration.csar.OnboardingManifest;
6
7 import java.io.IOException;
8 import java.io.InputStream;
9
10 import static org.junit.Assert.*;
11
12 public class ManifestParsingTest {
13
14     @Test
15     public void testSuccessfulParsing() throws IOException {
16         try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/manifest/ValidTosca.mf")) {
17             OnboardingManifest onboardingManifest = new OnboardingManifest(is);
18             assertTrue(onboardingManifest.isValid());
19             assertEquals(onboardingManifest.getMetadata().size(), 4);
20             assertEquals(onboardingManifest.getSources().size(), 5);
21         }
22     }
23
24     @Test
25     public void testNoMetadataParsing() throws IOException {
26         try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca1.mf")) {
27             OnboardingManifest onboardingManifest = new OnboardingManifest(is);
28             assertFalse(onboardingManifest.isValid());
29             assertTrue(onboardingManifest.getErrors().stream().
30                     filter(error -> error.contains(Messages.MANIFEST_INVALID_LINE.getErrorMessage().substring(0, 10)))
31                     .findAny().isPresent());
32         }
33     }
34
35     @Test
36     public void testBrokenMDParsing() throws IOException {
37         try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca2.mf")) {
38             OnboardingManifest onboardingManifest = new OnboardingManifest(is);
39             assertFalse(onboardingManifest.isValid());
40             assertTrue(onboardingManifest.getErrors().stream().
41                     filter(error -> error.contains(Messages.MANIFEST_INVALID_LINE.getErrorMessage().substring(0, 10)))
42                     .findAny().isPresent());
43         }
44     }
45
46     @Test
47     public void testNoMetaParsing() throws IOException {
48         try (InputStream is = getClass().getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca4.mf")) {
49             OnboardingManifest onboardingManifest = new OnboardingManifest(is);
50             assertFalse(onboardingManifest.isValid());
51             assertTrue(onboardingManifest.getErrors().stream().
52                     filter(error -> error.contains(Messages.MANIFEST_NO_METADATA.getErrorMessage().substring(0, 10)))
53                     .findAny().isPresent());
54         }
55     }
56
57
58 }