summaryrefslogtreecommitdiffstats
path: root/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java')
-rw-r--r--catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java83
1 files changed, 83 insertions, 0 deletions
diff --git a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java
new file mode 100644
index 0000000000..e223fda962
--- /dev/null
+++ b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/test/java/org/openecomp/sdc/be/plugins/etsi/nfv/nsd/generator/VnfDescriptorGeneratorImplTest.java
@@ -0,0 +1,83 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2020 Nordix Foundation
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.sdc.be.plugins.etsi.nfv.nsd.generator;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsNull.notNullValue;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.apache.commons.io.IOUtils;
+import org.junit.jupiter.api.Test;
+import org.openecomp.sdc.be.model.ArtifactDefinition;
+import org.openecomp.sdc.be.plugins.etsi.nfv.nsd.exception.VnfDescriptorException;
+import org.openecomp.sdc.be.plugins.etsi.nfv.nsd.model.VnfDescriptor;
+
+class VnfDescriptorGeneratorImplTest {
+
+ private final VnfDescriptorGeneratorImpl vnfDescriptorGenerator = new VnfDescriptorGeneratorImpl();
+ private final Path testResourcesPath = Paths.get("src", "test", "resources", "vnf-onboarded-csar");
+
+ @Test
+ void testGenerate() throws IOException, VnfDescriptorException {
+ final byte[] onboardedPackage = getResourceAsByteArray("VnfPackage_AMF_v2.csar");
+ final ArtifactDefinition artifactDefinition = new ArtifactDefinition();
+ artifactDefinition.setPayload(onboardedPackage);
+ artifactDefinition.setArtifactName("vnf-onboarded-csar.csar");
+ final String vnfDescriptorName = "vnf-onboarded-csar";
+ final VnfDescriptor vnfDescriptor = vnfDescriptorGenerator
+ .generate(vnfDescriptorName, artifactDefinition).orElse(null);
+ final String expectedNodeType = "com.ericsson.resource.abstract.Ericsson.AMF";
+ final String expectedVnfdFileName = "vnfd_amf.yaml";
+ assertThat("Vnf Descriptor should be present", vnfDescriptor, is(notNullValue()));
+ assertThat("Vnf Descriptor should have the expected name", vnfDescriptor.getName(),
+ is(vnfDescriptorName));
+ assertThat("Vnf Descriptor should have the expected node type", vnfDescriptor.getNodeType(),
+ is(expectedNodeType));
+ assertThat("Vnf Descriptor should have the expected vnfd file name", vnfDescriptor.getVnfdFileName(),
+ is(expectedVnfdFileName));
+ assertThat("Vnf Descriptor should contain the expected definition files count",
+ vnfDescriptor.getDefinitionFiles().size(), is(2));
+ assertThat("Vnf Descriptor should contain the expected definition entries",
+ vnfDescriptor.getDefinitionFiles().keySet(), contains("Definitions/vnfd_amf.yaml",
+ "Definitions/etsi_nfv_sol001_vnfd_2_5_1_types.yaml"));
+ }
+
+ private byte[] getResourceAsByteArray(final String filename) throws IOException {
+ try (final InputStream inputStream = readFileAsStream(filename)) {
+ return IOUtils.toByteArray(inputStream);
+ } catch (final IOException ex) {
+ throw new IOException(
+ String.format("Could not read the file \"%s\"", filename), ex);
+ }
+ }
+
+ private FileInputStream readFileAsStream(final String fileName) throws FileNotFoundException {
+ final Path path = Paths.get(testResourcesPath.toString(), fileName);
+ return new FileInputStream(path.toFile());
+ }
+
+} \ No newline at end of file