Updated to use dublin schema version 51/84751/6
authorPolavarapu, Chaitanya (cp8128) <cp8128@att.com>
Tue, 9 Apr 2019 21:02:50 +0000 (17:02 -0400)
committerTian Lee <TianL@amdocs.com>
Thu, 11 Apr 2019 16:05:25 +0000 (16:05 +0000)
Using 1.0.2 schema-service version
Fixed the junit test failure for default service version

Issue-ID: AAI-2338
Change-Id: Ie0ddda41f6895ff0ce8e97ad065fb935462e643a
Signed-off-by: Polavarapu, Chaitanya (cp8128) <cp8128@att.com>
pom.xml
src/main/java/org/onap/aai/babel/xml/generator/ModelGenerator.java
src/test/java/org/onap/aai/babel/service/TestGenerateArtifactsServiceImpl.java
src/test/java/org/onap/aai/babel/testdata/CsarTest.java
src/test/resources/response/responseWithVersionLessThan1.json [new file with mode: 0644]

diff --git a/pom.xml b/pom.xml
index 5a5167d..1b7e91a 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -58,7 +58,7 @@
                <javax.ws.rs.version>2.1</javax.ws.rs.version>
                <mvn.jaxb2.version>0.13.2</mvn.jaxb2.version>
                <aai-schema.group.id>org.onap.aai.schema-service</aai-schema.group.id>
-               <aai-schema.version>1.0.1</aai-schema.version>
+               <aai-schema.version>1.0.2</aai-schema.version>
                <apache.lang3.version>3.7</apache.lang3.version>
                <aai.rest.client.version>1.2.1</aai.rest.client.version>
                <sdc.distribution.client.version>1.3.0</sdc.distribution.client.version>
index c5ea37a..6695241 100644 (file)
@@ -45,8 +45,6 @@ public class ModelGenerator implements ArtifactGenerator {
 
     private static final Logger logger = LogHelper.INSTANCE;
 
-    private static final String VERSION_DELIMITER = ".";
-    private static final String VERSION_DELIMITER_REGEXP = "\\" + VERSION_DELIMITER;
     private static final String DEFAULT_SERVICE_VERSION = "1.0";
 
     /**
@@ -115,12 +113,9 @@ public class ModelGenerator implements ArtifactGenerator {
     }
 
     private static String getServiceVersion(String artifactVersion) {
-        logger.debug("Artifact version=" + artifactVersion );
-        
-        // As of 1902, AAI-16260, we no longer edit the passed in artifact/service version.
+        logger.debug("Artifact version=" + artifactVersion);
         try {
-               // just make sure it's an integer 
-            Integer.parseInt(artifactVersion.split(VERSION_DELIMITER_REGEXP)[0]);
+            return String.valueOf(Float.parseFloat(artifactVersion));
         } catch (Exception e) {
             logger.warn(ApplicationMsgs.DISTRIBUTION_EVENT,
                     "Error generating service version from artifact version: " + artifactVersion
@@ -128,8 +123,5 @@ public class ModelGenerator implements ArtifactGenerator {
                             + e);
             return DEFAULT_SERVICE_VERSION;
         }
-
-        logger.debug("Use Artifact version as the serviceVersion=" + artifactVersion );
-        return artifactVersion;
     }
 }
index d011ba6..45eadb0 100644 (file)
@@ -103,6 +103,56 @@ public class TestGenerateArtifactsServiceImpl {
         assertThat(response.toString(), response.getStatus(), is(Response.Status.OK.getStatusCode()));
         assertThat(response.getEntity(), is(getResponseJson("response.json")));
     }
+    
+    /**
+     * Test with a valid request without Minor Artifact version.
+     *
+     * @throws URISyntaxException
+     *             if the URI cannot be created
+     * @throws IOException
+     *             if the resource cannot be loaded
+     */
+    @Test
+    public void testGenerateArtifactsWithoutMinorArtifactVersion() throws URISyntaxException, IOException {
+        Response response = invokeService(CsarTest.VNF_VENDOR_CSAR.getJsonRequestWithArtifactVersion("1"),
+                       Optional.of("transaction-id"), auth);
+        assertThat(response.toString(), response.getStatus(), is(Response.Status.OK.getStatusCode()));
+        assertThat(response.getEntity(), is(getResponseJson("response.json")));
+    }
+    
+    /**
+     * Test with a valid request without Minor Artifact version.
+     *
+     * @throws URISyntaxException
+     *             if the URI cannot be created
+     * @throws IOException
+     *             if the resource cannot be loaded
+     */
+    @Test
+    public void testGenerateArtifactsWithInvalidArtifactVersion() throws URISyntaxException, IOException {
+        Response response = invokeService(CsarTest.VNF_VENDOR_CSAR.getJsonRequestWithArtifactVersion("a"),
+                       Optional.of("transaction-id"), auth);
+        assertThat(response.toString(), response.getStatus(), is(Response.Status.OK.getStatusCode()));
+        assertThat(response.getEntity(), is(getResponseJson("response.json")));
+    }
+    
+    
+    /**
+     * Test with a valid request with Artifact version less than 1.
+     *
+     * @throws URISyntaxException
+     *             if the URI cannot be created
+     * @throws IOException
+     *             if the resource cannot be loaded
+     */
+    @Test
+    public void testGenerateArtifactsWithArtifactVerLessThan1() throws URISyntaxException, IOException {
+        Response response = invokeService(CsarTest.VNF_VENDOR_CSAR.getJsonRequestWithArtifactVersion("0.1"),
+                       Optional.of("transaction-id"), auth);
+        assertThat(response.toString(), response.getStatus(), is(Response.Status.OK.getStatusCode()));
+        assertThat(response.getEntity(), is(getResponseJson("responseWithVersionLessThan1.json")));
+    }
+
 
     /**
      * Test with a valid request, using a CSAR file that has no VNF configuration present.
index 8b28551..1885555 100644 (file)
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * org.onap.aai
  * ================================================================================
- * Copyright © 2017-2019 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017-2019 European Software Marketing Ltd.
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 European Software Marketing Ltd.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -39,12 +39,18 @@ public enum CsarTest {
     VNF_VENDOR_CSAR("catalog_csar.csar"),
     NO_VNF_CONFIG_CSAR("noVnfConfiguration.csar"),
     SD_WAN_CSAR_FILE("service-SdWanServiceTest-csar.csar"),
+    COS_AVPN_CSAR_FILE("service_CosAvpn_csar.csar"),
     MISSING_METADATA_CSAR("service-MissingMetadataTest.csar"),
     NO_YAML_FILES("noYmlFilesArchive.zip"),
     PORT_MIRROR_CSAR("service_PortMirror.csar"),
     MULTIPLE_VNF_CSAR("catalog_csar_too_many_vnfConfigurations.csar"),
     NETWORK_COLLECTION_CSAR_FILE("service_NetworkCollection.csar"),
+    RG_COLLECTOR_615_CSAR_FILE("service-RgCollector615-csar.csar"),
+    VDBE_SERVICE_CSAR_FILE("service-VdbeSrv-csar.csar"),
+    VNFOD_SERVICE("service-Dev2devnfodservice17July-csar.csar"),
+    CHILD_RESOURCE_CSAR_FILE("service-NetworkCloudVnfServiceMock-csar.csar"),
     SERVICE_PROXY_CSAR_FILE("service-S1-csar.csar");
+
     // @formatter:on
 
     private String filename;
@@ -102,4 +108,19 @@ public enum CsarTest {
         request.setCsar(new String(GeneratorUtil.encode(getContent())));
         return new Gson().toJson(request);
     }
+    
+    /**
+     * Create a BabelRequest containing the encoded CSAR content by passing in the artifact version.
+     * 
+     * @return a new Babel request for this CSAR
+     * @throws IOException
+     *             if an I/O exception occurs
+     */
+    public String getJsonRequestWithArtifactVersion(String artifactVersion) throws IOException {
+        BabelRequest request = new BabelRequest();
+        request.setArtifactName(getName());
+        request.setArtifactVersion(artifactVersion);
+        request.setCsar(new String(GeneratorUtil.encode(getContent())));
+        return new Gson().toJson(request);
+    }
 }
