diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-tosca-lib/src/test')
9 files changed, 280 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/csar/ManifestParsingTest.java b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/csar/ManifestParsingTest.java new file mode 100644 index 0000000000..c6008f03d7 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/csar/ManifestParsingTest.java @@ -0,0 +1,114 @@ +/* + * Copyright © 2016-2018 European Support Limited + * + * 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. + */ + +package org.openecomp.sdc.tosca.csar; + +import org.junit.Test; +import org.openecomp.sdc.common.errors.Messages; + +import java.io.IOException; +import java.io.InputStream; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; + + +public class ManifestParsingTest { + + @Test + public void testSuccessfulParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/ValidTosca.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertTrue(onboardingManifest.isValid()); + assertEquals(onboardingManifest.getMetadata().size(), 4); + assertEquals(onboardingManifest.getSources().size(), 5); + } + } + + @Test + public void testNoMetadataParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca1.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + assertTrue(onboardingManifest.getErrors().stream().anyMatch(error -> error + .contains(Messages.MANIFEST_INVALID_LINE.getErrorMessage().substring(0, 10)))); + } + } + + @Test + public void testBrokenMDParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca2.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + assertTrue(onboardingManifest.getErrors().stream().anyMatch(error -> error + .contains(Messages.MANIFEST_INVALID_LINE.getErrorMessage().substring(0, 10)))); + } + } + + @Test + public void testNoMetaParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/InvalidTosca4.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + assertTrue(onboardingManifest.getErrors().stream().anyMatch(error -> error + .contains(Messages.MANIFEST_NO_METADATA.getErrorMessage().substring(0, 10)))); + } + } + + @Test + public void testSuccessfulNonManoParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/ValidNonManoTosca.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertTrue(onboardingManifest.isValid()); + assertEquals(onboardingManifest.getMetadata().size(), 4); + assertEquals(onboardingManifest.getSources().size(), 5); + assertEquals(onboardingManifest.getNonManoSources().size(), 2); + } + } + + @Test + public void testFailfulNonManoParsing() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/InValidNonManoTosca.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + } + } + + @Test + public void testFailfulNonManoParsingWithGarbadge() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/InvalidTocsaNonManoGarbadgeAtEnd.mf")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + } + } + + @Test + public void testParseManifestWithNoFile() throws IOException { + try (InputStream is = getClass() + .getResourceAsStream("/vspmanager.csar/manifest/SOME_WRONG_FILE")) { + Manifest onboardingManifest = OnboardingManifest.parse(is); + assertFalse(onboardingManifest.isValid()); + } + } +} diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InValidNonManoTosca.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InValidNonManoTosca.mf new file mode 100644 index 0000000000..9cced6b371 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InValidNonManoTosca.mf @@ -0,0 +1,36 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml + +non_mano_artifact_sets: + foo_bar: + Source: foobar/foo/foo.yaml + + Source: foobar/foo/foo.script + + Source: foobar/bar/descriptor.xml + + prv.happy-nfv.cool: + + Source: happy/cool/123.html + + Source: happy/cool/cool.json + + Source: happy/cool/hot/hot_or_cool.json + + +vnf_product_name: Mock +vnf_provider_id: ZTE +vnf_package_version: 1.0
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTocsaNonManoGarbadgeAtEnd.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTocsaNonManoGarbadgeAtEnd.mf new file mode 100644 index 0000000000..cfe6bc48da --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTocsaNonManoGarbadgeAtEnd.mf @@ -0,0 +1,34 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml + +non_mano_artifact_sets: + foo_bar: + Source: foobar/foo/foo.yaml + + Source: foobar/foo/foo.script + + Source: foobar/bar/descriptor.xml + + prv.happy-nfv.cool: + + Source: happy/cool/123.html + + Source: happy/cool/cool.json + + Source: happy/cool/hot/hot_or_cool.json + + +some garbadge
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca1.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca1.mf new file mode 100644 index 0000000000..ebdec213d3 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca1.mf @@ -0,0 +1,11 @@ + + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca2.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca2.mf new file mode 100644 index 0000000000..057f54867b --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca2.mf @@ -0,0 +1,18 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + +Source: MainServiceTemplate.yaml + + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + + + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca3.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca3.mf new file mode 100644 index 0000000000..64e9445f7f --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca3.mf @@ -0,0 +1,7 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + + diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca4.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca4.mf new file mode 100644 index 0000000000..d8e291c4a3 --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/InvalidTosca4.mf @@ -0,0 +1,12 @@ +metadata: + + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidNonManoTosca.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidNonManoTosca.mf new file mode 100644 index 0000000000..25ec14c7cc --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidNonManoTosca.mf @@ -0,0 +1,33 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml + +non_mano_artifact_sets: + foo_bar: + Source: foobar/foo/foo.yaml + + Source: foobar/foo/foo.script + + Source: foobar/bar/descriptor.xml + + prv.happy-nfv.cool: + + Source: happy/cool/123.html + + Source: happy/cool/cool.json + + Source: happy/cool/hot/hot_or_cool.json + + diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidTosca.mf b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidTosca.mf new file mode 100644 index 0000000000..b2accb7a1c --- /dev/null +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/resources/vspmanager.csar/manifest/ValidTosca.mf @@ -0,0 +1,15 @@ +metadata: + vnf_product_name: Mock + vnf_provider_id: ZTE + vnf_package_version: 1.0 + vnf_release_data_time: 2017.01.01T10:00+03:00 + +Source: MainServiceTemplate.yaml + +Source: Definitions/GlobalSubstitutionTypesServiceTemplate.yaml + +Source: Artifacts/install.sh + +Source: Artifacts/create_stack.sh + +Source: Licenses/license.xml |