- assertNotNull(output);
- }
- }
-
- @Test
- void testGetEntryData() {
- String cassandraId = "id";
- Component childComponent = new Resource();
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class)))
- .thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
-
- Either<byte[], ActionStatus> output = Deencapsulation.invoke(commonCsarGenerator, "getEntryData", cassandraId, childComponent);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- void testGetLatestSchemaFilesFromCassandraWhenListOfSchemasIsEmpty() {
- List<SdcSchemaFilesData> filesData = new ArrayList<>();
-
- Mockito.when(
- sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
- .thenReturn(Either.left(filesData));
-
- Either<byte[], ResponseFormat> output = Deencapsulation.invoke(commonCsarGenerator, "getLatestSchemaFilesFromCassandra");
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- void testExtractVfcsArtifactsFromCsar() {
- String key = "Artifacts/org.openecomp.resource.some/Deployment/to/resource";
- byte[] data = "value".getBytes();
-
- Map<String, byte[]> csar = new HashMap<>();
- csar.put(key, data);
-
- Map<String, List<ArtifactDefinition>> output = CsarUtils.extractVfcsArtifactsFromCsar(csar);
-
- assertNotNull(output);
- assertTrue(output.containsKey("org.openecomp.resource.some"));
- assertEquals(1, output.get("org.openecomp.resource.some").size());
- }
-
- @Test
- void testAddExtractedVfcArtifactWhenArtifactsContainsExtractedArtifactKey() {
- ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
- "key", new ArtifactDefinition());
- Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
- artifacts.put("key", new ArrayList<>());
-
- Deencapsulation.invoke(testSubject, "addExtractedVfcArtifact", extractedVfcArtifact, artifacts);
-
- assertEquals(1, artifacts.get("key").size());
- }
-
- @Test
- void testAddExtractedVfcArtifactWhenArtifactsDoesntContainsExtractedArtifactKey() {
- ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
- "key", new ArtifactDefinition());
- Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
- artifacts.put("key1", new ArrayList<>());
-
- Deencapsulation.invoke(testSubject, "addExtractedVfcArtifact", extractedVfcArtifact, artifacts);
-
- assertEquals(0, artifacts.get("key1").size());
- assertEquals(1, artifacts.get("key").size());
- assertEquals(2, artifacts.size());
- }
-
- @Test
- void testExtractVfcArtifact() {
- String path = "path/to/informational/artificat";
- Map<String, byte[]> map = new HashMap<>();
- map.put(path, "value".getBytes());
- Entry<String, byte[]> entry = map.entrySet().iterator().next();
-
- Optional<ImmutablePair<String, ArtifactDefinition>> output =
- Deencapsulation.invoke(testSubject, "extractVfcArtifact", entry, new HashMap<>());
-
- if(output.isPresent()) {
- assertEquals("to", output.get().left);
- } else {
- fail("`output` is empty!");
- }
- }
-
- @Test
- void testDetectArtifactGroupTypeWithExceptionBeingCaught() {
- Either<ArtifactGroupTypeEnum, Boolean> output = Deencapsulation.invoke(testSubject, "detectArtifactGroupType", "type", Map.class);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- assertFalse(output.right().value());
- }
-
- @Test
- void testDetectArtifactGroupTypeWWhenCollectedWarningMessagesContainesKey() {
- Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
-
- collectedWarningMessages.put("Warning - unrecognized artifact group type {} was received.", new HashSet<>());
- Either<ArtifactGroupTypeEnum, Boolean> output = Deencapsulation.invoke(testSubject, "detectArtifactGroupType", "type", collectedWarningMessages);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- assertFalse(output.right().value());
- }
-
- @Test
- void testValidateNonMetaArtifactWithExceptionCaught() {
- CsarUtils.validateNonMetaArtifact("", new byte[0], new HashMap<>());
- }
-
- @Test
- void testCollectComponentCsarDefinitionWhenComponentIsServiceAndGetToscaElementIsLeft() {
- Component component = new Service();
- component.setUniqueId("uniqueId");
- List<ComponentInstance> resourceInstances = new ArrayList<>();
- ComponentInstance instance = new ComponentInstance();
- instance.setComponentUid("resourceUid");
- instance.setOriginType(OriginTypeEnum.SERVICE);
- resourceInstances.add(instance);
- component.setComponentInstances(resourceInstances);
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
- Either.right(StorageOperationStatus.BAD_REQUEST));
-
- Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- void testCollectComponentTypeArtifactsWhenFetchedComponentHasComponentInstances() {
- Component component = new Service();
- Component fetchedComponent = new Resource();
- component.setUniqueId("uniqueId");
- List<ComponentInstance> resourceInstances = new ArrayList<>();
- ComponentInstance instance = new ComponentInstance();
- instance.setComponentUid("resourceUid");
- instance.setOriginType(OriginTypeEnum.SERVICE);
- resourceInstances.add(instance);
- component.setComponentInstances(resourceInstances);
- fetchedComponent.setComponentInstances(resourceInstances);
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
-
- fetchedComponent.setToscaArtifacts(toscaArtifacts);
- fetchedComponent.setDeploymentArtifacts(toscaArtifacts);
- fetchedComponent.setArtifacts(toscaArtifacts);
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
- Either.left(fetchedComponent), Either.right(StorageOperationStatus.BAD_REQUEST));
-
- Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- void testCollectComponentTypeArtifactsWhenFetchedComponentDontHaveComponentInstances() {
- Component component = new Service();
- Component fetchedComponent = new Resource();
- component.setUniqueId("uniqueId");
- List<ComponentInstance> resourceInstances = new ArrayList<>();
- ComponentInstance instance = new ComponentInstance();
- instance.setComponentUid("resourceUid");
- instance.setOriginType(OriginTypeEnum.SERVICE);
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("PLAN");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- instance.setDeploymentArtifacts(toscaArtifacts);
-
- resourceInstances.add(instance);
- component.setComponentInstances(resourceInstances);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
-
- fetchedComponent.setToscaArtifacts(toscaArtifacts);
- fetchedComponent.setDeploymentArtifacts(toscaArtifacts);
- fetchedComponent.setArtifacts(toscaArtifacts);
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
- Either.left(fetchedComponent));
-
- Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
-
- assertNotNull(output);
- assertTrue(output.isLeft());
- }
-
- @Test
- void testValidateNonMetaArtifactHappyScenario() {
- String artifactPath = "Artifacts/Deployment/YANG_XML/myYang.xml";
- byte[] payloadData = "some payload data".getBytes();
- Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
- Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
- payloadData, collectedWarningMessages);
- assertTrue(eitherNonMetaArtifact.isLeft());
- assertTrue(collectedWarningMessages.isEmpty());
-
- artifactPath = "Artifacts/Informational/OTHER/someArtifact.xml";
- eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath, payloadData, collectedWarningMessages);
- assertTrue(eitherNonMetaArtifact.isLeft());
- assertTrue(collectedWarningMessages.isEmpty());
- }
-
- @Test
- void testValidateNonMetaArtifactScenarioWithWarnnings() {
- String artifactPath = "Artifacts/Deployment/Buga/myYang.xml";
- byte[] payloadData = "some payload data".getBytes();
- Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
- Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
- payloadData, collectedWarningMessages);
- assertTrue(eitherNonMetaArtifact.isLeft());
-
- artifactPath = "Artifacts/Informational/Buga2/someArtifact.xml";
- eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath, payloadData, collectedWarningMessages);
- assertTrue(eitherNonMetaArtifact.isLeft());
-
- assertEquals(1, collectedWarningMessages.size());
- assertEquals(2, collectedWarningMessages.values().iterator().next().size());
- }
-
- @Test
- void testValidateNonMetaArtifactUnhappyScenario() {
- String artifactPath = "Artifacts/Buga/YANG_XML/myYang.xml";
- byte[] payloadData = "some payload data".getBytes();
- Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
- Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
- payloadData, collectedWarningMessages);
- assertTrue(eitherNonMetaArtifact.isRight());
- assertFalse(collectedWarningMessages.isEmpty());
- }
-
- @Test
- void testAddSchemaFilesFromCassandraAddingDuplicatedEntry() throws IOException {
- final String rootPath = System.getProperty("user.dir");
- final Path path = Paths.get(rootPath + "/src/test/resources/sdc.zip");
- final byte[] data = Files.readAllBytes(path);
- try (final ByteArrayOutputStream out = new ByteArrayOutputStream(); final ZipOutputStream zip = new ZipOutputStream(out)) {
- Deencapsulation.invoke(commonCsarGenerator, "addSchemaFilesFromCassandra", zip, data, nodesFromPackage, "Definitions/");
- final IOException actualException = assertThrows(IOException.class, () -> zip.putNextEntry(new ZipEntry("Definitions/nodes.yml")));
- assertEquals("duplicate entry: Definitions/nodes.yml", actualException.getMessage());
- }
- }
-
- @Test
- void testFindNonRootNodesFromPackage() {
- final Resource resource = new Resource();
- resource.setDerivedList(nodesFromPackage);
- final Component component = resource;
- final List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- final Triple<String, String, Component> triple = Triple.of("fileName", "cassandraId", component);
- dependencies.add(triple);
- final List<String> expectedResult = Arrays.asList("tosca.nodes.Container.Application");
- final List<String> result = Deencapsulation.invoke(commonCsarGenerator,
- "findNonRootNodesFromPackage", dependencies);
- assertTrue(CollectionUtils.isNotEmpty(result));
- assertEquals(expectedResult, result);
- }
+ assertNotNull(output);
+ }
+ }
+
+ @Test
+ void testGetEntryData() {
+ String cassandraId = "id";
+ Component childComponent = new Resource();
+
+ Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class)))
+ .thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
+
+ Either<byte[], ActionStatus> output = Deencapsulation.invoke(commonCsarGenerator, "getEntryData", cassandraId, childComponent);
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ }
+
+ @Test
+ void testGetLatestSchemaFilesFromCassandraWhenListOfSchemasIsEmpty() {
+ List<SdcSchemaFilesData> filesData = new ArrayList<>();
+
+ Mockito.when(
+ sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
+ .thenReturn(Either.left(filesData));
+
+ Either<byte[], ResponseFormat> output = Deencapsulation.invoke(commonCsarGenerator, "getLatestSchemaFilesFromCassandra");
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ }
+
+ @Test
+ void testExtractVfcsArtifactsFromCsar() {
+ String key = "Artifacts/org.openecomp.resource.some/Deployment/to/resource";
+ byte[] data = "value".getBytes();
+
+ Map<String, byte[]> csar = new HashMap<>();
+ csar.put(key, data);
+
+ Map<String, List<ArtifactDefinition>> output = CsarUtils.extractVfcsArtifactsFromCsar(csar);
+
+ assertNotNull(output);
+ assertTrue(output.containsKey("org.openecomp.resource.some"));
+ assertEquals(1, output.get("org.openecomp.resource.some").size());
+ }
+
+ @Test
+ void testAddExtractedVfcArtifactWhenArtifactsContainsExtractedArtifactKey() {
+ ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
+ "key", new ArtifactDefinition());
+ Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
+ artifacts.put("key", new ArrayList<>());
+
+ Deencapsulation.invoke(testSubject, "addExtractedVfcArtifact", extractedVfcArtifact, artifacts);
+
+ assertEquals(1, artifacts.get("key").size());
+ }
+
+ @Test
+ void testAddExtractedVfcArtifactWhenArtifactsDoesntContainsExtractedArtifactKey() {
+ ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
+ "key", new ArtifactDefinition());
+ Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
+ artifacts.put("key1", new ArrayList<>());
+
+ Deencapsulation.invoke(testSubject, "addExtractedVfcArtifact", extractedVfcArtifact, artifacts);
+
+ assertEquals(0, artifacts.get("key1").size());
+ assertEquals(1, artifacts.get("key").size());
+ assertEquals(2, artifacts.size());
+ }
+
+ @Test
+ void testExtractVfcArtifact() {
+ String path = "path/to/informational/artificat";
+ Map<String, byte[]> map = new HashMap<>();
+ map.put(path, "value".getBytes());
+ Entry<String, byte[]> entry = map.entrySet().iterator().next();
+
+ Optional<ImmutablePair<String, ArtifactDefinition>> output =
+ Deencapsulation.invoke(testSubject, "extractVfcArtifact", entry, new HashMap<>());
+
+ if (output.isPresent()) {
+ assertEquals("to", output.get().left);
+ } else {
+ fail("`output` is empty!");
+ }
+ }
+
+ @Test
+ void testDetectArtifactGroupTypeWithExceptionBeingCaught() {
+ Either<ArtifactGroupTypeEnum, Boolean> output = Deencapsulation.invoke(testSubject, "detectArtifactGroupType", "type", Map.class);
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ assertFalse(output.right().value());
+ }
+
+ @Test
+ void testDetectArtifactGroupTypeWWhenCollectedWarningMessagesContainesKey() {
+ Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
+
+ collectedWarningMessages.put("Warning - unrecognized artifact group type {} was received.", new HashSet<>());
+ Either<ArtifactGroupTypeEnum, Boolean> output =
+ Deencapsulation.invoke(testSubject, "detectArtifactGroupType", "type", collectedWarningMessages);
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ assertFalse(output.right().value());
+ }
+
+ @Test
+ void testValidateNonMetaArtifactWithExceptionCaught() {
+ CsarUtils.validateNonMetaArtifact("", new byte[0], new HashMap<>());
+ }
+
+ @Test
+ void testCollectComponentCsarDefinitionWhenComponentIsServiceAndGetToscaElementIsLeft() {
+ Component component = new Service();
+ component.setUniqueId("uniqueId");
+ List<ComponentInstance> resourceInstances = new ArrayList<>();
+ ComponentInstance instance = new ComponentInstance();
+ instance.setComponentUid("resourceUid");
+ instance.setOriginType(OriginTypeEnum.SERVICE);
+ resourceInstances.add(instance);
+ component.setComponentInstances(resourceInstances);
+
+ Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
+ ArtifactDefinition artifact = new ArtifactDefinition();
+ artifact.setArtifactName("artifactName");
+ artifact.setEsId("esId");
+ artifact.setArtifactUUID("artifactUUID");
+ artifact.setArtifactType("YANG");
+ toscaArtifacts.put("assettoscatemplate", artifact);
+
+ component.setToscaArtifacts(toscaArtifacts);
+ component.setDeploymentArtifacts(toscaArtifacts);
+ component.setArtifacts(toscaArtifacts);
+
+ Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
+ Either.right(StorageOperationStatus.BAD_REQUEST));
+
+ Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ }
+
+ @Test
+ void testCollectComponentTypeArtifactsWhenFetchedComponentHasComponentInstances() {
+ Component component = new Service();
+ Component fetchedComponent = new Resource();
+ component.setUniqueId("uniqueId");
+ List<ComponentInstance> resourceInstances = new ArrayList<>();
+ ComponentInstance instance = new ComponentInstance();
+ instance.setComponentUid("resourceUid");
+ instance.setOriginType(OriginTypeEnum.SERVICE);
+ resourceInstances.add(instance);
+ component.setComponentInstances(resourceInstances);
+ fetchedComponent.setComponentInstances(resourceInstances);
+
+ Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
+ ArtifactDefinition artifact = new ArtifactDefinition();
+ artifact.setArtifactName("artifactName");
+ artifact.setEsId("esId");
+ artifact.setArtifactUUID("artifactUUID");
+ artifact.setArtifactType("YANG");
+ toscaArtifacts.put("assettoscatemplate", artifact);
+
+ component.setToscaArtifacts(toscaArtifacts);
+ component.setDeploymentArtifacts(toscaArtifacts);
+ component.setArtifacts(toscaArtifacts);
+
+ fetchedComponent.setToscaArtifacts(toscaArtifacts);
+ fetchedComponent.setDeploymentArtifacts(toscaArtifacts);
+ fetchedComponent.setArtifacts(toscaArtifacts);
+
+ Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
+ Either.left(fetchedComponent), Either.right(StorageOperationStatus.BAD_REQUEST));
+
+ Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
+
+ assertNotNull(output);
+ assertTrue(output.isRight());
+ }
+
+ @Test
+ void testCollectComponentTypeArtifactsWhenFetchedComponentDontHaveComponentInstances() {
+ Component component = new Service();
+ Component fetchedComponent = new Resource();
+ component.setUniqueId("uniqueId");
+ List<ComponentInstance> resourceInstances = new ArrayList<>();
+ ComponentInstance instance = new ComponentInstance();
+ instance.setComponentUid("resourceUid");
+ instance.setOriginType(OriginTypeEnum.SERVICE);
+
+ Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
+ ArtifactDefinition artifact = new ArtifactDefinition();
+ artifact.setArtifactName("artifactName");
+ artifact.setEsId("esId");
+ artifact.setArtifactUUID("artifactUUID");
+ artifact.setArtifactType("PLAN");
+ toscaArtifacts.put("assettoscatemplate", artifact);
+
+ instance.setDeploymentArtifacts(toscaArtifacts);
+
+ resourceInstances.add(instance);
+ component.setComponentInstances(resourceInstances);
+
+ component.setToscaArtifacts(toscaArtifacts);
+ component.setDeploymentArtifacts(toscaArtifacts);
+ component.setArtifacts(toscaArtifacts);
+
+ fetchedComponent.setToscaArtifacts(toscaArtifacts);
+ fetchedComponent.setDeploymentArtifacts(toscaArtifacts);
+ fetchedComponent.setArtifacts(toscaArtifacts);
+
+ Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class))).thenReturn(Either.left(component),
+ Either.left(fetchedComponent));
+
+ Either<Object, ResponseFormat> output = Deencapsulation.invoke(testSubject, "collectComponentCsarDefinition", component);
+
+ assertNotNull(output);
+ assertTrue(output.isLeft());
+ }
+
+ @Test
+ void testValidateNonMetaArtifactHappyScenario() {
+ String artifactPath = "Artifacts/Deployment/YANG_XML/myYang.xml";
+ byte[] payloadData = "some payload data".getBytes();
+ Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
+ Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
+ payloadData, collectedWarningMessages);
+ assertTrue(eitherNonMetaArtifact.isLeft());
+ assertTrue(collectedWarningMessages.isEmpty());
+
+ artifactPath = "Artifacts/Informational/OTHER/someArtifact.xml";
+ eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath, payloadData, collectedWarningMessages);
+ assertTrue(eitherNonMetaArtifact.isLeft());
+ assertTrue(collectedWarningMessages.isEmpty());
+ }
+
+ @Test
+ void testValidateNonMetaArtifactScenarioWithWarnnings() {
+ String artifactPath = "Artifacts/Deployment/Buga/myYang.xml";
+ byte[] payloadData = "some payload data".getBytes();
+ Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
+ Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
+ payloadData, collectedWarningMessages);
+ assertTrue(eitherNonMetaArtifact.isLeft());
+
+ artifactPath = "Artifacts/Informational/Buga2/someArtifact.xml";
+ eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath, payloadData, collectedWarningMessages);
+ assertTrue(eitherNonMetaArtifact.isLeft());
+
+ assertEquals(1, collectedWarningMessages.size());
+ assertEquals(2, collectedWarningMessages.values().iterator().next().size());
+ }
+
+ @Test
+ void testValidateNonMetaArtifactUnhappyScenario() {
+ String artifactPath = "Artifacts/Buga/YANG_XML/myYang.xml";
+ byte[] payloadData = "some payload data".getBytes();
+ Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
+ Either<NonMetaArtifactInfo, Boolean> eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath,
+ payloadData, collectedWarningMessages);
+ assertTrue(eitherNonMetaArtifact.isRight());
+ assertFalse(collectedWarningMessages.isEmpty());
+ }
+
+ @Test
+ void testAddSchemaFilesFromCassandraAddingDuplicatedEntry() throws IOException {
+ final String rootPath = System.getProperty("user.dir");
+ final Path path = Paths.get(rootPath + "/src/test/resources/sdc.zip");
+ final byte[] data = Files.readAllBytes(path);
+ try (final ByteArrayOutputStream out = new ByteArrayOutputStream(); final ZipOutputStream zip = new ZipOutputStream(out)) {
+ Deencapsulation.invoke(commonCsarGenerator, "addSchemaFilesFromCassandra", zip, data, nodesFromPackage, "Definitions/");
+ final IOException actualException = assertThrows(IOException.class, () -> zip.putNextEntry(new ZipEntry("Definitions/nodes.yml")));
+ assertEquals("duplicate entry: Definitions/nodes.yml", actualException.getMessage());
+ }
+ }
+
+ @Test
+ void testFindNonRootNodesFromPackage() {
+ final Resource resource = new Resource();
+ resource.setDerivedList(nodesFromPackage);
+ final Component component = resource;
+ final List<Triple<String, String, Component>> dependencies = new ArrayList<>();
+ final Triple<String, String, Component> triple = Triple.of("fileName", "cassandraId", component);
+ dependencies.add(triple);
+ final List<String> expectedResult = Arrays.asList("tosca.nodes.Container.Application");
+ final List<String> result = Deencapsulation.invoke(commonCsarGenerator,
+ "findNonRootNodesFromPackage", dependencies);
+ assertTrue(CollectionUtils.isNotEmpty(result));
+ assertEquals(expectedResult, result);
+ }