diff --git a/src/test/resources/response/responseWithVersionLessThan1.json b/src/test/resources/response/responseWithVersionLessThan1.json
new file mode 100644 (file)
index 0000000..2ffeff6
--- /dev/null
@@ -0,0 +1 @@
+[{"name":"AAI-29NFOD_S-service-0.1.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v16\">\n    <model-invariant-id>29NFOD_S-invariant-id</model-invariant-id>\n    <model-type>service</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD_S-version-id</model-version-id>\n            <model-name>29NFOD_S</model-name>\n            <model-version>0.1</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements>\n                        <model-element>\n                            <new-data-del-flag>T</new-data-del-flag>\n                            <cardinality>unbounded</cardinality>\n                            <model-elements/>\n                            <relationship-list>\n                                <relationship>\n                                    <related-to>model-ver</related-to>\n                                    <relationship-data>\n                                        <relationship-key>model-ver.model-version-id</relationship-key>\n                                        <relationship-value>29NFOD 0-version-id</relationship-value>\n                                    </relationship-data>\n                                    <relationship-data>\n                                        <relationship-key>model.model-invariant-id</relationship-key>\n                                        <relationship-value>29NFOD 0-invariant-id</relationship-value>\n                                    </relationship-data>\n                                </relationship>\n                            </relationship-list>\n                        </model-element>\n                    </model-elements>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>service-instance-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>service-instance-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"AAI-29NFOD-resource-1.0.xml","type":"MODEL","payload":"<model xmlns=\"http://org.onap.aai.inventory/v16\">\n    <model-invariant-id>29NFOD 0-invariant-id</model-invariant-id>\n    <model-type>resource</model-type>\n    <model-vers>\n        <model-ver>\n            <model-version-id>29NFOD 0-version-id</model-version-id>\n            <model-name>29NFOD</model-name>\n            <model-version>1.0</model-version>\n            <model-description>29NFOD</model-description>\n            <model-elements>\n                <model-element>\n                    <new-data-del-flag>T</new-data-del-flag>\n                    <cardinality>unbounded</cardinality>\n                    <model-elements/>\n                    <relationship-list>\n                        <relationship>\n                            <related-to>model-ver</related-to>\n                            <relationship-data>\n                                <relationship-key>model-ver.model-version-id</relationship-key>\n                                <relationship-value>generic-vnf-version-id</relationship-value>\n                            </relationship-data>\n                            <relationship-data>\n                                <relationship-key>model.model-invariant-id</relationship-key>\n                                <relationship-value>generic-vnf-invariant-id</relationship-value>\n                            </relationship-data>\n                        </relationship>\n                    </relationship-list>\n                </model-element>\n            </model-elements>\n        </model-ver>\n    </model-vers>\n</model>"},{"name":"vnfVendorImageConfigurations","type":"VNFCATALOG","payload":"[{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM00\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.1\"},{\"application\":\"VM01\",\"application-vendor\":\"29NFOD\",\"application-version\":\"3.16.9\"}]"}]