* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.fail;
+import static org.openecomp.sdc.be.tosca.ComponentCache.MergeStrategy.overwriteIfSameVersions;
+import static org.openecomp.sdc.be.tosca.ComponentCache.entry;
import fj.data.Either;
+import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.Optional;
import java.util.Set;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import mockit.Deencapsulation;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import org.apache.commons.lang3.tuple.Triple;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.be.components.BeConfDependentTest;
import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic;
-import org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic.ArtifactOperationInfo;
+import org.openecomp.sdc.be.components.impl.artifact.ArtifactOperationInfo;
+import org.openecomp.sdc.be.config.ConfigurationManager;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.dao.cassandra.ArtifactCassandraDao;
import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.resources.data.DAOArtifactData;
import org.openecomp.sdc.be.resources.data.SdcSchemaFilesData;
+import org.openecomp.sdc.be.tosca.ComponentCache.CacheEntry;
import org.openecomp.sdc.be.tosca.CsarUtils.NonMetaArtifactInfo;
import org.openecomp.sdc.be.tosca.model.ToscaTemplate;
import org.openecomp.sdc.common.api.ArtifactGroupTypeEnum;
import org.openecomp.sdc.common.api.ArtifactTypeEnum;
+import org.openecomp.sdc.common.api.ConfigurationSource;
import org.openecomp.sdc.common.impl.ExternalConfiguration;
+import org.openecomp.sdc.common.impl.FSConfigurationSource;
+import org.openecomp.sdc.common.test.BaseConfDependent;
import org.openecomp.sdc.exception.ResponseFormat;
-public class CsarUtilsTest extends BeConfDependentTest {
+class CsarUtilsTest extends BaseConfDependent {
@InjectMocks
- CsarUtils testSubject;
+ private CsarUtils testSubject;
+
+ @InjectMocks
+ private CommonCsarGenerator commonCsarGenerator;
@Mock
private ArtifactCassandraDao artifactCassandraDao;
@Mock
private ArtifactsBusinessLogic artifactsBusinessLogic;
- @Before
- public void setUpMock() throws Exception {
+ private final List<String> nodesFromPackage = Arrays.asList("tosca.nodes.Root", "tosca.nodes.Container.Application");
+
+ private final byte[] contentData;
+
+ public CsarUtilsTest() throws IOException {
+ contentData = getFileResource("yamlValidation/resource-serviceTemplate.yml");
+ }
+
+ @BeforeAll
+ public static void setupBeforeClass() {
+ componentName = "catalog-be";
+ confPath = "src/test/resources/config";
+ setUp();
+ }
+
+ @BeforeEach
+ public void setUpMock() {
ExternalConfiguration.setAppName("catalog-be");
- MockitoAnnotations.initMocks(this);
-
+ MockitoAnnotations.openMocks(this);
+ initConfigurationManager();
}
- private final List<String> nodesFromPackage = Arrays.asList("tosca.nodes.Root", "tosca.nodes.Container.Application");
+ private static void initConfigurationManager() {
+ final String confPath = new File(Objects
+ .requireNonNull(
+ CsarUtilsTest.class.getClassLoader().getResource("config/catalog-be/configuration.yaml"))
+ .getFile()).getParent();
+ final ConfigurationSource confSource =
+ new FSConfigurationSource(ExternalConfiguration.getChangeListener(), confPath);
+ new ConfigurationManager(confSource);
+ }
private NonMetaArtifactInfo createNonMetaArtifactInfoTestSubject() {
return new CsarUtils.NonMetaArtifactInfo("mock", "mock", ArtifactTypeEnum.AAI_SERVICE_MODEL.getType(),
}
@Test
- public void testCreateCsar() {
+ void testCreateCsar() throws IOException {
Component component = new Resource();
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
+ Map<String, ArtifactDefinition> artifactDefinitionHashMap = new HashMap<>();
ArtifactDefinition artifact = new ArtifactDefinition();
artifact.setArtifactName("artifactName");
artifact.setEsId("esId");
- toscaArtifacts.put("assettoscatemplate", artifact);
+ artifactDefinitionHashMap.put("assettoscatemplate", artifact);
- component.setToscaArtifacts(toscaArtifacts);
+ component.setToscaArtifacts(artifactDefinitionHashMap);
+ component.setArtifacts(artifactDefinitionHashMap);
+ component.setDeploymentArtifacts(artifactDefinitionHashMap);
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ ZipOutputStream zip = new ZipOutputStream(out);
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class)))
.thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
Mockito.when(componentsUtils.convertFromStorageResponse(Mockito.any(StorageOperationStatus.class)))
.thenReturn(ActionStatus.GENERAL_ERROR);
- testSubject.createCsar(component, true, true);
+ assertNotNull(commonCsarGenerator.generateCsarZip(component, false, zip,
+ false, true,
+ "Definitions/", true, false).right());
}
@Test
- public void testCreateCsarWithGenerateCsarZipResponseIsLeft() {
+ void testCreateCsarWithGenerateCsarZipResponseIsLeft() throws IOException {
Component component = new Resource();
Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
ArtifactDefinition artifact = new ArtifactDefinition();
filedata.setPayloadAsArray(data);
filesData.add(filedata);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ ZipOutputStream zip = new ZipOutputStream(out);
+
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
Mockito.when(componentsUtils.convertFromStorageResponse(Mockito.any(StorageOperationStatus.class)))
sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
.thenReturn(Either.left(filesData));
- testSubject.createCsar(component, false, true);
+ assertNotNull(commonCsarGenerator.generateCsarZip(component, false, zip,
+ false, true,
+ "Definitions/", true, false).right());
}
@Test
- public void testPopulateZipWhenGetDependenciesIsRight() {
+ void testPopulateZipWhenGetDependenciesIsRight() {
Component component = new Service();
boolean getFromCS = false;
ByteBuffer bufferData = ByteBuffer.wrap(data);
artifactData.setData(bufferData);
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
+ ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes());
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
.thenReturn(Either.right(ToscaError.GENERAL_ERROR));
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, true, "Definitions/", true, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@Test
- public void testPopulateZipWhenExportComponentIsRight() {
+ void testPopulateZipWhenExportComponentIsRight() {
Component component = new Resource();
boolean getFromCS = false;
Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class)))
.thenReturn(Either.right(ToscaError.GENERAL_ERROR));
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, true, "Definitions/", true, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@Test
- public void testPopulateZipWhenComponentIsServiceAndCollectComponentCsarDefinitionIsRight() {
+ void testPopulateZipWhenComponentIsServiceAndCollectComponentCsarDefinitionIsRight() {
Component component = new Service();
boolean getFromCS = false;
component.setLastUpdaterUserId("userId");
component.setUniqueId("uid");
DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
+ ByteBuffer bufferData = ByteBuffer.wrap(contentData);
artifactData.setData(bufferData);
List<SdcSchemaFilesData> filesData = new ArrayList<>();
SdcSchemaFilesData filedata = new SdcSchemaFilesData();
- filedata.setPayloadAsArray(data);
+ filedata.setPayloadAsArray(contentData);
filesData.add(filedata);
ToscaTemplate toscaTemplate = new ToscaTemplate("version");
dependencies.add(triple);
toscaTemplate.setDependencies(dependencies);
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
+ ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes());
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
.thenReturn(Either.left(Mockito.any(ArtifactDefinition.class)));
try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, true, "/Definitions", true, false);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
- public void testPopulateZipWhenGetEntryDataIsRight() {
+ void testPopulateZipWhenGetEntryDataIsRight() {
Component component = new Service();
boolean getFromCS = true;
Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
.thenReturn(Either.left(toscaTemplate));
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, true, "Definitions/", true, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@Test
- public void testPopulateZipWhenGetEntryDataOfInnerComponentIsRight() {
+ void testPopulateZipWhenGetEntryDataOfInnerComponentIsRight() {
Component component = new Service();
boolean getFromCS = false;
component.setLastUpdaterUserId("userId");
component.setUniqueId("uid");
DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
+ ByteBuffer bufferData = ByteBuffer.wrap(contentData);
artifactData.setData(bufferData);
ToscaTemplate toscaTemplate = new ToscaTemplate("version");
dependencies.add(triple);
toscaTemplate.setDependencies(dependencies);
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
+ ToscaRepresentation tosca = ToscaRepresentation.make(contentData);
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
.thenReturn(Either.left(toscaTemplate));
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, true, "Definitions/", true, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@Test
- public void testPopulateZipWhenLatestSchemaFilesFromCassandraIsRight() {
+ void testPopulateZipWhenLatestSchemaFilesFromCassandraIsRight() {
Component component = new Service();
boolean getFromCS = false;
component.setLastUpdaterUserId("userId");
component.setUniqueId("uid");
DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
+ ByteBuffer bufferData = ByteBuffer.wrap(contentData);
artifactData.setData(bufferData);
ToscaTemplate toscaTemplate = new ToscaTemplate("version");
dependencies.add(triple);
toscaTemplate.setDependencies(dependencies);
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
+ ToscaRepresentation tosca = ToscaRepresentation.make(contentData);
Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
.thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
+ Deencapsulation.invoke(commonCsarGenerator, "generateCsarZip", component, getFromCS, zip, true, "toscaMetaFileName", true, "Definitions/", true, false);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
- public void testAddInnerComponentsToCache() {
- Map<String, ImmutableTriple<String, String, Component>> componentCache = new HashMap<>();
+ void testAddInnerComponentsToCache() {
+ ComponentCache componentCache = ComponentCache.overwritable(overwriteIfSameVersions());
Component childComponent = new Resource();
Component componentRI = new Service();
List<ComponentInstance> componentInstances = new ArrayList<>();
Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class)))
.thenReturn(Either.left(componentRI));
- Deencapsulation.invoke(testSubject, "addInnerComponentsToCache", componentCache, childComponent);
+ Deencapsulation.invoke(commonCsarGenerator, "addInnerComponentsToCache", componentCache, childComponent);
- assertTrue(componentCache.containsValue(ImmutableTriple.of("esId","artifactName",componentRI)));
+ io.vavr.collection.List<CacheEntry> expected = io.vavr.collection.List.of(entry("esId","artifactName",componentRI));
+ assertEquals(expected, componentCache.all().toList());
}
@Test
- public void testAddInnerComponentsToCacheWhenGetToscaElementIsRight() {
+ void testAddInnerComponentsToCacheWhenGetToscaElementIsRight() {
Map<String, ImmutableTriple<String, String, Component>> componentCache = new HashMap<>();
Component childComponent = new Resource();
}
@Test
- public void testAddComponentToCache() {
- Map<String, ImmutableTriple<String, String, Component>> componentCache = new HashMap<>();
- String id = "id";
- String fileName = "fileName";
- Component component = new Resource();
- component.setInvariantUUID("key");
- component.setVersion("1.0");
-
- Component cachedComponent = new Resource();
- cachedComponent.setVersion("0.3");
-
- componentCache.put("key", new ImmutableTriple<String, String, Component>(id, fileName, cachedComponent));
-
- Deencapsulation.invoke(testSubject, "addComponentToCache", componentCache, id, fileName, component);
- }
-
- @Test
- public void testWriteComponentInterface() throws IOException {
+ void testWriteComponentInterface() throws IOException {
String fileName = "name.hello";
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
+ ToscaRepresentation tosca = ToscaRepresentation.make("value".getBytes());
Mockito.when(toscaExportUtils.exportComponentInterface(Mockito.any(Component.class), Mockito.any(Boolean.class)))
.thenReturn(Either.left(tosca));
try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out)) {
- Either<ZipOutputStream, ResponseFormat> output = Deencapsulation.invoke(testSubject, "writeComponentInterface", new Resource(), zip, fileName, false);
-
+ List<Triple<String, String, Component>> output = Deencapsulation.invoke(commonCsarGenerator, "writeComponentInterface", new Resource(),
+ zip, fileName, "Definitions/");
assertNotNull(output);
- assertTrue(output.isLeft());
}
}
@Test
- public void testGetEntryData() {
+ 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(testSubject, "getEntryData", cassandraId, childComponent);
+ Either<byte[], ActionStatus> output = Deencapsulation.invoke(commonCsarGenerator, "getEntryData", cassandraId, childComponent);
assertNotNull(output);
assertTrue(output.isRight());
}
@Test
- public void testGetLatestSchemaFilesFromCassandraWhenListOfSchemasIsEmpty() {
+ 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(testSubject, "getLatestSchemaFilesFromCassandra");
+ Either<byte[], ResponseFormat> output = Deencapsulation.invoke(commonCsarGenerator, "getLatestSchemaFilesFromCassandra");
assertNotNull(output);
assertTrue(output.isRight());
}
@Test
- public void testExtractVfcsArtifactsFromCsar() {
+ void testExtractVfcsArtifactsFromCsar() {
String key = "Artifacts/org.openecomp.resource.some/Deployment/to/resource";
byte[] data = "value".getBytes();
}
@Test
- public void testAddExtractedVfcArtifactWhenArtifactsContainsExtractedArtifactKey() {
+ void testAddExtractedVfcArtifactWhenArtifactsContainsExtractedArtifactKey() {
ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
"key", new ArtifactDefinition());
Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
}
@Test
- public void testAddExtractedVfcArtifactWhenArtifactsDoesntContainsExtractedArtifactKey() {
+ void testAddExtractedVfcArtifactWhenArtifactsDoesntContainsExtractedArtifactKey() {
ImmutablePair<String, ArtifactDefinition> extractedVfcArtifact = new ImmutablePair<String, ArtifactDefinition>(
"key", new ArtifactDefinition());
Map<String, List<ArtifactDefinition>> artifacts = new HashMap<>();
}
@Test
- public void testExtractVfcArtifact() {
+ 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();
- ImmutablePair<String, ArtifactDefinition> output = Deencapsulation.invoke(testSubject, "extractVfcArtifact", entry, new HashMap<>());
+ Optional<ImmutablePair<String, ArtifactDefinition>> output =
+ Deencapsulation.invoke(testSubject, "extractVfcArtifact", entry, new HashMap<>());
- assertNotNull(output);
- assertEquals("to",output.left);
+ if(output.isPresent()) {
+ assertEquals("to", output.get().left);
+ } else {
+ fail("`output` is empty!");
+ }
}
@Test
- public void testDetectArtifactGroupTypeWithExceptionBeingCaught() {
+ void testDetectArtifactGroupTypeWithExceptionBeingCaught() {
Either<ArtifactGroupTypeEnum, Boolean> output = Deencapsulation.invoke(testSubject, "detectArtifactGroupType", "type", Map.class);
assertNotNull(output);
}
@Test
- public void testDetectArtifactGroupTypeWWhenCollectedWarningMessagesContainesKey() {
+ void testDetectArtifactGroupTypeWWhenCollectedWarningMessagesContainesKey() {
Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
collectedWarningMessages.put("Warning - unrecognized artifact group type {} was received.", new HashSet<>());
}
@Test
- public void testNonMetaArtifactInfoCtor() {
- createNonMetaArtifactInfoTestSubject();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetPath() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getPath();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifactName() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getArtifactName();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifactType() {
- final NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
- assertThat("The artifact type should be as expected",
- testSubject.getArtifactType(), is(ArtifactTypeEnum.AAI_SERVICE_MODEL.getType()));
- }
-
- @Test
- public void testNonMetaArtifactInfoGetDisplayName() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getDisplayName();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifactGroupType() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getArtifactGroupType();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifactLabel() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getArtifactLabel();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetIsFromCsar() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.isFromCsar();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetPayloadData() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getPayloadData();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifaactChecksum() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getArtifactChecksum();
- }
-
- @Test
- public void testNonMetaArtifactInfoGetArtifactUniqueId() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.getArtifactUniqueId();
- }
-
- @Test
- public void testNonMetaArtifactInfosetArtifactUniqueId() {
- NonMetaArtifactInfo testSubject = createNonMetaArtifactInfoTestSubject();
-
- testSubject.setArtifactUniqueId("artifactUniqueId");
- }
-
- @Test
- public void testValidateNonMetaArtifactWithExceptionCaught() {
+ void testValidateNonMetaArtifactWithExceptionCaught() {
CsarUtils.validateNonMetaArtifact("", new byte[0], new HashMap<>());
}
@Test
- public void testWriteArtifactDefinition() throws IOException {
- Component component = new Service();
- List<ArtifactDefinition> artifactDefinitionList = new ArrayList<>();
- String artifactPathAndFolder = "";
-
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactType(ArtifactTypeEnum.HEAT_ENV.getType());
- artifactDefinitionList.add(artifact);
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Either<ZipOutputStream, ResponseFormat> output = Deencapsulation.invoke(testSubject, "writeArtifactDefinition", component, zip, artifactDefinitionList, artifactPathAndFolder, false);
-
- assertNotNull(output);
- assertTrue(output.isLeft());
- }
- }
-
- @Test
- public void testCollectComponentCsarDefinitionWhenComponentIsServiceAndGetToscaElementIsLeft() {
+ void testCollectComponentCsarDefinitionWhenComponentIsServiceAndGetToscaElementIsLeft() {
Component component = new Service();
component.setUniqueId("uniqueId");
List<ComponentInstance> resourceInstances = new ArrayList<>();
}
@Test
- public void testCollectComponentTypeArtifactsWhenFetchedComponentHasComponentInstances() {
+ void testCollectComponentTypeArtifactsWhenFetchedComponentHasComponentInstances() {
Component component = new Service();
Component fetchedComponent = new Resource();
component.setUniqueId("uniqueId");
}
@Test
- public void testCollectComponentTypeArtifactsWhenFetchedComponentDontHaveComponentInstances() {
+ void testCollectComponentTypeArtifactsWhenFetchedComponentDontHaveComponentInstances() {
Component component = new Service();
Component fetchedComponent = new Resource();
component.setUniqueId("uniqueId");
}
@Test
- public void testValidateNonMetaArtifactHappyScenario() {
+ void testValidateNonMetaArtifactHappyScenario() {
String artifactPath = "Artifacts/Deployment/YANG_XML/myYang.xml";
byte[] payloadData = "some payload data".getBytes();
Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
}
@Test
- public void testValidateNonMetaArtifactScenarioWithWarnnings() {
+ void testValidateNonMetaArtifactScenarioWithWarnnings() {
String artifactPath = "Artifacts/Deployment/Buga/myYang.xml";
byte[] payloadData = "some payload data".getBytes();
Map<String, Set<List<String>>> collectedWarningMessages = new HashMap<>();
eitherNonMetaArtifact = CsarUtils.validateNonMetaArtifact(artifactPath, payloadData, collectedWarningMessages);
assertTrue(eitherNonMetaArtifact.isLeft());
- assertTrue(collectedWarningMessages.size() == 1);
- assertTrue(collectedWarningMessages.values().iterator().next().size() == 2);
+ assertEquals(1, collectedWarningMessages.size());
+ assertEquals(2, collectedWarningMessages.values().iterator().next().size());
}
@Test
- public void testValidateNonMetaArtifactUnhappyScenario() {
+ 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());
- assertTrue(!collectedWarningMessages.isEmpty());
+ assertFalse(collectedWarningMessages.isEmpty());
}
- @Test(expected = IOException.class)
- public void testAddSchemaFilesFromCassandraAddingDuplicatedEntry() throws IOException {
+ @Test
+ void testAddSchemaFilesFromCassandraAddingDuplicatedEntry() throws IOException {
final String rootPath = System.getProperty("user.dir");
final Path path = Paths.get(rootPath + "/src/test/resources/sdc.zip");
- try {
- final byte[] data = Files.readAllBytes(path);
- try (final ByteArrayOutputStream out = new ByteArrayOutputStream();
- final ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "addSchemaFilesFromCassandra",
- zip, data, nodesFromPackage);
- zip.putNextEntry(new ZipEntry("Definitions/nodes.yml"));
- zip.finish();
- }
- } catch (final IOException e) {
- Assert.assertTrue("duplicate entry: Definitions/nodes.yml".equals(e.getMessage()));
- throw new IOException("Could not add Schema Files From Cassandra", e);
+ 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
- public void testFindNonRootNodesFromPackage() {
+ void testFindNonRootNodesFromPackage() {
final Resource resource = new Resource();
resource.setDerivedList(nodesFromPackage);
final Component component = resource;
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(testSubject,
+ final List<String> result = Deencapsulation.invoke(commonCsarGenerator,
"findNonRootNodesFromPackage", dependencies);
assertTrue(CollectionUtils.isNotEmpty(result));
assertEquals(expectedResult, result);
}
+ private byte[] getFileResource(final String filePath) throws IOException {
+ try (final InputStream inputStream = getFileResourceAsInputStream(filePath)) {
+ return IOUtils.toByteArray(inputStream);
+ }
+ }
+
+ private InputStream getFileResourceAsInputStream(final String filePath) {
+ return Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);
+ }
+
}