aboutsummaryrefslogtreecommitdiffstats
path: root/aai-schema-gen/src/test/java/org
diff options
context:
space:
mode:
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>2022-09-19 16:55:36 +0200
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>2022-09-19 16:55:36 +0200
commit7343beeaf260747aef6a6b9c22acd91de67c5ca0 (patch)
treecc90d98dfb61d5066184b346612bb04caaae64b4 /aai-schema-gen/src/test/java/org
parente0ad4f2890f9f933199bc6f1b3f0e988da471aa9 (diff)
Add instructions to invoke the linter and code formatter plugins to the README and invoke the formatter
Issue-ID: AAI-3526 Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de> Change-Id: Ibd383994732cea6460153704a1153beb530dc6c3
Diffstat (limited to 'aai-schema-gen/src/test/java/org')
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java193
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java100
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java105
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java564
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java146
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java664
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java152
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java798
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java107
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java109
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java388
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java1285
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java129
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java1599
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/swagger/DefinitionTest.java9
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java73
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java69
-rw-r--r--aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java77
18 files changed, 3428 insertions, 3139 deletions
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
index c6d2dde..0b99454 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,16 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -26,10 +34,10 @@ import org.junit.runner.RunWith;
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.nodes.NodeIngestor;
import org.onap.aai.schemagen.genxsd.*;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforBusiness;
import org.onap.aai.setup.SchemaLocationsBean;
import org.onap.aai.setup.SchemaVersion;
import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforBusiness;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,111 +46,98 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertThat;
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
- SchemaLocationsBean.class,
- TestUtilConfigTranslatorforBusiness.class,
- EdgeIngestor.class,
- NodeIngestor.class,
- SwaggerGenerationConfiguration.class,
- SchemaVersions.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.xsd.maxoccurs = 5000"
-})
+@ContextConfiguration(
+ classes = {SchemaLocationsBean.class, TestUtilConfigTranslatorforBusiness.class,
+ EdgeIngestor.class, NodeIngestor.class, SwaggerGenerationConfiguration.class,
+ SchemaVersions.class})
+@TestPropertySource(properties = {"schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000"})
public class GenerateXsdTest {
- private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
- private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
- private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
- public static AnnotationConfigApplicationContext ctx = null;
- private static String testXML;
-
- @Autowired
+ private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+ private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+ private static final String EDGEFILENAME =
+ "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+ public static AnnotationConfigApplicationContext ctx = null;
+ private static String testXML;
+
+ @Autowired
YAMLfromOXM yamlFromOxm;
- @Autowired
+ @Autowired
HTMLfromOXM htmlFromOxm;
- @Autowired
+ @Autowired
SchemaVersions schemaVersions;
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- XSDElementTest x = new XSDElementTest();
- x.setUp();
- testXML = x.getTestXML();
- logger.debug(testXML);
- BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
- bw.write(testXML);
- bw.close();
- BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw1.write(YAMLfromOXMTest.EdgeDefs());
- bw1.close();
-
- }
-
- @Before
- public void setUp() throws Exception {
- //PowerMockito.mockStatic(GenerateXsd.class);
- XSDElementTest x = new XSDElementTest();
- x.setUp();
- testXML = x.getTestXML();
-// logger.info(testXML);
- }
-
- @Test
- public void test_generateSwaggerFromOxmFile( ) {
-
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
-
- yamlFromOxm.setXmlVersion(testXML, v);
- fileContent = yamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ XSDElementTest x = new XSDElementTest();
+ x.setUp();
+ testXML = x.getTestXML();
+ logger.debug(testXML);
+ BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+ bw.write(testXML);
+ bw.close();
+ BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw1.write(YAMLfromOXMTest.EdgeDefs());
+ bw1.close();
+
}
- assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult()));
- }
-
- @Test
- public void test_generateXSDFromOxmFile( ) {
-
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String fileContent = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- fileContent = htmlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+
+ @Before
+ public void setUp() throws Exception {
+ // PowerMockito.mockStatic(GenerateXsd.class);
+ XSDElementTest x = new XSDElementTest();
+ x.setUp();
+ testXML = x.getTestXML();
+ // logger.info(testXML);
+ }
+
+ @Test
+ public void test_generateSwaggerFromOxmFile() {
+
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+
+ yamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = yamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult()));
}
-// logger.debug(fileContent);
- assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult()));
- }
-
- @Test
- public void testGetAPIVersion() {
- GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString();
- assertThat(GenerateXsd.getAPIVersion(),is("v11"));
- }
-
- @Test
- public void testGetYamlDir() {
- assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml"));
- }
-
- @Test
- public void testGetResponsesUrl() {
- assertNull(GenerateXsd.getResponsesUrl());
- }
-}
+ @Test
+ public void test_generateXSDFromOxmFile() {
+
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String fileContent = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ fileContent = htmlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ // logger.debug(fileContent);
+ assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult()));
+ }
+
+ @Test
+ public void testGetAPIVersion() {
+ GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString();
+ assertThat(GenerateXsd.getAPIVersion(), is("v11"));
+ }
+
+ @Test
+ public void testGetYamlDir() {
+ assertThat(GenerateXsd.getYamlDir(),
+ is("aai-schema/src/main/resources/onap/aai_swagger_yaml"));
+ }
+
+ @Test
+ public void testGetResponsesUrl() {
+ assertNull(GenerateXsd.getResponsesUrl());
+ }
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
index fe1aa6f..4729af4 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,67 +17,73 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
-import java.util.Arrays;
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
@RunWith(Parameterized.class)
public class DeleteFootnoteSetTest {
- String targetNode;
- String flavor;
- String result;
- DeleteFootnoteSet footnotes = null;
+ String targetNode;
+ String flavor;
+ String result;
+ DeleteFootnoteSet footnotes = null;
- @Parameters
- public static Collection<String[]> testConditions() {
- String inputs [][] = {
- {"vserver","(1)", "\n -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"},
- {"ctag-pool","(2)", "\n -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"},
- {"pserver","(3)", "\n -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"},
- {"oam-network","(4)", "\n -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"},
- {"dvs-switch","(1)", "\n -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"},
- {"availability-zone","(3)", "\n -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"}
- };
- return (Arrays.asList(inputs));
- }
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {
+ {"vserver", "(1)",
+ "\n -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"},
+ {"ctag-pool", "(2)",
+ "\n -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"},
+ {"pserver", "(3)",
+ "\n -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"},
+ {"oam-network", "(4)",
+ "\n -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"},
+ {"dvs-switch", "(1)",
+ "\n -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"},
+ {"availability-zone", "(3)",
+ "\n -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"}};
+ return (Arrays.asList(inputs));
+ }
- public DeleteFootnoteSetTest(String targetNode, String flavor, String result) {
- super();
- this.targetNode = targetNode;
- this.flavor = flavor;
- this.result=result;
- }
+ public DeleteFootnoteSetTest(String targetNode, String flavor, String result) {
+ super();
+ this.targetNode = targetNode;
+ this.flavor = flavor;
+ this.result = result;
+ }
- @Before
- public void setUp() throws Exception {
- footnotes = new DeleteFootnoteSet(this.targetNode);
- }
+ @Before
+ public void setUp() throws Exception {
+ footnotes = new DeleteFootnoteSet(this.targetNode);
+ }
- @Test
- public void testDeleteFootnoteSet() {
- assertThat(footnotes.targetNode, is(this.targetNode));
- }
+ @Test
+ public void testDeleteFootnoteSet() {
+ assertThat(footnotes.targetNode, is(this.targetNode));
+ }
- @Test
- public void testAdd() {
- footnotes.add(this.flavor);
- assertThat(footnotes.footnotes.size(), is(1));
- }
+ @Test
+ public void testAdd() {
+ footnotes.add(this.flavor);
+ assertThat(footnotes.footnotes.size(), is(1));
+ }
- @Test
- public void testToString() {
- footnotes.add(this.flavor);
- assertThat(footnotes.toString(), is(this.result));
- }
+ @Test
+ public void testToString() {
+ footnotes.add(this.flavor);
+ assertThat(footnotes.toString(), is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
index 0f44954..08f5c81 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,65 +17,76 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
-import java.util.Arrays;
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(Parameterized.class)
public class DeleteOperationTest {
- private String useOpId;
- private String xmlRootElementName;
- private String tag;
- private String path;
- private String pathParams;
- private String result;
+ private String useOpId;
+ private String xmlRootElementName;
+ private String tag;
+ private String path;
+ private String pathParams;
+ private String result;
+
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {{"NetworkGenericVnfsGenericVnf", "generic-vnf", "Network",
+ "/network/generic-vnfs/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n",
+ " delete:\n tags:\n - Network\n summary: delete an existing generic-vnf\n description: delete an existing generic-vnf\n operationId: deleteNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n - name: resource-version\n in: query\n description: resource-version for concurrency\n required: true\n type: string\n"},
+ // if ( StringUtils.isEmpty(tag) )
+ {"GenericVnf", "generic-vnf", "", "/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n",
+ ""},
+ // Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
+ {"CloudInfrastructurePserversPserverPInterfaces", "p-interfaces", "CloudInfrastructure",
+ "/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces",
+ " - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",
+ ""},
+ // {"","ctag-pool","","","",""},
+ // {"","pserver","","","",""},
+ // {"","oam-network","","","",""},
+ // {"","dvs-switch","","","",""},
+ // {"","availability-zone","","","",""}
+ };
+ return Arrays.asList(inputs);
+ }
- @Parameters
- public static Collection<String []> testConditions() {
- String inputs [][] = {
- {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n"," delete:\n tags:\n - Network\n summary: delete an existing generic-vnf\n description: delete an existing generic-vnf\n operationId: deleteNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n - name: resource-version\n in: query\n description: resource-version for concurrency\n required: true\n type: string\n"},
-// if ( StringUtils.isEmpty(tag) )
- {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__\n",""},
-// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
- {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""},
-// {"","ctag-pool","","","",""},
-// {"","pserver","","","",""},
-// {"","oam-network","","","",""},
-// {"","dvs-switch","","","",""},
-// {"","availability-zone","","","",""}
- };
- return Arrays.asList(inputs);
- }
+ public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path,
+ String pathParams, String result) {
+ super();
+ this.useOpId = useOpId;
+ this.xmlRootElementName = xmlRootElementName;
+ this.tag = tag;
+ this.path = path;
+ this.pathParams = pathParams;
+ this.result = result;
+ }
- public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
- super();
- this.useOpId = useOpId;
- this.xmlRootElementName = xmlRootElementName;
- this.tag = tag;
- this.path = path;
- this.pathParams=pathParams;
- this.result = result;
- }
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
- }
+ }
- @Test
- public void testToString() {
- DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path, pathParams);
- String modResult = delete.toString();
- assertThat(modResult, is(this.result));
- }
+ @Test
+ public void testToString() {
+ DeleteOperation delete =
+ new DeleteOperation(useOpId, xmlRootElementName, tag, path, pathParams);
+ String modResult = delete.toString();
+ assertThat(modResult, is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
index b17901f..1469272 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,9 +17,20 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
import com.google.common.collect.Multimap;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.util.*;
+
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -38,311 +49,314 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.util.*;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {SchemaVersions.class, SchemaLocationsBean.class, TestUtilConfigTranslatorforEdges.class, EdgeIngestor.class})
-@TestPropertySource(properties = {"schemaIngestPropLoc = src/test/resources/schemaIngest/schemaIngestTest.properties"})
-
+@ContextConfiguration(
+ classes = {SchemaVersions.class, SchemaLocationsBean.class,
+ TestUtilConfigTranslatorforEdges.class, EdgeIngestor.class})
+@TestPropertySource(
+ properties = {
+ "schemaIngestPropLoc = src/test/resources/schemaIngest/schemaIngestTest.properties"})
-public class EdgeDescriptionTest {
- private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
- @Autowired
+public class EdgeDescriptionTest {
+ private static final String EDGEFILENAME =
+ "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+ @Autowired
ConfigTranslator ct;
- @Autowired
+ @Autowired
EdgeIngestor edgeIngestor;
- String nodeName = "availability-zone";
- String toNode = "complex";
- SchemaVersion v10 = new SchemaVersion("v10");
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- String json = "{"
- + " \"rules\": ["
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"complex\","
- + " \"label\": \"org.onap.relationships.inventory.LocatedIn\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"this description\""
- + " },"
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"service-capability\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"cloud-region\","
- + " \"label\": \"org.onap.relationships.inventory.BelongsTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"!${direction}\","
- + " \"delete-other-v\": \"!${direction}\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"NONE\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"ctag-pool\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"${direction}\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"dvs-switch\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"generic-vnf\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.Uses\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"${direction}\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"pserver\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.MemberOf\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"${direction}\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"vce\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.Uses\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " ]}";
- BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw.write(json);
- bw.close();
- }
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- File edges = new File(EDGEFILENAME);
- edges.delete();
- }
- @Before
- public void setUp() throws Exception {
+ String nodeName = "availability-zone";
+ String toNode = "complex";
+ SchemaVersion v10 = new SchemaVersion("v10");
- }
- @Test
- public void test() {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ String json = "{" + " \"rules\": [" + " {" + " \"from\": \"availability-zone\","
+ + " \"to\": \"complex\","
+ + " \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"this description\""
+ + " }," + " {" + " \"from\": \"availability-zone\","
+ + " \"to\": \"service-capability\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " {"
+ + " \"from\": \"availability-zone\"," + " \"to\": \"cloud-region\","
+ + " \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"!${direction}\","
+ + " \"delete-other-v\": \"!${direction}\"," + " \"SVC-INFRA\": \"NONE\","
+ + " \"prevent-delete\": \"NONE\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"ctag-pool\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"${direction}\","
+ + " \"delete-other-v\": \"NONE\"," + " \"SVC-INFRA\": \"NONE\","
+ + " \"prevent-delete\": \"!${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"dvs-switch\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " {"
+ + " \"from\": \"generic-vnf\"," + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.Uses\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"${direction}\","
+ + " \"prevent-delete\": \"!${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"pserver\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.MemberOf\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"${direction}\","
+ + " \"prevent-delete\": \"!${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"vce\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.Uses\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " ]}";
+ BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw.write(json);
+ bw.close();
+ }
- Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
- assertTrue(edges.containsKey(v10));
- assertTrue(1 == edges.get(v10).size());
- assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0)));
- }
- @Test
- public void testGetDeleteOtherV() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"NONE";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } );
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ File edges = new File(EDGEFILENAME);
+ edges.delete();
}
- }
- @Test
- public void testGetPreventDelete() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"IN";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } );
+ @Before
+ public void setUp() throws Exception {
+
}
- }
- @Test
- public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException {
-// String toNode="cloud-region";
-// String target = "availability-zone"+"|"+toNode+"-"+"(4)";
- List<String> notedTypes = Arrays.asList("cloud-region", "ctag-pool");
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } );
+ @Test
+ public void test() {
+
+ Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
+ assertTrue(edges.containsKey(v10));
+ assertTrue(1 == edges.get(v10).size());
+ assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json"
+ .equals(edges.get(v10).get(0)));
}
-/*
- for (EdgeDescription ed : edges) {
- String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
- assertThat(modResult, is(target));
- ed.setDeleteOtherV("IN");
- target = "availability-zone"+"|"+"complex"+"-"+"(4)";
- modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
- assertThat(modResult, is(target));
- target = "availability-zone"+"|"+"complex"+"-"+"(1)";
- modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
- assertThat(modResult, is(target));
- ed.setDeleteOtherV("OUT");
- target = "availability-zone"+"|"+"complex"+"-"+"(2)";
- modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
- assertThat(modResult, is(target));
- target = "availability-zone"+"|"+"complex"+"-"+"(3)";
- modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
- assertThat(modResult, is(target));
+
+ @Test
+ public void testGetDeleteOtherV() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "NONE";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getDeleteOtherV(), is(target));
+ });
+ }
}
-*/
- }
- @Test
- public void testGetTo() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+toNode;
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } );
+ @Test
+ public void testGetPreventDelete() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "IN";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getPreventDelete(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetFrom() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"availability-zone";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } );
+ @Test
+ public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException {
+ // String toNode="cloud-region";
+ // String target = "availability-zone"+"|"+toNode+"-"+"(4)";
+ List<String> notedTypes = Arrays.asList("cloud-region", "ctag-pool");
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals("availability-zone") && (!i.isPrivateEdge())))
+ .forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ String target =
+ ed.getRuleKey() + "-" + (notedTypes.contains(ed.getTo()) ? "(4)" : "");
+ assertThat(ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom()),
+ is(target));
+ });
+ }
+ /*
+ * for (EdgeDescription ed : edges) {
+ * String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+ * assertThat(modResult, is(target));
+ * ed.setDeleteOtherV("IN");
+ * target = "availability-zone"+"|"+"complex"+"-"+"(4)";
+ * modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+ * assertThat(modResult, is(target));
+ * target = "availability-zone"+"|"+"complex"+"-"+"(1)";
+ * modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+ * assertThat(modResult, is(target));
+ * ed.setDeleteOtherV("OUT");
+ * target = "availability-zone"+"|"+"complex"+"-"+"(2)";
+ * modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+ * assertThat(modResult, is(target));
+ * target = "availability-zone"+"|"+"complex"+"-"+"(3)";
+ * modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+ * assertThat(modResult, is(target));
+ * }
+ */
}
- }
- @Test
- public void testGetRuleKey() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode;
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } );
+ @Test
+ public void testGetTo() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + toNode;
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getTo(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetMultiplicity() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } );
+ @Test
+ public void testGetFrom() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "availability-zone";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getFrom(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetDirection() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"OUT";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } );
+ @Test
+ public void testGetRuleKey() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode;
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetDescription() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"this description";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+ @Test
+ public void testGetMultiplicity() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "MANY2ONE";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getMultiplicity(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetRelationshipDescription() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"this description";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+ @Test
+ public void testGetDirection() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "OUT";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getDirection(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetType() throws EdgeRuleNotFoundException {
- String toNode = "cloud-region";
- String target = "availability-zone"+"|"+toNode+"-"+"PARENT";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } );
+ @Test
+ public void testGetDescription() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "this description";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getDescription(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetLabel() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } );
+ @Test
+ public void testGetRelationshipDescription() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "this description";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getDescription(), is(target));
+ });
+ }
}
- }
- @Test
- public void testGetShortLabel() throws EdgeRuleNotFoundException {
- String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn";
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } );
+ @Test
+ public void testGetType() throws EdgeRuleNotFoundException {
+ String toNode = "cloud-region";
+ String target = "availability-zone" + "|" + toNode + "-" + "PARENT";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getType(), is(target));
+ });
+ }
}
- }
-}
+ @Test
+ public void testGetLabel() throws EdgeRuleNotFoundException {
+ String target =
+ "availability-zone" + "|" + toNode + "-" + "org.onap.relationships.inventory.LocatedIn";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getLabel(), is(target));
+ });
+ }
+ }
+ @Test
+ public void testGetShortLabel() throws EdgeRuleNotFoundException {
+ String target = "availability-zone" + "|" + toNode + "-" + "LocatedIn";
+ Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream()
+ .filter((i) -> (i.getTo().equals(toNode) && (!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ assertThat(ed.getRuleKey() + "-" + ed.getShortLabel(), is(target));
+ });
+ }
+ }
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
index 74fa60b..aad62ce 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,16 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -27,80 +35,82 @@ import org.junit.runners.Parameterized.Parameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Vector;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(Parameterized.class)
public class GetOperationTest {
- private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class");
- private String useOpId;
- private String xmlRootElementName;
- private String tag;
- private String path;
- private String pathParams;
- private String result;
+ private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class");
+ private String useOpId;
+ private String xmlRootElementName;
+ private String tag;
+ private String path;
+ private String pathParams;
+ private String result;
- @Parameters
- public static Collection<String []> testConditions() {
- String inputs [][] = {
- {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /network/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Network\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"},
- {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""},
- {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n get:\n tags:\n - CloudInfrastructure\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__ - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"},
- // {"","ctag-pool","","","",""},
-// {"","pserver","","","",""},
-// {"","oam-network","","","",""},
-// {"","dvs-switch","","","",""},
-// {"","availability-zone","","","",""}
- };
- return Arrays.asList(inputs);
- }
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {{"NetworkGenericVnfsGenericVnf", "generic-vnf", "Network",
+ "/network/generic-vnfs/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ " /network/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Network\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"},
+ {"GenericVnf", "generic-vnf", "", "/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ ""},
+ {"CloudInfrastructurePserversPserverPInterfaces", "p-interfaces", "CloudInfrastructure",
+ "/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces",
+ " - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",
+ " /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n get:\n tags:\n - CloudInfrastructure\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__ - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"},
+ // {"","ctag-pool","","","",""},
+ // {"","pserver","","","",""},
+ // {"","oam-network","","","",""},
+ // {"","dvs-switch","","","",""},
+ // {"","availability-zone","","","",""}
+ };
+ return Arrays.asList(inputs);
+ }
+
+ public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path,
+ String pathParams, String result) {
+ super();
+ this.useOpId = useOpId;
+ this.xmlRootElementName = xmlRootElementName;
+ this.tag = tag;
+ this.path = path;
+ this.pathParams = pathParams;
+ this.result = result;
+ }
- public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
- super();
- this.useOpId = useOpId;
- this.xmlRootElementName = xmlRootElementName;
- this.tag = tag;
- this.path = path;
- this.pathParams=pathParams;
- this.result = result;
- }
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- String container = "p-interfaces";
- String queryProps[] = {
- " - name: interface-name\n in: query\n description:\n required: false\n type: string",
- " - name: prov-status\n in: query\n description:\n required: false\n type: string"
- };
- Vector<String> containerProps = new Vector<String>();
- for(String prop : queryProps) {
- containerProps.add(prop);
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ String container = "p-interfaces";
+ String queryProps[] = {
+ " - name: interface-name\n in: query\n description:\n required: false\n type: string",
+ " - name: prov-status\n in: query\n description:\n required: false\n type: string"};
+ Vector<String> containerProps = new Vector<String>();
+ for (String prop : queryProps) {
+ containerProps.add(prop);
+ }
+ GetOperation.addContainerProps(container, containerProps);
}
- GetOperation.addContainerProps(container, containerProps);
- }
- @Test
- public void testAddContainerProps() {
- String container = this.xmlRootElementName;
- String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string";
- Vector<String> queryProps = new Vector<String>();
- queryProps.add(prop);
- for(String p : queryProps) {
- logger.debug("qProp="+p);
+ @Test
+ public void testAddContainerProps() {
+ String container = this.xmlRootElementName;
+ String prop = " - name: " + container
+ + "\n in: query\n description:\n required: false\n type: string";
+ Vector<String> queryProps = new Vector<String>();
+ queryProps.add(prop);
+ for (String p : queryProps) {
+ logger.debug("qProp=" + p);
+ }
+ logger.debug("Done=" + this.xmlRootElementName);
+ GetOperation.addContainerProps(container, queryProps);
+ assertThat(GetOperation.containers.get(container).get(0), is(prop));
}
- logger.debug("Done="+this.xmlRootElementName);
- GetOperation.addContainerProps(container, queryProps);
- assertThat(GetOperation.containers.get(container).get(0), is(prop));
- }
- @Test
- public void testToString() {
- GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path, pathParams);
- String modResult = get.toString();
- assertThat(modResult, is(this.result));
- }
+ @Test
+ public void testToString() {
+ GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path, pathParams);
+ String modResult = get.toString();
+ assertThat(modResult, is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
index b5d9489..d4a6517 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,21 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -39,342 +52,383 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.w3c.dom.Element;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
- SchemaVersions.class,
- SchemaLocationsBean.class,
- TestUtilConfigTranslatorforBusiness.class,
- EdgeIngestor.class,
- NodeIngestor.class,
- SwaggerGenerationConfiguration.class
+@ContextConfiguration(
+ classes = {SchemaVersions.class, SchemaLocationsBean.class,
+ TestUtilConfigTranslatorforBusiness.class, EdgeIngestor.class, NodeIngestor.class,
+ SwaggerGenerationConfiguration.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.xsd.maxoccurs = 5000"
-})
+ })
+@TestPropertySource(properties = {"schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000"})
public class HTMLfromOXMTest {
- private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class");
- private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
- public static AnnotationConfigApplicationContext ctx = null;
- private static String testXML;
- protected static final String SERVICE_NAME = "JUNIT";
-
+ private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class");
+ private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+ public static AnnotationConfigApplicationContext ctx = null;
+ private static String testXML;
+ protected static final String SERVICE_NAME = "JUNIT";
- @Autowired
- HTMLfromOXM htmlFromOxm;
+ @Autowired
+ HTMLfromOXM htmlFromOxm;
- @Autowired
+ @Autowired
SchemaVersions schemaVersions;
- @BeforeClass
- public static void setUpContext() throws Exception {
+ @BeforeClass
+ public static void setUpContext() throws Exception {
- }
- @BeforeClass
+ }
+
+ @BeforeClass
public static void setupBundleconfig() throws Exception {
System.setProperty("AJSC_HOME", ".");
System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
System.setProperty("aai.service.name", SERVICE_NAME);
}
- @Before
- public void setUp() throws Exception {
- setUp(0);
- }
+ @Before
+ public void setUp() throws Exception {
+ setUp(0);
+ }
- public void setUp(int sbopt) throws Exception
- {
- XSDElementTest x = new XSDElementTest();
- x.setUp(sbopt);
- testXML = x.testXML;
- logger.debug(testXML);
- BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
- bw.write(testXML);
- bw.close();
- }
+ public void setUp(int sbopt) throws Exception {
+ XSDElementTest x = new XSDElementTest();
+ x.setUp(sbopt);
+ testXML = x.testXML;
+ logger.debug(testXML);
+ BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+ bw.write(testXML);
+ bw.close();
+ }
- @Test
- public void testGetDocumentHeader() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String header = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- htmlFromOxm.setSchemaVersions(schemaVersions);
- header = htmlFromOxm.getDocumentHeader();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testGetDocumentHeader() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String header = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ htmlFromOxm.setSchemaVersions(schemaVersions);
+ header = htmlFromOxm.getDocumentHeader();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.debug("Header:");
+ logger.debug(header);
+ assertThat(header, is(HTMLheader()));
}
- logger.debug("Header:");
- logger.debug(header);
- assertThat(header, is(HTMLheader()));
- }
- @Test
- public void testProcess() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String fileContent = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- fileContent = htmlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testProcess() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String fileContent = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ fileContent = htmlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.debug("FileContent-I:");
+ logger.debug(fileContent);
+ assertThat(fileContent, is(HTMLresult(0)));
}
- logger.debug("FileContent-I:");
- logger.debug(fileContent);
- assertThat(fileContent, is(HTMLresult(0)));
- }
- @Test
- public void testProcessWithCombiningJavaTypes() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String fileContent = null;
- try {
- setUp(1);
- htmlFromOxm.setXmlVersion(testXML, v);
- fileContent = htmlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testProcessWithCombiningJavaTypes() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String fileContent = null;
+ try {
+ setUp(1);
+ htmlFromOxm.setXmlVersion(testXML, v);
+ fileContent = htmlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.debug("FileContent-I:");
+ logger.debug(fileContent);
+ assertThat(fileContent, is(HTMLresult(1)));
}
- logger.debug("FileContent-I:");
- logger.debug(fileContent);
- assertThat(fileContent, is(HTMLresult(1)));
- }
- @Test
- public void testHTMLfromOXMFileVersion() throws IOException {
- String outfileName = "testXML.xml";
- File XMLfile = new File(outfileName);
- XMLfile.createNewFile();
- BufferedWriter bw = null;
- Charset charset = Charset.forName("UTF-8");
- Path path = Paths.get(outfileName);
- bw = Files.newBufferedWriter(path, charset);
- bw.write(testXML);
- bw.close();
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String fileContent = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- fileContent = htmlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testHTMLfromOXMFileVersion() throws IOException {
+ String outfileName = "testXML.xml";
+ File XMLfile = new File(outfileName);
+ XMLfile.createNewFile();
+ BufferedWriter bw = null;
+ Charset charset = Charset.forName("UTF-8");
+ Path path = Paths.get(outfileName);
+ bw = Files.newBufferedWriter(path, charset);
+ bw.write(testXML);
+ bw.close();
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String fileContent = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ fileContent = htmlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ XMLfile.delete();
+ logger.debug("FileContent-I:");
+ logger.debug(fileContent);
+ assertThat(fileContent, is(HTMLresult(0)));
}
- XMLfile.delete();
- logger.debug("FileContent-I:");
- logger.debug(fileContent);
- assertThat(fileContent, is(HTMLresult(0)));
- }
- @Test
- public void testHTMLfromOXMStringVersion() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String fileContent = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- fileContent = htmlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testHTMLfromOXMStringVersion() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String fileContent = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ fileContent = htmlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.debug("FileContent-II:");
+ logger.debug(fileContent);
+ assertThat(fileContent, is(HTMLresult(0)));
}
- logger.debug("FileContent-II:");
- logger.debug(fileContent);
- assertThat(fileContent, is(HTMLresult(0)));
- }
- @Test
- public void testProcessJavaTypeElement() {
- String target = "Element=java-type/Customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- Element customer = null;
- try {
- htmlFromOxm.setXmlVersion(testXML, v);
- htmlFromOxm.process();
- customer = htmlFromOxm.getJavaTypeElementSwagger("Customer");
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testProcessJavaTypeElement() {
+ String target = "Element=java-type/Customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ Element customer = null;
+ try {
+ htmlFromOxm.setXmlVersion(testXML, v);
+ htmlFromOxm.process();
+ customer = htmlFromOxm.getJavaTypeElementSwagger("Customer");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ logger.debug("Element:");
+ logger.debug("Element=" + customer.getNodeName() + "/" + customer.getAttribute("name"));
+ assertThat("Element=" + customer.getNodeName() + "/" + customer.getAttribute("name"),
+ is(target));
}
- logger.debug("Element:");
- logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"));
- assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target)); }
- public String HTMLresult() {
- return HTMLresult(0);
- }
+ public String HTMLresult() {
+ return HTMLresult(0);
+ }
- public String HTMLresult(int sbopt) {
- StringBuilder sb = new StringBuilder(32368);
- sb.append(HTMLheader());
- sb.append(HTMLdefs(sbopt));
- return sb.toString();
- }
+ public String HTMLresult(int sbopt) {
+ StringBuilder sb = new StringBuilder(32368);
+ sb.append(HTMLheader());
+ sb.append(HTMLdefs(sbopt));
+ return sb.toString();
+ }
- public String HTMLheader() {
- StringBuilder sb = new StringBuilder(1500);
- sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://org.onap.aai.inventory/v11\" xmlns:tns=\"http://org.onap.aai.inventory/v11\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"" + OxmFileProcessor.LINE_SEPARATOR + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" jaxb:version=\"2.1\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" xmlns:annox=\"http://annox.dev.java.net\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" jaxb:extensionBindingPrefixes=\"annox\">" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- return sb.toString();
- }
+ public String HTMLheader() {
+ StringBuilder sb = new StringBuilder(1500);
+ sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ "<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://org.onap.aai.inventory/v11\" xmlns:tns=\"http://org.onap.aai.inventory/v11\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\""
+ + OxmFileProcessor.LINE_SEPARATOR + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\""
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" jaxb:version=\"2.1\"" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " xmlns:annox=\"http://annox.dev.java.net\"" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" jaxb:extensionBindingPrefixes=\"annox\">"
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ return sb.toString();
+ }
- public String HTMLdefs() {
- return HTMLdefs(0);
- }
- public String HTMLdefs(int sbopt) {
- StringBuilder sb = new StringBuilder(1500);
- sb.append(" <xs:element name=\"service-subscription\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"service-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"temp-ub-sub-account-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"service-subscriptions\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element ref=\"tns:service-subscription\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"customer\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- if ( sbopt == 0 ) {
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- } else {
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+ public String HTMLdefs() {
+ return HTMLdefs(0);
}
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"global-customer-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"subscriber-name\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- if ( sbopt == 0 ) {
- sb.append(" <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- } else {
- sb.append(" <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ public String HTMLdefs(int sbopt) {
+ StringBuilder sb = new StringBuilder(1500);
+ sb.append(" <xs:element name=\"service-subscription\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"service-type\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"temp-ub-sub-account-id\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"service-subscriptions\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element ref=\"tns:service-subscription\" minOccurs=\"0\" maxOccurs=\"5000\"/>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"customer\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ if (sbopt == 0) {
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ } else {
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ }
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"global-customer-id\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"subscriber-name\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ if (sbopt == 0) {
+ sb.append(
+ " <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ } else {
+ sb.append(
+ " <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+
+ }
+ sb.append(" <xs:element ref=\"tns:service-subscriptions\" minOccurs=\"0\"/>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"customers\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element ref=\"tns:customer\" minOccurs=\"0\" maxOccurs=\"5000\"/>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"business\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element ref=\"tns:customers\" minOccurs=\"0\"/>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element name=\"inventory\">" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" <xs:element ref=\"tns:business\" minOccurs=\"0\"/>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append("</xs:schema>" + OxmFileProcessor.LINE_SEPARATOR);
+ return sb.toString();
}
- sb.append(" <xs:element ref=\"tns:service-subscriptions\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"customers\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element ref=\"tns:customer\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"business\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element ref=\"tns:customers\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element name=\"inventory\">" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" <xs:element ref=\"tns:business\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append("</xs:schema>" + OxmFileProcessor.LINE_SEPARATOR);
- return sb.toString();
- }
}
-
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
index 8ecc8b5..fc75150 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,16 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -27,82 +35,86 @@ import org.junit.runners.Parameterized.Parameters;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Vector;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(Parameterized.class)
public class NodeGetOperationTest {
- private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class");
- private String useOpId;
- private String xmlRootElementName;
- private String tag;
- private String path;
- private String pathParams;
- private String result;
+ private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class");
+ private String useOpId;
+ private String xmlRootElementName;
+ private String tag;
+ private String path;
+ private String pathParams;
+ private String result;
- @Parameters
- public static Collection<String []> testConditions() {
- String inputs [][] = {
- {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Operations\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null\n parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"},
- {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""},
- {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__"," /nodes/p-interfaces?parameter=value[&parameter2=value2]:\n get:\n tags:\n - Operations\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null\n parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__\n - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"},
- // {"","ctag-pool","","","",""},
-// {"","pserver","","","",""},
-// {"","oam-network","","","",""},
-// {"","dvs-switch","","","",""},
-// {"","availability-zone","","","",""}
- };
- return Arrays.asList(inputs);
- }
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {{"NetworkGenericVnfsGenericVnf", "generic-vnf", "Network",
+ "/network/generic-vnfs/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ " /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n get:\n tags:\n - Operations\n summary: returns generic-vnf\n description: returns generic-vnf\n operationId: getNetworkGenericVnfsGenericVnf\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/generic-vnf\"\n \"default\":\n null\n parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"},
+ {"GenericVnf", "generic-vnf", "", "/Network/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ ""},
+ {"CloudInfrastructurePserversPserverPInterfaces", "p-interfaces", "CloudInfrastructure",
+ "/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces",
+ " - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",
+ " /nodes/p-interfaces?parameter=value[&parameter2=value2]:\n get:\n tags:\n - Operations\n summary: returns p-interfaces\n description: returns p-interfaces\n operationId: getCloudInfrastructurePserversPserverPInterfaces\n produces:\n - application/json\n - application/xml\n responses:\n \"200\":\n description: successful operation\n schema:\n $ref: \"#/definitions/p-interfaces\"\n \"default\":\n null\n parameters:\n - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__\n - name: interface-name\n in: query\n description:\n required: false\n type: string - name: prov-status\n in: query\n description:\n required: false\n type: string"},
+ // {"","ctag-pool","","","",""},
+ // {"","pserver","","","",""},
+ // {"","oam-network","","","",""},
+ // {"","dvs-switch","","","",""},
+ // {"","availability-zone","","","",""}
+ };
+ return Arrays.asList(inputs);
+ }
+
+ public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path,
+ String pathParams, String result) {
+ super();
+ this.useOpId = useOpId;
+ this.xmlRootElementName = xmlRootElementName;
+ this.tag = tag;
+ this.path = path;
+ this.pathParams = pathParams;
+ this.result = result;
+ }
- public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
- super();
- this.useOpId = useOpId;
- this.xmlRootElementName = xmlRootElementName;
- this.tag = tag;
- this.path = path;
- this.pathParams=pathParams;
- this.result = result;
- }
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- String container = "p-interfaces";
- String queryProps[] = {
- " - name: interface-name\n in: query\n description:\n required: false\n type: string",
- " - name: prov-status\n in: query\n description:\n required: false\n type: string"
- };
- Vector<String> containerProps = new Vector<String>();
- for(String prop : queryProps) {
- containerProps.add(prop);
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ String container = "p-interfaces";
+ String queryProps[] = {
+ " - name: interface-name\n in: query\n description:\n required: false\n type: string",
+ " - name: prov-status\n in: query\n description:\n required: false\n type: string"};
+ Vector<String> containerProps = new Vector<String>();
+ for (String prop : queryProps) {
+ containerProps.add(prop);
+ }
+ NodeGetOperation.addContainerProps(container, containerProps);
}
- NodeGetOperation.addContainerProps(container, containerProps);
- }
- @Test
- public void testAddContainerProps() {
- String container = this.xmlRootElementName;
- String prop = " - name: "+container+"\n in: query\n description:\n required: false\n type: string";
- Vector<String> queryProps = new Vector<String>();
- queryProps.add(prop);
- String props=null;
- for(String p : queryProps) {
- props += "qProp="+p+"\n";
-// logger.debug("qProp="+p);
+ @Test
+ public void testAddContainerProps() {
+ String container = this.xmlRootElementName;
+ String prop = " - name: " + container
+ + "\n in: query\n description:\n required: false\n type: string";
+ Vector<String> queryProps = new Vector<String>();
+ queryProps.add(prop);
+ String props = null;
+ for (String p : queryProps) {
+ props += "qProp=" + p + "\n";
+ // logger.debug("qProp="+p);
+ }
+ // logger.debug("Done="+this.xmlRootElementName);
+ NodeGetOperation.addContainerProps(container, queryProps);
+ assertThat(props + "Done=" + this.xmlRootElementName,
+ NodeGetOperation.containers.get(container).get(0), is(prop));
}
-// logger.debug("Done="+this.xmlRootElementName);
- NodeGetOperation.addContainerProps(container, queryProps);
- assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop));
- }
- @Test
- public void testToString() {
- NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path, pathParams);
- String modResult = get.toString();
- assertThat(modResult, is(this.result));
- }
+ @Test
+ public void testToString() {
+ NodeGetOperation get =
+ new NodeGetOperation(useOpId, xmlRootElementName, tag, path, pathParams);
+ String modResult = get.toString();
+ assertThat(modResult, is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
index ed403e0..468de16 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,21 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -39,232 +52,229 @@ import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.w3c.dom.Element;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
- SchemaVersions.class,
- SchemaLocationsBean.class,
- TestUtilConfigTranslatorforEdges.class,
- EdgeIngestor.class,
- NodeIngestor.class,
- SwaggerGenerationConfiguration.class
+@ContextConfiguration(
+ classes = {SchemaVersions.class, SchemaLocationsBean.class,
+ TestUtilConfigTranslatorforEdges.class, EdgeIngestor.class, NodeIngestor.class,
+ SwaggerGenerationConfiguration.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.xsd.maxoccurs = 5000"
-})
+ })
+@TestPropertySource(properties = {"schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000"})
public class NodesYAMLfromOXMTest {
-//public class NodesYAMLfromOXMTest extends AAISetup {
- private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class");
- private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml";
- private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
- public static AnnotationConfigApplicationContext ctx = null;
- private static String testXML;
+ // public class NodesYAMLfromOXMTest extends AAISetup {
+ private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class");
+ private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml";
+ private static final String EDGEFILENAME =
+ "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+ public static AnnotationConfigApplicationContext ctx = null;
+ private static String testXML;
- @Autowired
- NodesYAMLfromOXM nodesYamlFromOxm;
- @Autowired
+ @Autowired
+ NodesYAMLfromOXM nodesYamlFromOxm;
+ @Autowired
SchemaVersions schemaVersions;
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
- XSDElementTest x = new XSDElementTest();
- x.setUp();
- testXML = x.testXML;
- logger.debug(testXML);
- BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
- bw.write(testXML);
- bw.close();
- BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw1.write(YAMLfromOXMTest.EdgeDefs());
- bw1.close();
+ XSDElementTest x = new XSDElementTest();
+ x.setUp();
+ testXML = x.testXML;
+ logger.debug(testXML);
+ BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+ bw.write(testXML);
+ bw.close();
+ BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw1.write(YAMLfromOXMTest.EdgeDefs());
+ bw1.close();
+ }
- }
-
- @Before
- public void setUp() throws Exception {
+ @Before
+ public void setUp() throws Exception {
- NodeGetOperation.checklist.clear();
- XSDElementTest x = new XSDElementTest();
- x.setUp();
- testXML = x.testXML;
+ NodeGetOperation.checklist.clear();
+ XSDElementTest x = new XSDElementTest();
+ x.setUp();
+ testXML = x.testXML;
- logger.debug(testXML);
- }
+ logger.debug(testXML);
+ }
- @Test
- public void testGetDocumentHeader() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String header = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- nodesYamlFromOxm.process();
- header = nodesYamlFromOxm.getDocumentHeader();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testGetDocumentHeader() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String header = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ nodesYamlFromOxm.process();
+ header = nodesYamlFromOxm.getDocumentHeader();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Header:\n" + header, header, is(YAMLheader()));
}
- assertThat("Header:\n"+header,header, is(YAMLheader()));
- }
- @Test
- public void testProcess() {
+ @Test
+ public void testProcess() {
+
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = nodesYamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("FileContent-I:\n" + fileContent, fileContent, is(YAMLresult()));
+ }
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- fileContent = nodesYamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testNodesYAMLfromOXMFileVersionFile() throws IOException {
+ String outfileName = "testXML.xml";
+ File XMLfile = new File(outfileName);
+ XMLfile.createNewFile();
+ BufferedWriter bw = null;
+ Charset charset = Charset.forName("UTF-8");
+ Path path = Paths.get(outfileName);
+ bw = Files.newBufferedWriter(path, charset);
+ bw.write(testXML);
+ bw.close();
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = nodesYamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ XMLfile.delete();
+ assertThat("FileContent:\n" + fileContent, fileContent, is(YAMLresult()));
}
- assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult()));
- }
- @Test
- public void testNodesYAMLfromOXMFileVersionFile() throws IOException {
- String outfileName = "testXML.xml";
- File XMLfile = new File(outfileName);
- XMLfile.createNewFile();
- BufferedWriter bw = null;
- Charset charset = Charset.forName("UTF-8");
- Path path = Paths.get(outfileName);
- bw = Files.newBufferedWriter(path, charset);
- bw.write(testXML);
- bw.close();
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- fileContent = nodesYamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testNodesYAMLfromOXMStringVersionFile() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = nodesYamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("FileContent-II:\n" + fileContent, fileContent, is(YAMLresult()));
}
- XMLfile.delete();
- assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult()));
- }
- @Test
- public void testNodesYAMLfromOXMStringVersionFile() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- fileContent = nodesYamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testAppendDefinitions() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String definitions = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ nodesYamlFromOxm.process();
+ definitions = nodesYamlFromOxm.appendDefinitions();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Definitions:\n" + definitions, definitions, is(YAMLgetDefs()));
}
- assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult()));
- }
- @Test
- public void testAppendDefinitions() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String definitions = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- nodesYamlFromOxm.process();
- definitions = nodesYamlFromOxm.appendDefinitions();
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testGetXMLRootElementName() {
+ String target = "RootElement=customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ Element customer = null;
+ String root = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ nodesYamlFromOxm.process();
+ customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+ root = nodesYamlFromOxm.getXMLRootElementName(customer);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("RootElement=" + root, is(target));
}
- assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs()));
- }
- @Test
- public void testGetXMLRootElementName() {
- String target = "RootElement=customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- Element customer = null;
- String root = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- nodesYamlFromOxm.process();
- customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
- root = nodesYamlFromOxm.getXMLRootElementName(customer);
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testGetXmlRootElementName() {
+ String target = "RootElement=customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String root = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ nodesYamlFromOxm.process();
+ root = nodesYamlFromOxm.getXmlRootElementName("Customer");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("RootElement=" + root, is(target));
}
- assertThat("RootElement="+root, is(target));
- }
- @Test
- public void testGetXmlRootElementName() {
- String target = "RootElement=customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String root = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- nodesYamlFromOxm.process();
- root = nodesYamlFromOxm.getXmlRootElementName("Customer");
- } catch(Exception e) {
- e.printStackTrace();
+ @Test
+ public void testGetJavaTypeElementSwagger() {
+ String target = "Element=java-type/Customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ Element customer = null;
+ try {
+ nodesYamlFromOxm.setXmlVersion(testXML, v);
+ nodesYamlFromOxm.process();
+ customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Element=" + customer.getNodeName() + "/" + customer.getAttribute("name"),
+ is(target));
}
- assertThat("RootElement="+root, is(target));
- }
- @Test
- public void testGetJavaTypeElementSwagger() {
- String target = "Element=java-type/Customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- Element customer = null;
- try {
- nodesYamlFromOxm.setXmlVersion(testXML, v);
- nodesYamlFromOxm.process();
- customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
- } catch(Exception e) {
- e.printStackTrace();
+ public String YAMLresult() {
+ StringBuilder sb = new StringBuilder(32368);
+ sb.append(YAMLheader());
+ sb.append(YAMLops());
+ sb.append(YAMLgetDefs());
+ return sb.toString();
}
- assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
- }
- public String YAMLresult() {
- StringBuilder sb = new StringBuilder(32368);
- sb.append(YAMLheader());
- sb.append(YAMLops());
- sb.append(YAMLgetDefs());
- return sb.toString();
- }
- public String YAMLheader() {
- StringBuilder sb = new StringBuilder(1500);
+ public String YAMLheader() {
+ StringBuilder sb = new StringBuilder(1500);
sb.append("swagger: \"2.0\"\n");
sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" description: |\n");
sb.append("\n");
- sb.append(" [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)"
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
sb.append(" You may obtain a copy of the License at\n");
sb.append("\n");
- sb.append(" (https://creativecommons.org/licenses/by/4.0/)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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."+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" (https://creativecommons.org/licenses/by/4.0/)"
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions."
+ + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" license:" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" name: Apache 2.0" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html"
+ + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" contact:" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" name: n/a" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" url: n/a" + OxmFileProcessor.LINE_SEPARATOR);
@@ -274,203 +284,219 @@ public class NodesYAMLfromOXMTest {
sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
sb.append(" - https\n");
sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
- return sb.toString();
- }
+ return sb.toString();
+ }
- public String YAMLops() {
- StringBuilder sb = new StringBuilder(16384);
- sb.append(" /nodes/customers/customer/{global-customer-id}:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Operations\n");
- sb.append(" summary: returns customer\n");
- sb.append(" description: returns customer\n");
- sb.append(" operationId: getBusinessCustomersCustomer\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null\n parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" /nodes/customers?parameter=value[&parameter2=value2]:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Operations\n");
- sb.append(" summary: returns customers\n");
- sb.append(" description: returns customers\n");
- sb.append(" operationId: getBusinessCustomers\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/customers\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null\n parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" - name: subscriber-name\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" - name: subscriber-type\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" /nodes/service-subscriptions/service-subscription/{service-type}:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Operations\n");
- sb.append(" summary: returns service-subscription\n");
- sb.append(" description: returns service-subscription\n");
- sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null\n parameters:\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: path\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __SERVICE-TYPE__\n");
- sb.append(" /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Operations\n");
- sb.append(" summary: returns service-subscriptions\n");
- sb.append(" description: returns service-subscriptions\n");
- sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/service-subscriptions\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null\n parameters:\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- return sb.toString();
- }
+ public String YAMLops() {
+ StringBuilder sb = new StringBuilder(16384);
+ sb.append(" /nodes/customers/customer/{global-customer-id}:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Operations\n");
+ sb.append(" summary: returns customer\n");
+ sb.append(" description: returns customer\n");
+ sb.append(" operationId: getBusinessCustomersCustomer\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null\n parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" /nodes/customers?parameter=value[&parameter2=value2]:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Operations\n");
+ sb.append(" summary: returns customers\n");
+ sb.append(" description: returns customers\n");
+ sb.append(" operationId: getBusinessCustomers\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/customers\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null\n parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" - name: subscriber-name\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" - name: subscriber-type\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" /nodes/service-subscriptions/service-subscription/{service-type}:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Operations\n");
+ sb.append(" summary: returns service-subscription\n");
+ sb.append(" description: returns service-subscription\n");
+ sb.append(
+ " operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null\n parameters:\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
+ sb.append(" /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Operations\n");
+ sb.append(" summary: returns service-subscriptions\n");
+ sb.append(" description: returns service-subscriptions\n");
+ sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/service-subscriptions\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null\n parameters:\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ return sb.toString();
+ }
- public String YAMLgetDefs() {
- StringBuilder sb = new StringBuilder(8092);
- sb.append("definitions:\n");
- sb.append(" business:\n");
- sb.append(" description: |\n");
- sb.append(" Namespace for business related constructs\n");
- sb.append(" properties:\n");
- sb.append(" customers:\n");
- sb.append(" type: array\n");
- sb.append(" items:\n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" customer:\n");
- sb.append(" description: |\n");
- sb.append(" customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
- sb.append(" required:\n");
- sb.append(" - global-customer-id\n");
- sb.append(" - subscriber-name\n");
- sb.append(" - subscriber-type\n");
- sb.append(" properties:\n");
- sb.append(" global-customer-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" subscriber-name:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n");
- sb.append(" subscriber-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
- sb.append(" resource-version:\n");
- sb.append(" type: string\n");
- sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
- sb.append(" service-subscriptions:\n");
- sb.append(" type: array\n");
- sb.append(" items:\n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- sb.append(" customers:\n");
- sb.append(" description: |\n");
- sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" properties:\n");
- sb.append(" customer:\n");
- sb.append(" type: array\n");
- sb.append(" items: \n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" inventory:\n");
- sb.append(" properties:\n");
- sb.append(" business:\n");
- sb.append(" type: object\n");
- sb.append(" $ref: \"#/definitions/business\"\n");
- sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" service-subscription:\n");
- sb.append(" description: |\n");
- sb.append(" Object that group service instances.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
- sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
- sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
- sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
- sb.append(" required:\n");
- sb.append(" - service-type\n");
- sb.append(" properties:\n");
- sb.append(" service-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" temp-ub-sub-account-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
- sb.append(" resource-version:\n");
- sb.append(" type: string\n");
- sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
- sb.append(" service-subscriptions:\n");
- sb.append(" description: |\n");
- sb.append(" Collection of objects that group service instances.\n");
- sb.append(" properties:\n");
- sb.append(" service-subscription:\n");
- sb.append(" type: array\n");
- sb.append(" items: \n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- return sb.toString();
- }
+ public String YAMLgetDefs() {
+ StringBuilder sb = new StringBuilder(8092);
+ sb.append("definitions:\n");
+ sb.append(" business:\n");
+ sb.append(" description: |\n");
+ sb.append(" Namespace for business related constructs\n");
+ sb.append(" properties:\n");
+ sb.append(" customers:\n");
+ sb.append(" type: array\n");
+ sb.append(" items:\n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" customer:\n");
+ sb.append(" description: |\n");
+ sb.append(" customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+ sb.append(" required:\n");
+ sb.append(" - global-customer-id\n");
+ sb.append(" - subscriber-name\n");
+ sb.append(" - subscriber-type\n");
+ sb.append(" properties:\n");
+ sb.append(" global-customer-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" subscriber-name:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber name, an alternate way to retrieve a customer.\n");
+ sb.append(" subscriber-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+ sb.append(" resource-version:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
+ sb.append(" service-subscriptions:\n");
+ sb.append(" type: array\n");
+ sb.append(" items:\n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ sb.append(" customers:\n");
+ sb.append(" description: |\n");
+ sb.append(
+ " Collection of customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(" properties:\n");
+ sb.append(" customer:\n");
+ sb.append(" type: array\n");
+ sb.append(" items: \n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" inventory:\n");
+ sb.append(" properties:\n");
+ sb.append(" business:\n");
+ sb.append(" type: object\n");
+ sb.append(" $ref: \"#/definitions/business\"\n");
+ sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" $ref: \"#/definitions/inventory-item-data\""
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" service-subscription:\n");
+ sb.append(" description: |\n");
+ sb.append(" Object that group service instances.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+ sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+ sb.append(
+ " - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(
+ " -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+ sb.append(
+ " -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+ sb.append(" required:\n");
+ sb.append(" - service-type\n");
+ sb.append(" properties:\n");
+ sb.append(" service-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" temp-ub-sub-account-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+ sb.append(" resource-version:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
+ sb.append(" service-subscriptions:\n");
+ sb.append(" description: |\n");
+ sb.append(" Collection of objects that group service instances.\n");
+ sb.append(" properties:\n");
+ sb.append(" service-subscription:\n");
+ sb.append(" type: array\n");
+ sb.append(" items: \n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ return sb.toString();
+ }
}
-
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
index 098b33b..d939a74 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,15 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -26,58 +33,62 @@ import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.onap.aai.setup.SchemaVersion;
-import java.util.Arrays;
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(Parameterized.class)
public class PatchOperationTest {
- private String useOpId;
- private String xmlRootElementName;
- private String tag;
- private String path;
- private String pathParams;
- private String result;
- private static SchemaVersion v = new SchemaVersion("v16");
+ private String useOpId;
+ private String xmlRootElementName;
+ private String tag;
+ private String path;
+ private String pathParams;
+ private String result;
+ private static SchemaVersion v = new SchemaVersion("v16");
+
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {{"NetworkGenericVnfsGenericVnf", "generic-vnf", "Network",
+ "/network/generic-vnfs/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ " patch:\n tags:\n - Network\n summary: update an existing generic-vnf\n description: |\n Update an existing generic-vnf\n #\n Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n The PUT operation will entirely replace an existing object.\n The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n #\n Other differences between PUT and PATCH are:\n #\n - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n operationId: UpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n produces:\n - application/json\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"},
+ // if ( StringUtils.isEmpty(tag) )
+ {"GenericVnf", "generic-vnf", "", "/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ ""},
+ // Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
+ {"CloudInfrastructurePserversPserverPInterfaces", "p-interfaces", "CloudInfrastructure",
+ "/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces",
+ " - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",
+ ""},
+ // {"","ctag-pool","","","",""},
+ // {"","pserver","","","",""},
+ // {"","oam-network","","","",""},
+ // {"","dvs-switch","","","",""},
+ // {"","availability-zone","","","",""}
+ };
+ return Arrays.asList(inputs);
+ }
- @Parameters
- public static Collection<String []> testConditions() {
- String inputs [][] = {
- {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," patch:\n tags:\n - Network\n summary: update an existing generic-vnf\n description: |\n Update an existing generic-vnf\n #\n Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n The PUT operation will entirely replace an existing object.\n The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n #\n Other differences between PUT and PATCH are:\n #\n - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n operationId: UpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n produces:\n - application/json\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be updated.[See Examples](apidocs/aai/relations/v16/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"},
-// if ( StringUtils.isEmpty(tag) )
- {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""},
-// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
- {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""},
- // {"","ctag-pool","","","",""},
-// {"","pserver","","","",""},
-// {"","oam-network","","","",""},
-// {"","dvs-switch","","","",""},
-// {"","availability-zone","","","",""}
- };
- return Arrays.asList(inputs);
- }
+ public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path,
+ String pathParams, String result) {
+ super();
+ this.useOpId = useOpId;
+ this.xmlRootElementName = xmlRootElementName;
+ this.tag = tag;
+ this.path = path;
+ this.pathParams = pathParams;
+ this.result = result;
+ }
- public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
- super();
- this.useOpId = useOpId;
- this.xmlRootElementName = xmlRootElementName;
- this.tag = tag;
- this.path = path;
- this.pathParams=pathParams;
- this.result = result;
- }
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
- }
+ }
- @Test
- public void testToString() {
- PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai" );
- String modResult = patch.toString();
- assertThat(modResult, is(this.result));
- }
+ @Test
+ public void testToString() {
+ PatchOperation patch =
+ new PatchOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai");
+ String modResult = patch.toString();
+ assertThat(modResult, is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
index 7c5c00d..c5b9408 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,15 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.Collection;
+
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -26,58 +33,64 @@ import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import org.onap.aai.setup.SchemaVersion;
-import java.util.Arrays;
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
@RunWith(Parameterized.class)
public class PutOperationTest {
- private String useOpId;
- private String xmlRootElementName;
- private String tag;
- private String path;
- private String pathParams;
- private String result;
- private static SchemaVersion v = new SchemaVersion("v14");
+ private String useOpId;
+ private String xmlRootElementName;
+ private String tag;
+ private String path;
+ private String pathParams;
+ private String result;
+ private static SchemaVersion v = new SchemaVersion("v14");
+
+ @Parameters
+ public static Collection<String[]> testConditions() {
+ String inputs[][] = {{"NetworkGenericVnfsGenericVnf", "generic-vnf", "Network",
+ "/network/generic-vnfs/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ " put:\n tags:\n - Network\n summary: create or update an existing generic-vnf\n description: |\n Create or update an existing generic-vnf.\n #\n Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"
+ + v.toString()
+ + "/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"},
+ // if ( StringUtils.isEmpty(tag) )
+ {"GenericVnf", "generic-vnf", "", "/generic-vnf/{vnf-id}",
+ " - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",
+ ""},
+ // Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
+ {"CloudInfrastructurePserversPserverPInterfaces", "p-interfaces", "CloudInfrastructure",
+ "/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces",
+ " - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",
+ ""},
+ // {"","ctag-pool","","","",""},
+ // {"","pserver","","","",""},
+ // {"","oam-network","","","",""},
+ // {"","dvs-switch","","","",""},
+ // {"","availability-zone","","","",""}
+ };
+ return Arrays.asList(inputs);
+ }
- @Parameters
- public static Collection<String []> testConditions() {
- String inputs [][] = {
- {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__"," put:\n tags:\n - Network\n summary: create or update an existing generic-vnf\n description: |\n Create or update an existing generic-vnf.\n #\n Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n consumes:\n - application/json\n - application/xml\n produces:\n - application/json\n - application/xml\n responses:\n \"default\":\n null parameters:\n - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__ - name: body\n in: body\n description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n required: true\n schema:\n $ref: \"#/definitions/generic-vnf\"\n"},
-// if ( StringUtils.isEmpty(tag) )
- {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}"," - name: vnf-id\n in: path\n description: Unique id of VNF. This is unique across the graph.\n required: true\n type: string\n example: __VNF-ID__",""},
-// Test: if ( !path.endsWith("/relationship") && !path.endsWith("}") )
- {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces"," - name: hostname\n in: path\n description: Value from executing hostname on the compute node.\n required: true\n type: string\n example: __HOSTNAME__",""},
- // {"","ctag-pool","","","",""},
-// {"","pserver","","","",""},
-// {"","oam-network","","","",""},
-// {"","dvs-switch","","","",""},
-// {"","availability-zone","","","",""}
- };
- return Arrays.asList(inputs);
- }
+ public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path,
+ String pathParams, String result) {
+ super();
+ this.useOpId = useOpId;
+ this.xmlRootElementName = xmlRootElementName;
+ this.tag = tag;
+ this.path = path;
+ this.pathParams = pathParams;
+ this.result = result;
+ }
- public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
- super();
- this.useOpId = useOpId;
- this.xmlRootElementName = xmlRootElementName;
- this.tag = tag;
- this.path = path;
- this.pathParams=pathParams;
- this.result = result;
- }
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
- }
+ }
- @Test
- public void testToString() {
- PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai");
- String modResult = put.toString();
- assertThat(modResult, is(this.result));
- }
+ @Test
+ public void testToString() {
+ PutOperation put =
+ new PutOperation(useOpId, xmlRootElementName, tag, path, pathParams, v, "/aai");
+ String modResult = put.toString();
+ assertThat(modResult, is(this.result));
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
index 526c923..09a8dd4 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,17 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Ignore;
@@ -33,225 +42,168 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertTrue;
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
- SchemaVersions.class,
- EdgeIngestor.class
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai"
-})
+@ContextConfiguration(classes = {SchemaVersions.class, EdgeIngestor.class})
+@TestPropertySource(properties = {"schema.uri.base.path = /aai"})
@Ignore("This test needs to get major rework done as it is written very poorly")
public class PutRelationPathSetTest {
- private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
-
- private static String json;
- private SchemaVersion v ;
- private File relationsFile ;
- private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
- private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship";
- private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
- PutRelationPathSet prp = null;
- @Autowired
- SchemaVersions schemaVersions;
-
- @Autowired
- EdgeIngestor edgeIngestor;
-
-
- @Before
- public void setUpBeforeClass() throws Exception {
- v = schemaVersions.getDefaultVersion();
-
- relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json");
- json = "{"
- + " \"rules\": ["
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"complex\","
- + " \"label\": \"org.onap.relationships.inventory.LocatedIn\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"this description\""
- + " },"
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"service-capability\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"availability-zone\","
- + " \"to\": \"cloud-region\","
- + " \"label\": \"org.onap.relationships.inventory.BelongsTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"!${direction}\","
- + " \"delete-other-v\": \"!${direction}\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"NONE\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"ctag-pool\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"dvs-switch\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"generic-vnf\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.Uses\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"${direction}\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"vf-module\","
- + " \"to\": \"vnfc\","
- + " \"label\": \"org.onap.relationships.inventory.Uses\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"ONE2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"${direction}\","
- + " \"prevent-delete\": \"${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"pserver\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.MemberOf\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2ONE\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"${direction}\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " {"
- + " \"from\": \"vce\","
- + " \"to\": \"availability-zone\","
- + " \"label\": \"org.onap.relationships.inventory.Uses\","
- + " \"direction\": \"OUT\","
- + " \"multiplicity\": \"MANY2MANY\","
- + " \"contains-other-v\": \"NONE\","
- + " \"delete-other-v\": \"NONE\","
- + " \"SVC-INFRA\": \"NONE\","
- + " \"prevent-delete\": \"!${direction}\","
- + " \"default\": \"true\","
- + " \"description\":\"\""
- + " },"
- + " ]}";
-
- BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw.write(json);
- bw.close();
-
- }
-
- @Before
- public void setUp() throws Exception {
-
- DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver");
- DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce");
- DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex");
- DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability");
- DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region");
- DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf");
- DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch");
- DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool");
-
- DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone");
- PutRelationPathSet.add(opId, path);
- }
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- File edges = new File(EDGEFILENAME);
- edges.delete();
- }
- @Test
- public void testAdd() {
- PutRelationPathSet.add(opId, path);
- assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
- assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
- }
-
- @Test
- public void testPutRelationPathSet() {
-
- this.prp = new PutRelationPathSet(v);
- assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
- prp.generateRelations(edgeIngestor);
- assertTrue(this.relationsFile.exists());
- this.relationsFile.delete();
- }
-
- @Test
- public void testPutRelationPathSetStringString() {
- this.prp = new PutRelationPathSet(opId, path, v);
- assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
- }
-
- @Test
- public void testGenerateRelations() {
- PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v);
- prp.generateRelations(edgeIngestor);
- assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
- assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
- assertTrue(this.relationsFile.exists());
-// this.relationsFile.delete();
- }
+ private static final String EDGEFILENAME =
+ "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+
+ private static String json;
+ private SchemaVersion v;
+ private File relationsFile;
+ private String target =
+ "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+ private String opId =
+ "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship";
+ private String path =
+ "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+ PutRelationPathSet prp = null;
+ @Autowired
+ SchemaVersions schemaVersions;
+
+ @Autowired
+ EdgeIngestor edgeIngestor;
+
+ @Before
+ public void setUpBeforeClass() throws Exception {
+ v = schemaVersions.getDefaultVersion();
+
+ relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()
+ + "/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json");
+ json = "{" + " \"rules\": [" + " {" + " \"from\": \"availability-zone\","
+ + " \"to\": \"complex\","
+ + " \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"this description\""
+ + " }," + " {" + " \"from\": \"availability-zone\","
+ + " \"to\": \"service-capability\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " {"
+ + " \"from\": \"availability-zone\"," + " \"to\": \"cloud-region\","
+ + " \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"!${direction}\","
+ + " \"delete-other-v\": \"!${direction}\"," + " \"SVC-INFRA\": \"NONE\","
+ + " \"prevent-delete\": \"NONE\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"ctag-pool\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " {"
+ + " \"from\": \"dvs-switch\"," + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " {"
+ + " \"from\": \"generic-vnf\"," + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.Uses\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"${direction}\","
+ + " \"prevent-delete\": \"!${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"vf-module\","
+ + " \"to\": \"vnfc\","
+ + " \"label\": \"org.onap.relationships.inventory.Uses\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"ONE2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"${direction}\","
+ + " \"prevent-delete\": \"${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"pserver\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.MemberOf\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2ONE\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"${direction}\","
+ + " \"prevent-delete\": \"!${direction}\"," + " \"default\": \"true\","
+ + " \"description\":\"\"" + " }," + " {" + " \"from\": \"vce\","
+ + " \"to\": \"availability-zone\","
+ + " \"label\": \"org.onap.relationships.inventory.Uses\","
+ + " \"direction\": \"OUT\"," + " \"multiplicity\": \"MANY2MANY\","
+ + " \"contains-other-v\": \"NONE\"," + " \"delete-other-v\": \"NONE\","
+ + " \"SVC-INFRA\": \"NONE\"," + " \"prevent-delete\": \"!${direction}\","
+ + " \"default\": \"true\"," + " \"description\":\"\"" + " }," + " ]}";
+
+ BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw.write(json);
+ bw.close();
+
+ }
+
+ @Before
+ public void setUp() throws Exception {
+
+ DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}",
+ "pserver");
+ DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}", "vce");
+ DeleteOperation.deletePaths
+ .put("/cloud-infrastructure/complexes/complex/{physical-location-id}", "complex");
+ DeleteOperation.deletePaths.put(
+ "/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",
+ "service-capability");
+ DeleteOperation.deletePaths.put(
+ "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",
+ "cloud-region");
+ DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}",
+ "generic-vnf");
+ DeleteOperation.deletePaths.put(
+ "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}",
+ "dvs-switch");
+ DeleteOperation.deletePaths.put(
+ "/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",
+ "ctag-pool");
+
+ DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),
+ "availability-zone");
+ PutRelationPathSet.add(opId, path);
+ }
+
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ File edges = new File(EDGEFILENAME);
+ edges.delete();
+ }
+
+ @Test
+ public void testAdd() {
+ PutRelationPathSet.add(opId, path);
+ assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+ assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+ }
+
+ @Test
+ public void testPutRelationPathSet() {
+
+ this.prp = new PutRelationPathSet(v);
+ assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+ prp.generateRelations(edgeIngestor);
+ assertTrue(this.relationsFile.exists());
+ this.relationsFile.delete();
+ }
+
+ @Test
+ public void testPutRelationPathSetStringString() {
+ this.prp = new PutRelationPathSet(opId, path, v);
+ assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+ }
+
+ @Test
+ public void testGenerateRelations() {
+ PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v);
+ prp.generateRelations(edgeIngestor);
+ assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+ assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+ assertTrue(this.relationsFile.exists());
+ // this.relationsFile.delete();
+ }
}
-
-
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
index 7c8dd78..7ce87af 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,8 +17,25 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.collection.IsIn.in;
+import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
+import static org.hamcrest.core.Every.everyItem;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.*;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
import org.apache.commons.lang.StringUtils;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -31,625 +48,721 @@ import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.*;
+public class XSDElementTest {
+ private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class");
+ private static final int maxSizeForXml = 20000;
+ protected String testXML;
+ protected Document doc = null;
+ protected NodeList javaTypeNodes = null;
+
+ public String getTestXML() {
+ return testXML;
+ }
-import static org.hamcrest.CoreMatchers.*;
-import static org.hamcrest.collection.IsIn.in;
-import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
-import static org.hamcrest.core.Every.everyItem;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ }
-public class XSDElementTest {
- private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class");
- private static final int maxSizeForXml = 20000;
- protected String testXML;
- protected Document doc = null;
- protected NodeList javaTypeNodes=null;
-
- public String getTestXML() {
- return testXML;
- }
-
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- }
-
- @Before
- public void setUp() throws Exception {
- setUp(0);
- }
-
- public void setUp( int sbopt ) throws Exception {
- StringBuilder sb = new StringBuilder(maxSizeForXml);
- addNamespace(sb);
- addBusiness(sb);
- addCustomers(sb);
- if ( sbopt == 0 ) {
- addCustomer(sb);
- } else {
- addCustomerNoSubscriberType(sb);
- addCustomerSubscriberType(sb);
+ @Before
+ public void setUp() throws Exception {
+ setUp(0);
+ }
+
+ public void setUp(int sbopt) throws Exception {
+ StringBuilder sb = new StringBuilder(maxSizeForXml);
+ addNamespace(sb);
+ addBusiness(sb);
+ addCustomers(sb);
+ if (sbopt == 0) {
+ addCustomer(sb);
+ } else {
+ addCustomerNoSubscriberType(sb);
+ addCustomerSubscriberType(sb);
+ }
+ addServiceSubscriptions(sb);
+ addServiceSubscription(sb);
+ addEndOfXML(sb);
+ testXML = sb.toString();
+ init();
+ }
+
+ public void setUpRelationship() throws Exception {
+ StringBuilder sb = new StringBuilder(maxSizeForXml);
+ addNamespaceNoInventory(sb);
+ addRelationship(sb);
+ addRelationshipList(sb);
+ addRelatedToProperty(sb);
+ addRelationshipData(sb);
+ addEndOfXML(sb);
+ testXML = sb.toString();
+ init();
+ }
+
+ private void addNamespace(StringBuilder sb) {
+ sb.append(
+ "<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
+ sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
+ sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
+ sb.append("</xml-schema>\n");
+ sb.append("<java-types>\n");
+ sb.append("<java-type name=\"Inventory\">\n");
+ sb.append("<xml-root-element name=\"inventory\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"business\" name=\"business\" type=\"inventory.aai.onap.org.v11.Business\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
+ }
+
+ private void addNamespaceNoInventory(StringBuilder sb) {
+ sb.append(
+ "<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
+ sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
+ sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
+ sb.append("</xml-schema>\n");
+ sb.append("<java-types>\n");
}
- addServiceSubscriptions(sb);
- addServiceSubscription(sb);
- addEndOfXML(sb);
- testXML = sb.toString();
- init();
- }
-
- public void setUpRelationship( ) throws Exception {
- StringBuilder sb = new StringBuilder(maxSizeForXml);
- addNamespaceNoInventory(sb);
- addRelationship(sb);
- addRelationshipList(sb);
- addRelatedToProperty(sb);
- addRelationshipData(sb);
- addEndOfXML(sb);
- testXML = sb.toString();
- init();
- }
-
- private void addNamespace(StringBuilder sb){
- sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
- sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
- sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
- sb.append("</xml-schema>\n");
- sb.append("<java-types>\n");
- sb.append("<java-type name=\"Inventory\">\n");
- sb.append("<xml-root-element name=\"inventory\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"business\" name=\"business\" type=\"inventory.aai.onap.org.v11.Business\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
-
- private void addNamespaceNoInventory(StringBuilder sb){
- sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
- sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
- sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
- sb.append("</xml-schema>\n");
- sb.append("<java-types>\n");
- }
-
- private void addBusiness(StringBuilder sb){
- sb.append("<java-type name=\"Business\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Namespace for business related constructs\" />\n");
+
+ private void addBusiness(StringBuilder sb) {
+ sb.append("<java-type name=\"Business\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Namespace for business related constructs\" />\n");
sb.append("</xml-properties>\n");
sb.append("<xml-root-element name=\"business\" />\n");
sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"customers\" name=\"customers\" type=\"inventory.aai.onap.org.v11.Customers\" />\n");
+ sb.append(
+ "<xml-element java-attribute=\"customers\" name=\"customers\" type=\"inventory.aai.onap.org.v11.Customers\" />\n");
sb.append("</java-attributes>\n");
sb.append("</java-type>\n");
- }
-
- private void addCustomers(StringBuilder sb){
- sb.append("<java-type name=\"Customers\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Collection of customer identifiers to provide linkage back to BSS information.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("<xml-root-element name=\"customers\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"customer\" name=\"customer\" type=\"inventory.aai.onap.org.v11.Customer\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"maximumDepth\" value=\"0\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</java-type>\n");
- }
-
- private void addCustomer(StringBuilder sb){
- sb.append("<java-type name=\"Customer\">\n");
- sb.append("<xml-root-element name=\"customer\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
- sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
-// sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
- sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
- sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id,subscriber-type\" />\n");
- sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
- sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
- sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
- sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</java-type>\n");
- }
-
- private void addCustomerNoSubscriberType(StringBuilder sb){
- sb.append("<java-type name=\"Customer\">\n");
- sb.append("<xml-root-element name=\"customer\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
- sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
- sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id\" />\n");
- sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
- sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
- sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
- sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</java-type>\n");
- }
-
- private void addCustomerSubscriberType(StringBuilder sb){
- sb.append("<java-type name=\"Customer\">\n");
- sb.append("<xml-root-element name=\"customer\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
- sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("</java-attributes>\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-type\" />\n");
- sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</java-type>\n");
- }
-
- private void addServiceSubscriptions(StringBuilder sb){
- sb.append("<java-type name=\"ServiceSubscriptions\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Collection of objects that group service instances.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("<xml-root-element name=\"service-subscriptions\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"serviceSubscription\" name=\"service-subscription\" type=\"inventory.aai.onap.org.v11.ServiceSubscription\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
- private void addServiceSubscription(StringBuilder sb){
- sb.append("<java-type name=\"ServiceSubscription\">\n");
- sb.append("<xml-root-element name=\"service-subscription\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"serviceType\" name=\"service-type\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Value defined by orchestration to identify this service.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"tempUbSubAccountId\" name=\"temp-ub-sub-account-id\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
-// sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Object that group service instances.\" />\n");
- sb.append("<xml-property name=\"indexedProps\" value=\"service-type\" />\n");
- sb.append("<xml-property name=\"dependentOn\" value=\"customer\" />\n");
- sb.append("<xml-property name=\"container\" value=\"service-subscriptions\" />\n");
- sb.append("<xml-property name=\"crossEntityReference\" value=\"service-instance,service-type\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</java-type>\n");
- }
-
- private void addRelationshipList(StringBuilder sb ) {
- sb.append("<java-type name=\"RelationshipList\">\n");
- sb.append("<xml-root-element name=\"relationship-list\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationship\" name=\"relationship\" type=\"inventory.aai.onap.org.v11.Relationship\" />/n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
-
- private void addRelationship(StringBuilder sb ) {
- sb.append("<java-type name=\"Relationship\">\n");
- sb.append("<xml-root-element name=\"relationship\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"relatedTo\" name=\"related-to\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate type of node.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"relatedLink\" name=\"related-link\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"URL to the object in A&amp;AI.\" />");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationshipData\" name=\"relationship-data\" type=\"inventory.aai.onap.org.v11.RelationshipData\" />\n");
- sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relatedToProperty\" name=\"related-to-property\" type=\"inventory.aai.onap.org.v11.RelatedToProperty\" />\n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
-
- private void addRelatedToProperty(StringBuilder sb) {
- sb.append("<java-type name=\"RelatedToProperty\">\n");
- sb.append("<xml-root-element name=\"related-to-property\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"propertyKey\" name=\"property-key\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Key part of a key/value pair\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"propertyValue\" name=\"property-value\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Value part of a key/value pair\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
-
- private void addRelationshipData(StringBuilder sb){
- sb.append("<java-type name=\"RelationshipData\">\n");
- sb.append("<xml-root-element name=\"relationship-data\" />\n");
- sb.append("<java-attributes>\n");
- sb.append("<xml-element java-attribute=\"relationshipKey\" name=\"relationship-key\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate an attribute.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("<xml-element java-attribute=\"relationshipValue\" name=\"relationship-value\" required=\"true\" type=\"java.lang.String\">\n");
- sb.append("<xml-properties>\n");
- sb.append("<xml-property name=\"description\" value=\"Value of the attribute.\" />\n");
- sb.append("</xml-properties>\n");
- sb.append("</xml-element>\n");
- sb.append("</java-attributes>\n");
- sb.append("</java-type>\n");
- }
-
-
- private void addEndOfXML(StringBuilder sb){
- sb.append("</java-types>\n");
- sb.append("</xml-bindings>\n");
- }
-
- public void init() throws ParserConfigurationException, SAXException, IOException {
- DocumentBuilder dBuilder = null;
- try {
- DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
- dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- dBuilder = dbFactory.newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- throw e;
}
- try {
- InputSource isInput = new InputSource(new StringReader(testXML));
- doc = dBuilder.parse(isInput);
- } catch (SAXException e) {
- throw e;
- } catch (IOException e) {
- throw e;
+
+ private void addCustomers(StringBuilder sb) {
+ sb.append("<java-type name=\"Customers\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Collection of customer identifiers to provide linkage back to BSS information.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("<xml-root-element name=\"customers\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"customer\" name=\"customer\" type=\"inventory.aai.onap.org.v11.Customer\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("<xml-properties>\n");
+ sb.append("<xml-property name=\"maximumDepth\" value=\"0\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</java-type>\n");
+ }
+
+ private void addCustomer(StringBuilder sb) {
+ sb.append("<java-type name=\"Customer\">\n");
+ sb.append("<xml-root-element name=\"customer\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+ sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+ // sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\"
+ // type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+ sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+ sb.append(
+ "<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id,subscriber-type\" />\n");
+ sb.append(
+ "<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+ sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+ sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+ sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</java-type>\n");
}
- NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
- Element bindingElement;
- NodeList javaTypesNodes;
- Element javaTypesElement;
+ private void addCustomerNoSubscriberType(StringBuilder sb) {
+ sb.append("<java-type name=\"Customer\">\n");
+ sb.append("<xml-root-element name=\"customer\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+ sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+ sb.append(
+ "<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id\" />\n");
+ sb.append(
+ "<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+ sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+ sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+ sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</java-type>\n");
+ }
- if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
- throw new SAXException("OXM file error: missing <binding-nodes> in XML");
+ private void addCustomerSubscriberType(StringBuilder sb) {
+ sb.append("<java-type name=\"Customer\">\n");
+ sb.append("<xml-root-element name=\"customer\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+ sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append("</java-attributes>\n");
+ sb.append("<xml-properties>\n");
+ sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-type\" />\n");
+ sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</java-type>\n");
}
- bindingElement = (Element) bindingsNodes.item(0);
- javaTypesNodes = bindingElement.getElementsByTagName("java-types");
- if ( javaTypesNodes.getLength() < 1 ) {
- throw new SAXException("OXM file error: missing <binding-nodes><java-types> in XML");
+ private void addServiceSubscriptions(StringBuilder sb) {
+ sb.append("<java-type name=\"ServiceSubscriptions\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Collection of objects that group service instances.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("<xml-root-element name=\"service-subscriptions\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"serviceSubscription\" name=\"service-subscription\" type=\"inventory.aai.onap.org.v11.ServiceSubscription\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
}
- javaTypesElement = (Element) javaTypesNodes.item(0);
- javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
- if ( javaTypeNodes.getLength() < 1 ) {
- throw new SAXException("OXM file error: missing <binding-nodes><java-types><java-type> in XML");
+ private void addServiceSubscription(StringBuilder sb) {
+ sb.append("<java-type name=\"ServiceSubscription\">\n");
+ sb.append("<xml-root-element name=\"service-subscription\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"serviceType\" name=\"service-type\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Value defined by orchestration to identify this service.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"tempUbSubAccountId\" name=\"temp-ub-sub-account-id\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Used for optimistic concurrency. Must be empty on create, valid on update and delete.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ // sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\"
+ // type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Object that group service instances.\" />\n");
+ sb.append("<xml-property name=\"indexedProps\" value=\"service-type\" />\n");
+ sb.append("<xml-property name=\"dependentOn\" value=\"customer\" />\n");
+ sb.append("<xml-property name=\"container\" value=\"service-subscriptions\" />\n");
+ sb.append(
+ "<xml-property name=\"crossEntityReference\" value=\"service-instance,service-type\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</java-type>\n");
}
- logger.debug(testXML);
- }
- @Test
- public void testXSDElement() {
- // repeat of testGetIndexedProps() which uses the constructor
- ArrayList<String> target = new ArrayList<String>();
- target.add("subscriber-name");
- target.add("global-customer-id");
- target.add("subscriber-type");
- target.add("service-type");
-
- Vector<String> indexedProps = new Vector<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- indexedProps.addAll(javaTypeElement.getIndexedProps());
+
+ private void addRelationshipList(StringBuilder sb) {
+ sb.append("<java-type name=\"RelationshipList\">\n");
+ sb.append("<xml-root-element name=\"relationship-list\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationship\" name=\"relationship\" type=\"inventory.aai.onap.org.v11.Relationship\" />/n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
}
- assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testName() {
- ArrayList<String> target = new ArrayList<String>();
- target.add("ServiceSubscriptions");
- target.add("ServiceSubscription");
- target.add("Inventory");
- target.add("Business");
- target.add("Customers");
- target.add("Customer");
- ArrayList<String> names = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- names.add(javaTypeElement.name());
+
+ private void addRelationship(StringBuilder sb) {
+ sb.append("<java-type name=\"Relationship\">\n");
+ sb.append("<xml-root-element name=\"relationship\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"relatedTo\" name=\"related-to\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate type of node.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"relatedLink\" name=\"related-link\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append("<xml-property name=\"description\" value=\"URL to the object in A&amp;AI.\" />");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationshipData\" name=\"relationship-data\" type=\"inventory.aai.onap.org.v11.RelationshipData\" />\n");
+ sb.append(
+ "<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relatedToProperty\" name=\"related-to-property\" type=\"inventory.aai.onap.org.v11.RelatedToProperty\" />\n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
}
- logger.debug(String.join("|", names));
- assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testGetAddTypes() {
- HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
- HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
- target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList")));
- target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions")));
- target.put("Business", new ArrayList<>(Arrays.asList("Customers")));
- target.put("Inventory", new ArrayList<>(Arrays.asList("Business")));
- target.put("Customers", new ArrayList<>(Arrays.asList("Customer")));
- target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList")));
- target.put("ServiceSubscription", new ArrayList<>(Arrays.asList()));
- target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription")));
-
- for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- ArrayList<String> addTypes = new ArrayList<String>();
- NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
- String name=javaTypeElement.name();
- for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
- XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
- addTypes.addAll(xmlElement.getAddTypes("v11"));
- map.put(name,addTypes);
- }
+
+ private void addRelatedToProperty(StringBuilder sb) {
+ sb.append("<java-type name=\"RelatedToProperty\">\n");
+ sb.append("<xml-root-element name=\"related-to-property\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"propertyKey\" name=\"property-key\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append("<xml-property name=\"description\" value=\"Key part of a key/value pair\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"propertyValue\" name=\"property-value\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"Value part of a key/value pair\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
}
- for(String key : map.keySet()) {
- assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key)));
+
+ private void addRelationshipData(StringBuilder sb) {
+ sb.append("<java-type name=\"RelationshipData\">\n");
+ sb.append("<xml-root-element name=\"relationship-data\" />\n");
+ sb.append("<java-attributes>\n");
+ sb.append(
+ "<xml-element java-attribute=\"relationshipKey\" name=\"relationship-key\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append(
+ "<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate an attribute.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append(
+ "<xml-element java-attribute=\"relationshipValue\" name=\"relationship-value\" required=\"true\" type=\"java.lang.String\">\n");
+ sb.append("<xml-properties>\n");
+ sb.append("<xml-property name=\"description\" value=\"Value of the attribute.\" />\n");
+ sb.append("</xml-properties>\n");
+ sb.append("</xml-element>\n");
+ sb.append("</java-attributes>\n");
+ sb.append("</java-type>\n");
}
- }
-/*
- @Test
- public void testGetRequiredElements() {
- HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
- ArrayList<String> target = new ArrayList<String>();
- target.add("global-customer-id\n");
- target.add("subscriber-name\n");
- target.add("subscriber-type");
- for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- ArrayList<String> requiredItems = new ArrayList<String>();
- String name=javaTypeElement.name();
- requiredItems.addAll(javaTypeElement.getRequiredElements("v11"));
- map.put(name,requiredItems);
+
+ private void addEndOfXML(StringBuilder sb) {
+ sb.append("</java-types>\n");
+ sb.append("</xml-bindings>\n");
}
- for(String key : map.keySet()) {
- assertThat(map.get(key),equalTo(target));
+
+ public void init() throws ParserConfigurationException, SAXException, IOException {
+ DocumentBuilder dBuilder = null;
+ try {
+ DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+ dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ dBuilder = dbFactory.newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ throw e;
+ }
+ try {
+ InputSource isInput = new InputSource(new StringReader(testXML));
+ doc = dBuilder.parse(isInput);
+ } catch (SAXException e) {
+ throw e;
+ } catch (IOException e) {
+ throw e;
+ }
+
+ NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
+ Element bindingElement;
+ NodeList javaTypesNodes;
+ Element javaTypesElement;
+
+ if (bindingsNodes == null || bindingsNodes.getLength() == 0) {
+ throw new SAXException("OXM file error: missing <binding-nodes> in XML");
+ }
+
+ bindingElement = (Element) bindingsNodes.item(0);
+ javaTypesNodes = bindingElement.getElementsByTagName("java-types");
+ if (javaTypesNodes.getLength() < 1) {
+ throw new SAXException("OXM file error: missing <binding-nodes><java-types> in XML");
+ }
+ javaTypesElement = (Element) javaTypesNodes.item(0);
+
+ javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
+ if (javaTypeNodes.getLength() < 1) {
+ throw new SAXException(
+ "OXM file error: missing <binding-nodes><java-types><java-type> in XML");
+ }
+ logger.debug(testXML);
}
- }
-*/
- @Test
- public void testGetPathDescriptionProperty() {
- ArrayList<String> target = new ArrayList<String>();
- target.add("Namespace for business related constructs");
- target.add("Collection of customer identifiers to provide linkage back to BSS information.");
- target.add("customer identifiers to provide linkage back to BSS information.");
- target.add("Collection of objects that group service instances.");
- target.add("Object that group service instances.");
- List<String> descs = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getPathDescriptionProperty() != null)
- descs.add(javaTypeElement.getPathDescriptionProperty());
+
+ @Test
+ public void testXSDElement() {
+ // repeat of testGetIndexedProps() which uses the constructor
+ ArrayList<String> target = new ArrayList<String>();
+ target.add("subscriber-name");
+ target.add("global-customer-id");
+ target.add("subscriber-type");
+ target.add("service-type");
+
+ Vector<String> indexedProps = new Vector<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ indexedProps.addAll(javaTypeElement.getIndexedProps());
+ }
+ assertThat(new ArrayList<>(indexedProps),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
- logger.debug(String.join("|", descs));
- assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testGetIndexedProps() {
- ArrayList<String> target = new ArrayList<String>();
- target.add("subscriber-name");
- target.add("global-customer-id");
- target.add("subscriber-type");
- target.add("service-type");
-
- Vector<String> indexedProps = new Vector<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- indexedProps.addAll(javaTypeElement.getIndexedProps());
+
+ @Test
+ public void testName() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add("ServiceSubscriptions");
+ target.add("ServiceSubscription");
+ target.add("Inventory");
+ target.add("Business");
+ target.add("Customers");
+ target.add("Customer");
+ ArrayList<String> names = new ArrayList<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ names.add(javaTypeElement.name());
+ }
+ logger.debug(String.join("|", names));
+ assertThat(names,
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
- assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testGetContainerProperty() {
- ArrayList<String> target = new ArrayList<String>();
- target.add("service-subscriptions");
- target.add("customers");
- List<String> containers = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getContainerProperty() != null)
- containers.add(javaTypeElement.getContainerProperty());
+
+ @Test
+ public void testGetAddTypes() {
+ HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
+ HashMap<String, ArrayList<String>> target = new HashMap<String, ArrayList<String>>();
+ target.put("Customer",
+ new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList")));
+ target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions")));
+ target.put("Business", new ArrayList<>(Arrays.asList("Customers")));
+ target.put("Inventory", new ArrayList<>(Arrays.asList("Business")));
+ target.put("Customers", new ArrayList<>(Arrays.asList("Customer")));
+ target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList")));
+ target.put("ServiceSubscription", new ArrayList<>(Arrays.asList()));
+ target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription")));
+
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ ArrayList<String> addTypes = new ArrayList<String>();
+ NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+ String name = javaTypeElement.name();
+ for (int j = 0; j < xmlElementNodes.getLength(); ++j) {
+ XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+ addTypes.addAll(xmlElement.getAddTypes("v11"));
+ map.put(name, addTypes);
+ }
+ }
+ for (String key : map.keySet()) {
+ assertThat("Expected for key:" + key, map.get(key), equalTo(target.get(key)));
+ }
}
- logger.debug(String.join("|", containers));
- assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testGetQueryParamYAML() {
- ArrayList<String> target = new ArrayList<String>();
- target.add(" - name: global-customer-id\n in: query\n description: n/a\n required: false\n type: string\n");
- target.add(" - name: subscriber-name\n in: query\n description: n/a\n required: false\n type: string\n");
- target.add(" - name: subscriber-type\n in: query\n description: n/a\n required: false\n type: string\n");
- Vector<String> indexedProps = new Vector<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getContainerProperty() != null) {
- indexedProps.addAll(javaTypeElement.getIndexedProps());
- String container = javaTypeElement.getContainerProperty();
- Vector<String> containerProps = new Vector<String>();
- NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
- for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
- XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
- if(indexedProps.contains(xmlElement.name()))
- containerProps.add(xmlElement.getQueryParamYAML());
+
+ /*
+ * @Test
+ * public void testGetRequiredElements() {
+ * HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+ * ArrayList<String> target = new ArrayList<String>();
+ * target.add("global-customer-id\n");
+ * target.add("subscriber-name\n");
+ * target.add("subscriber-type");
+ * for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+ * XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ * ArrayList<String> requiredItems = new ArrayList<String>();
+ * String name=javaTypeElement.name();
+ * requiredItems.addAll(javaTypeElement.getRequiredElements("v11"));
+ * map.put(name,requiredItems);
+ * }
+ * for(String key : map.keySet()) {
+ * assertThat(map.get(key),equalTo(target));
+ * }
+ * }
+ */
+ @Test
+ public void testGetPathDescriptionProperty() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add("Namespace for business related constructs");
+ target
+ .add("Collection of customer identifiers to provide linkage back to BSS information.");
+ target.add("customer identifiers to provide linkage back to BSS information.");
+ target.add("Collection of objects that group service instances.");
+ target.add("Object that group service instances.");
+ List<String> descs = new ArrayList<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (javaTypeElement.getPathDescriptionProperty() != null)
+ descs.add(javaTypeElement.getPathDescriptionProperty());
}
- GetOperation.addContainerProps(container, containerProps);
- }
+ logger.debug(String.join("|", descs));
+ assertThat(new ArrayList<>(descs),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
-/*
- List<String> queryParams = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getQueryParamYAML() != null)
- queryParams.add(javaTypeElement.getQueryParamYAML());
+
+ @Test
+ public void testGetIndexedProps() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add("subscriber-name");
+ target.add("global-customer-id");
+ target.add("subscriber-type");
+ target.add("service-type");
+
+ Vector<String> indexedProps = new Vector<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ indexedProps.addAll(javaTypeElement.getIndexedProps());
+ }
+ assertThat(new ArrayList<>(indexedProps),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
-*/
- assertThat(GetOperation.containers.get("customers"),equalTo( target));
- }
-
- @Test
- public void testGetPathParamYAML() {
- ArrayList<String> target = new ArrayList<String>();
- target.add(" - name: Inventory\n in: path\n description: Inventory\n required: true\n example: __INVENTORY__\n");
- target.add(" - name: Business\n in: path\n description: Business\n required: true\n example: __BUSINESS__\n");
- target.add(" - name: Customers\n in: path\n description: Customers\n required: true\n example: __CUSTOMERS__\n");
- target.add(" - name: Customer\n in: path\n description: Customer\n required: true\n example: __CUSTOMER__\n");
- target.add(" - name: ServiceSubscriptions\n in: path\n description: ServiceSubscriptions\n required: true\n example: __SERVICESUBSCRIPTIONS__\n");
- target.add(" - name: ServiceSubscription\n in: path\n description: ServiceSubscription\n required: true\n example: __SERVICESUBSCRIPTION__\n");
- List<String> pathParams = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null)
- pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name()));
+
+ @Test
+ public void testGetContainerProperty() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add("service-subscriptions");
+ target.add("customers");
+ List<String> containers = new ArrayList<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (javaTypeElement.getContainerProperty() != null)
+ containers.add(javaTypeElement.getContainerProperty());
+ }
+ logger.debug(String.join("|", containers));
+ assertThat(new ArrayList<>(containers),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
- logger.debug(String.join("|", pathParams));
- assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- }
-
- @Test
- public void testGetHTMLAnnotation() {
- ArrayList<String> target = new ArrayList<String>();
- target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " <annox:annotate target=\"Business\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " <annox:annotate target=\"Customers\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " <annox:annotate target=\"Customer\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " <annox:annotate target=\"ServiceSubscriptions\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " <annox:annotate target=\"ServiceSubscription\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
- List<String> annotes = new ArrayList<String>();
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),"")))
- annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), " "));
+
+ @Test
+ public void testGetQueryParamYAML() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add(
+ " - name: global-customer-id\n in: query\n description: n/a\n required: false\n type: string\n");
+ target.add(
+ " - name: subscriber-name\n in: query\n description: n/a\n required: false\n type: string\n");
+ target.add(
+ " - name: subscriber-type\n in: query\n description: n/a\n required: false\n type: string\n");
+ Vector<String> indexedProps = new Vector<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (javaTypeElement.getContainerProperty() != null) {
+ indexedProps.addAll(javaTypeElement.getIndexedProps());
+ String container = javaTypeElement.getContainerProperty();
+ Vector<String> containerProps = new Vector<String>();
+ NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+ for (int j = 0; j < xmlElementNodes.getLength(); ++j) {
+ XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+ if (indexedProps.contains(xmlElement.name()))
+ containerProps.add(xmlElement.getQueryParamYAML());
+ }
+ GetOperation.addContainerProps(container, containerProps);
+ }
+ }
+ /*
+ * List<String> queryParams = new ArrayList<String>();
+ * for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+ * XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ * if(javaTypeElement.getQueryParamYAML() != null)
+ * queryParams.add(javaTypeElement.getQueryParamYAML());
+ * }
+ */
+ assertThat(GetOperation.containers.get("customers"), equalTo(target));
}
- logger.debug("result:");
- logger.debug(String.join("|", annotes));
- logger.debug("Expected:");
- logger.debug(String.join("|", target));
- assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
-
- }
-
- @Test
- public void testGetTypePropertyYAML() {
- ArrayList<String> target = new ArrayList<String>();
- target.add(" Inventory:\n type: ");
- target.add(" Business:\n type: description: Namespace for business related constructs\n");
- target.add(" Customers:\n type: description: Collection of customer identifiers to provide linkage back to BSS information.\n");
- target.add(" Customer:\n type: description: customer identifiers to provide linkage back to BSS information.\n");
- target.add(" ServiceSubscriptions:\n type: description: Collection of objects that group service instances.\n");
- target.add(" ServiceSubscription:\n type: description: Object that group service instances.\n");
- StringBuilder sb = new StringBuilder(" Customer:\n type: description: |\n customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" *This property can be used as a filter to find the start node for a dsl query\n");
- String yamlDesc = sb.toString();
- List<String> types = new ArrayList<String>();
- String container;
- String customerDesc = null;
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- if(javaTypeElement.getTypePropertyYAML(false) != null)
- types.add(javaTypeElement.getTypePropertyYAML(false));
- container = javaTypeElement.getContainerProperty();
- if ( "customers".equals(container)) {
- customerDesc = javaTypeElement.getTypePropertyYAML(true);
- }
+
+ @Test
+ public void testGetPathParamYAML() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add(
+ " - name: Inventory\n in: path\n description: Inventory\n required: true\n example: __INVENTORY__\n");
+ target.add(
+ " - name: Business\n in: path\n description: Business\n required: true\n example: __BUSINESS__\n");
+ target.add(
+ " - name: Customers\n in: path\n description: Customers\n required: true\n example: __CUSTOMERS__\n");
+ target.add(
+ " - name: Customer\n in: path\n description: Customer\n required: true\n example: __CUSTOMER__\n");
+ target.add(
+ " - name: ServiceSubscriptions\n in: path\n description: ServiceSubscriptions\n required: true\n example: __SERVICESUBSCRIPTIONS__\n");
+ target.add(
+ " - name: ServiceSubscription\n in: path\n description: ServiceSubscription\n required: true\n example: __SERVICESUBSCRIPTION__\n");
+ List<String> pathParams = new ArrayList<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null)
+ pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name()));
+ }
+ logger.debug(String.join("|", pathParams));
+ assertThat(new ArrayList<>(pathParams),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
}
- assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
- assertEquals(customerDesc, yamlDesc );
- }
-
- @Test
- public void testIsStandardType() {
- HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
- HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
- target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version")));
- target.put("Business", new ArrayList<>());
- target.put("Inventory", new ArrayList<>());
- target.put("Customers", new ArrayList<>());
- target.put("ServiceSubscriptions", new ArrayList<>());
- target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version")));
-
- for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- ArrayList<String> addTypes = new ArrayList<String>();
- NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
- String name=javaTypeElement.name();
- for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
- XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
- if(xmlElement.isStandardType())
- addTypes.add(xmlElement.name());
- }
- map.put(name,addTypes);
+
+ @Test
+ public void testGetHTMLAnnotation() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR
+ + " <annox:annotate target=\"Business\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR
+ + " <annox:annotate target=\"Customers\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR
+ + " <annox:annotate target=\"Customer\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-name,global-customer-id,subscriber-type\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR
+ + " <annox:annotate target=\"ServiceSubscriptions\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ target.add(" <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + " <xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR
+ + " <annox:annotate target=\"ServiceSubscription\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:appinfo>"
+ + OxmFileProcessor.LINE_SEPARATOR + " </xs:annotation>"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ List<String> annotes = new ArrayList<String>();
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (StringUtils
+ .isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), "")))
+ annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), " "));
+ }
+ logger.debug("result:");
+ logger.debug(String.join("|", annotes));
+ logger.debug("Expected:");
+ logger.debug(String.join("|", target));
+ assertThat(new ArrayList<>(annotes),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+
}
- for(String key : map.keySet()) {
- assertThat(map.get(key),equalTo(target.get(key)));
+
+ @Test
+ public void testGetTypePropertyYAML() {
+ ArrayList<String> target = new ArrayList<String>();
+ target.add(" Inventory:\n type: ");
+ target.add(
+ " Business:\n type: description: Namespace for business related constructs\n");
+ target.add(
+ " Customers:\n type: description: Collection of customer identifiers to provide linkage back to BSS information.\n");
+ target.add(
+ " Customer:\n type: description: customer identifiers to provide linkage back to BSS information.\n");
+ target.add(
+ " ServiceSubscriptions:\n type: description: Collection of objects that group service instances.\n");
+ target.add(
+ " ServiceSubscription:\n type: description: Object that group service instances.\n");
+ StringBuilder sb = new StringBuilder(
+ " Customer:\n type: description: |\n customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(
+ " *This property can be used as a filter to find the start node for a dsl query\n");
+ String yamlDesc = sb.toString();
+ List<String> types = new ArrayList<String>();
+ String container;
+ String customerDesc = null;
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ if (javaTypeElement.getTypePropertyYAML(false) != null)
+ types.add(javaTypeElement.getTypePropertyYAML(false));
+ container = javaTypeElement.getContainerProperty();
+ if ("customers".equals(container)) {
+ customerDesc = javaTypeElement.getTypePropertyYAML(true);
+ }
+ }
+ assertThat(new ArrayList<>(types),
+ both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+ assertEquals(customerDesc, yamlDesc);
}
- }
+ @Test
+ public void testIsStandardType() {
+ HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
+ HashMap<String, ArrayList<String>> target = new HashMap<String, ArrayList<String>>();
+ target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id",
+ "subscriber-name", "subscriber-type", "resource-version")));
+ target.put("Business", new ArrayList<>());
+ target.put("Inventory", new ArrayList<>());
+ target.put("Customers", new ArrayList<>());
+ target.put("ServiceSubscriptions", new ArrayList<>());
+ target.put("ServiceSubscription", new ArrayList<>(
+ Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version")));
+
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ ArrayList<String> addTypes = new ArrayList<String>();
+ NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+ String name = javaTypeElement.name();
+ for (int j = 0; j < xmlElementNodes.getLength(); ++j) {
+ XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+ if (xmlElement.isStandardType())
+ addTypes.add(xmlElement.name());
+ }
+ map.put(name, addTypes);
+ }
+ for (String key : map.keySet()) {
+ assertThat(map.get(key), equalTo(target.get(key)));
+ }
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
index b961524..e750da2 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,85 +17,86 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
-import org.junit.Before;
-import org.junit.Test;
-import org.w3c.dom.Element;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
import java.util.HashMap;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.junit.Assert.assertThat;
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Element;
public class XSDJavaTypeTest extends XSDElementTest {
- @Before
- public void setUp() throws Exception {
- super.setUp();
- }
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ }
- @Test
- public void testXSDJavaTypeElement() {
- HashMap<String,String> map = new HashMap<String,String>();
- HashMap<String,String> target = new HashMap<String,String>();
- target.put("Customer", "global-customer-id");
- target.put("Business", "customers");
- target.put("Inventory", "business");
- target.put("Customers","customer");
- target.put("ServiceSubscriptions", "service-subscription");
- target.put("ServiceSubscription", "service-type");
+ @Test
+ public void testXSDJavaTypeElement() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ HashMap<String, String> target = new HashMap<String, String>();
+ target.put("Customer", "global-customer-id");
+ target.put("Business", "customers");
+ target.put("Inventory", "business");
+ target.put("Customers", "customer");
+ target.put("ServiceSubscriptions", "service-subscription");
+ target.put("ServiceSubscription", "service-type");
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- XSDJavaType javaType = new XSDJavaType(javaTypeElement);
- map.put(javaType.name(),javaType.getItemName());
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+ map.put(javaType.name(), javaType.getItemName());
+ }
+ for (String key : map.keySet()) {
+ assertThat("For key: " + key, map.get(key), equalTo(target.get(key)));
+ }
}
- for(String key : map.keySet()) {
- assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
- }
- }
- @Test
- public void testGetItemName() {
- HashMap<String,String> map = new HashMap<String,String>();
- HashMap<String,String> target = new HashMap<String,String>();
- target.put("Customer", "global-customer-id");
- target.put("Business", "customers");
- target.put("Inventory", "business");
- target.put("Customers","customer");
- target.put("ServiceSubscriptions", "service-subscription");
- target.put("ServiceSubscription", "service-type");
+ @Test
+ public void testGetItemName() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ HashMap<String, String> target = new HashMap<String, String>();
+ target.put("Customer", "global-customer-id");
+ target.put("Business", "customers");
+ target.put("Inventory", "business");
+ target.put("Customers", "customer");
+ target.put("ServiceSubscriptions", "service-subscription");
+ target.put("ServiceSubscription", "service-type");
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- XSDJavaType javaType = new XSDJavaType(javaTypeElement);
- map.put(javaType.name(),javaType.getItemName());
- }
- for(String key : map.keySet()) {
- assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+ map.put(javaType.name(), javaType.getItemName());
+ }
+ for (String key : map.keySet()) {
+ assertThat("For key: " + key, map.get(key), equalTo(target.get(key)));
+ }
}
- }
- @Test
- public void testGetArrayType() {
- HashMap<String,String> map = new HashMap<String,String>();
- HashMap<String,String> target = new HashMap<String,String>();
- target.put("Customer", null);
- target.put("Business", null);
- target.put("Inventory", null);
- target.put("Customers","customer");
- target.put("ServiceSubscriptions", "service-subscription");
- target.put("ServiceSubscription", null);
+ @Test
+ public void testGetArrayType() {
+ HashMap<String, String> map = new HashMap<String, String>();
+ HashMap<String, String> target = new HashMap<String, String>();
+ target.put("Customer", null);
+ target.put("Business", null);
+ target.put("Inventory", null);
+ target.put("Customers", "customer");
+ target.put("ServiceSubscriptions", "service-subscription");
+ target.put("ServiceSubscription", null);
- for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
- XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
- XSDJavaType javaType = new XSDJavaType(javaTypeElement);
- map.put(javaType.name(),javaType.getArrayType());
- }
- for(String key : map.keySet()) {
- assertThat(map.get(key),equalTo(target.get(key)));
+ for (int i = 0; i < javaTypeNodes.getLength(); ++i) {
+ XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+ XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+ map.put(javaType.name(), javaType.getArrayType());
+ }
+ for (String key : map.keySet()) {
+ assertThat(map.get(key), equalTo(target.get(key)));
+ }
}
- }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
index 06653c8..1d06c38 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -17,9 +17,27 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.schemagen.genxsd;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
import com.google.common.collect.Multimap;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -43,802 +61,845 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
-
-
@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = {
- SchemaVersions.class,
- SchemaLocationsBean.class,
- TestUtilConfigTranslatorforBusiness.class,
- SchemaVersions.class,
- EdgeIngestor.class,
- NodeIngestor.class,
- SwaggerGenerationConfiguration.class
-
-})
-@TestPropertySource(properties = {
- "schema.uri.base.path = /aai",
- "schema.xsd.maxoccurs = 5000"
-})
+@ContextConfiguration(
+ classes = {SchemaVersions.class, SchemaLocationsBean.class,
+ TestUtilConfigTranslatorforBusiness.class, SchemaVersions.class, EdgeIngestor.class,
+ NodeIngestor.class, SwaggerGenerationConfiguration.class
+
+ })
+@TestPropertySource(properties = {"schema.uri.base.path = /aai", "schema.xsd.maxoccurs = 5000"})
public class YAMLfromOXMTest {
- @Autowired
+ @Autowired
EdgeIngestor edgeIngestor;
- @Autowired
+ @Autowired
NodeIngestor nodeIngestor;
- private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class");
- private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
- private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
- public static AnnotationConfigApplicationContext ctx = null;
- private static String testXML;
- protected static final String SERVICE_NAME = "JUNIT";
+ private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class");
+ private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+ private static final String EDGEFILENAME =
+ "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+ public static AnnotationConfigApplicationContext ctx = null;
+ private static String testXML;
+ protected static final String SERVICE_NAME = "JUNIT";
boolean first = true;
@Autowired
- YAMLfromOXM yamlFromOxm;
+ YAMLfromOXM yamlFromOxm;
@Autowired
SchemaVersions schemaVersions;
- @BeforeClass
- public static void setUpBeforeClass() throws Exception {
- System.setProperty("AJSC_HOME", ".");
- System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
- System.setProperty("aai.service.name", SERVICE_NAME);
- }
-
-
-
- @Before
- public void setUp() throws Exception {
+ @BeforeClass
+ public static void setUpBeforeClass() throws Exception {
+ System.setProperty("AJSC_HOME", ".");
+ System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+ System.setProperty("aai.service.name", SERVICE_NAME);
+ }
+
+ @Before
+ public void setUp() throws Exception {
XSDElementTest x = new XSDElementTest();
- x.setUp();
- testXML = x.testXML;
- logger.debug(testXML);
- BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
- bw.write(testXML);
- bw.close();
- BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw1.write(EdgeDefs());
- bw1.close();
+ x.setUp();
+ testXML = x.testXML;
+ logger.debug(testXML);
+ BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+ bw.write(testXML);
+ bw.close();
+ BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw1.write(EdgeDefs());
+ bw1.close();
}
-
- public void setupRelationship() throws Exception{
+
+ public void setupRelationship() throws Exception {
XSDElementTest x = new XSDElementTest();
- x.setUpRelationship();
+ x.setUpRelationship();
+
+ testXML = x.testXML;
+ logger.debug(testXML);
+ BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+
+ bw.write(testXML);
+
+ bw.close();
+ BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+ bw1.write(EdgeDefs());
+ bw1.close();
+ }
+
+ @Test
+ public void AtestIngestors() throws EdgeRuleNotFoundException {
+ Multimap<String, EdgeRule> results =
+ edgeIngestor.getAllRules(schemaVersions.getDefaultVersion());
+ SortedSet<String> ss = new TreeSet<String>(results.keySet());
+ for (String key : ss) {
+ results.get(key).stream().filter((i) -> ((!i.isPrivateEdge()))).forEach((i) -> {
+ EdgeDescription ed = new EdgeDescription(i);
+ System.out.println(ed.getRuleKey());
+ });
+ }
+ Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion());
+ assertNotNull(doc);
+ }
+
+ @Test
+ public void testGetDocumentHeader() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String header = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ yamlFromOxm.process();
+ header = yamlFromOxm.getDocumentHeader();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Header:\n" + header, header, is(YAMLheader()));
+ }
+
+ @Test
+ public void testProcess() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = yamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("FileContent-TestProcess:\n" + fileContent, fileContent, is(YAMLresult()));
+ }
- testXML = x.testXML;
- logger.debug(testXML);
- BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+ @Test
+ public void testYAMLfromOXMFileVersionFile() throws IOException {
+ String outfileName = "testXML.xml";
+ File XMLfile = new File(outfileName);
+ XMLfile.createNewFile();
+ BufferedWriter bw = null;
+ Charset charset = Charset.forName("UTF-8");
+ Path path = Paths.get(outfileName);
+ bw = Files.newBufferedWriter(path, charset);
+ bw.write(testXML);
+ bw.close();
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = yamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ XMLfile.delete();
+ assertThat("FileContent-OXMFileVersionFile:\n" + fileContent, fileContent,
+ is(YAMLresult()));
+ }
- bw.write(testXML);
+ @Test
+ public void testYAMLfromOXMStringVersionFile() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = yamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("FileContent-OXMStringVersionFile:\n" + fileContent, fileContent,
+ is(YAMLresult()));
+ }
- bw.close();
- BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
- bw1.write(EdgeDefs());
- bw1.close();
- }
+ @Test
+ public void testRelationshipListYAMLfromOXMStringVersionFile() {
+ try {
+ setupRelationship();
+ } catch (Exception e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String fileContent = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ fileContent = yamlFromOxm.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ boolean matchFound = fileContent.contains((YAMLRelationshipList()));
+ assertTrue("RelationshipListFormat:\n", matchFound);
+ }
- @Test
- public void AtestIngestors() throws EdgeRuleNotFoundException {
- Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion());
- SortedSet<String> ss=new TreeSet<String>(results.keySet());
- for(String key : ss) {
- results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } );
+ @Test
+ public void testAppendDefinitions() {
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String definitions = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ yamlFromOxm.process();
+ definitions = yamlFromOxm.appendDefinitions();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Definitions:\n" + definitions, definitions,
+ is(YAMLdefs() + YAMLdefsAddPatch()));
}
- Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion());
- assertNotNull(doc);
- }
-
- @Test
- public void testGetDocumentHeader() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String header = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- yamlFromOxm.process();
- header = yamlFromOxm.getDocumentHeader();
- } catch(Exception e) {
- e.printStackTrace();
+
+ @Test
+ public void testGetXMLRootElementName() {
+ String target = "RootElement=customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ Element customer = null;
+ String root = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ yamlFromOxm.process();
+ customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+ root = yamlFromOxm.getXMLRootElementName(customer);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("RootElement=" + root, is(target));
}
- assertThat("Header:\n"+header,header, is(YAMLheader()));
- }
-
- @Test
- public void testProcess() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- fileContent = yamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+
+ @Test
+ public void testGetXmlRootElementName() {
+ String target = "RootElement=customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ String root = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ yamlFromOxm.process();
+ root = yamlFromOxm.getXmlRootElementName("Customer");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("RootElement=" + root, is(target));
}
- assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult()));
- }
-
- @Test
- public void testYAMLfromOXMFileVersionFile() throws IOException {
- String outfileName = "testXML.xml";
- File XMLfile = new File(outfileName);
- XMLfile.createNewFile();
- BufferedWriter bw = null;
- Charset charset = Charset.forName("UTF-8");
- Path path = Paths.get(outfileName);
- bw = Files.newBufferedWriter(path, charset);
- bw.write(testXML);
- bw.close();
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- fileContent = yamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+
+ @Test
+ public void testGetJavaTypeElementSwagger() {
+ String target = "Element=java-type/Customer";
+ SchemaVersion v = schemaVersions.getAppRootVersion();
+ String apiVersion = v.toString();
+ Element customer = null;
+ try {
+ yamlFromOxm.setXmlVersion(testXML, v);
+ yamlFromOxm.process();
+ customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ assertThat("Element=" + customer.getNodeName() + "/" + customer.getAttribute("name"),
+ is(target));
}
- XMLfile.delete();
- assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
- }
-
- @Test
- public void testYAMLfromOXMStringVersionFile() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- fileContent = yamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+
+ public String YAMLresult() {
+ StringBuilder sb = new StringBuilder(32368);
+ sb.append(YAMLheader());
+ sb.append(YAMLops());
+ sb.append(YAMLdefs());
+ sb.append(YAMLdefsAddPatch());
+ return sb.toString();
}
- assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
- }
-
- @Test
- public void testRelationshipListYAMLfromOXMStringVersionFile() {
- try {
- setupRelationship();
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+
+ public String YAMLheader() {
+ StringBuilder sb = new StringBuilder(1500);
+ sb.append("swagger: \"2.0\"\n");
+ sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" description: |\n");
+ sb.append("\n");
+ sb.append(
+ " [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)"
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(" You may obtain a copy of the License at\n");
+ sb.append("\n");
+ sb.append(" (https://creativecommons.org/licenses/by/4.0/)"
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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."
+ + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+ sb.append(
+ " This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions."
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(
+ " title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" license:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" name: Apache 2.0\n");
+ sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html"
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" contact:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" name: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" url: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" email: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" - https\n");
+ sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
+ return sb.toString();
}
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String fileContent = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- fileContent = yamlFromOxm.process();
- } catch(Exception e) {
- e.printStackTrace();
+
+ public String YAMLops() {
+ StringBuilder sb = new StringBuilder(16384);
+ sb.append(
+ " /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: returns service-subscription\n");
+ sb.append(" description: returns service-subscription\n");
+ sb.append(
+ " operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
+ sb.append(" put:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: create or update an existing service-subscription\n");
+ sb.append(" description: |\n");
+ sb.append(" Create or update an existing service-subscription.\n");
+ sb.append(" #\n");
+ sb.append(
+ " Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n");
+ sb.append(
+ " operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
+ sb.append(" - name: body\n");
+ sb.append(" in: body\n");
+ sb.append(
+ " description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
+ sb.append(" required: true\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ sb.append(" patch:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: update an existing service-subscription\n");
+ sb.append(" description: |\n");
+ sb.append(" Update an existing service-subscription\n");
+ sb.append(" #\n");
+ sb.append(
+ " Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+ sb.append(" The PUT operation will entirely replace an existing object.\n");
+ sb.append(
+ " The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n");
+ sb.append(" #\n");
+ sb.append(" Other differences between PUT and PATCH are:\n");
+ sb.append(" #\n");
+ sb.append(
+ " - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n");
+ sb.append(
+ " - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+ sb.append(
+ " - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+ sb.append(
+ " operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
+ sb.append(" - name: body\n");
+ sb.append(" in: body\n");
+ sb.append(" description: service-subscription object that needs to be updated.");
+ sb.append(
+ "[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
+ sb.append(" required: true\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/zzzz-patch-service-subscription\"\n");
+ sb.append(" delete:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: delete an existing service-subscription\n");
+ sb.append(" description: delete an existing service-subscription\n");
+ sb.append(
+ " operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __SERVICE-TYPE__\n");
+ sb.append(" - name: resource-version\n");
+ sb.append(" in: query\n");
+ sb.append(" description: resource-version for concurrency\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: returns service-subscriptions\n");
+ sb.append(" description: returns service-subscriptions\n");
+ sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/service-subscriptions\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: service-type\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" /business/customers/customer/{global-customer-id}:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: returns customer\n");
+ sb.append(" description: returns customer\n");
+ sb.append(" operationId: getBusinessCustomersCustomer\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" put:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: create or update an existing customer\n");
+ sb.append(" description: |\n");
+ sb.append(" Create or update an existing customer.\n");
+ sb.append(" #\n");
+ sb.append(
+ " Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n");
+ sb.append(" operationId: createOrUpdateBusinessCustomersCustomer\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: body\n");
+ sb.append(" in: body\n");
+ sb.append(
+ " description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
+ sb.append(" required: true\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" patch:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: update an existing customer\n");
+ sb.append(" description: |\n");
+ sb.append(" Update an existing customer\n");
+ sb.append(" #\n");
+ sb.append(
+ " Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+ sb.append(" The PUT operation will entirely replace an existing object.\n");
+ sb.append(
+ " The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n");
+ sb.append(" #\n");
+ sb.append(" Other differences between PUT and PATCH are:\n");
+ sb.append(" #\n");
+ sb.append(
+ " - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n");
+ sb.append(
+ " - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+ sb.append(
+ " - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+ sb.append(" operationId: UpdateBusinessCustomersCustomer\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: body\n");
+ sb.append(" in: body\n");
+ sb.append(" description: customer object that needs to be updated.");
+ sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
+ sb.append(" required: true\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/zzzz-patch-customer\"\n");
+ sb.append(" delete:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: delete an existing customer\n");
+ sb.append(" description: delete an existing customer\n");
+ sb.append(" operationId: deleteBusinessCustomersCustomer\n");
+ sb.append(" consumes:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: path\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
+ sb.append(" - name: resource-version\n");
+ sb.append(" in: query\n");
+ sb.append(" description: resource-version for concurrency\n");
+ sb.append(" required: true\n");
+ sb.append(" type: string\n");
+ sb.append(" /business/customers:\n");
+ sb.append(" get:\n");
+ sb.append(" tags:\n");
+ sb.append(" - Business\n");
+ sb.append(" summary: returns customers\n");
+ sb.append(" description: returns customers\n");
+ sb.append(" operationId: getBusinessCustomers\n");
+ sb.append(" produces:\n");
+ sb.append(" - application/json\n");
+ sb.append(" - application/xml\n");
+ sb.append(" responses:\n");
+ sb.append(" \"200\":\n");
+ sb.append(" description: successful operation\n");
+ sb.append(" schema:\n");
+ sb.append(" $ref: \"#/definitions/customers\"\n");
+ sb.append(" \"default\":\n");
+ sb.append(" null parameters:\n");
+ sb.append(" - name: global-customer-id\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" - name: subscriber-name\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ sb.append(" - name: subscriber-type\n");
+ sb.append(" in: query\n");
+ sb.append(" description: n/a\n");
+ sb.append(" required: false\n");
+ sb.append(" type: string\n");
+ return sb.toString();
}
- boolean matchFound = fileContent.contains(( YAMLRelationshipList()));
- assertTrue("RelationshipListFormat:\n", matchFound);
- }
-
- @Test
- public void testAppendDefinitions() {
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String definitions = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- yamlFromOxm.process();
- definitions = yamlFromOxm.appendDefinitions();
- } catch(Exception e) {
- e.printStackTrace();
+
+ public String YAMLdefs() {
+ StringBuilder sb = new StringBuilder(8092);
+ sb.append("definitions:\n");
+ sb.append(" business:\n");
+ sb.append(" description: |\n");
+ sb.append(" Namespace for business related constructs\n");
+ sb.append(" properties:\n");
+ sb.append(" customers:\n");
+ sb.append(" type: array\n");
+ sb.append(" items:\n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" customer:\n");
+ sb.append(" description: |\n");
+ sb.append(" customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+ sb.append(" required:\n");
+ sb.append(" - global-customer-id\n");
+ sb.append(" - subscriber-name\n");
+ sb.append(" - subscriber-type\n");
+ sb.append(" properties:\n");
+ sb.append(" global-customer-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" subscriber-name:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber name, an alternate way to retrieve a customer.\n");
+ sb.append(" subscriber-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+ sb.append(" resource-version:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
+ sb.append(" service-subscriptions:\n");
+ sb.append(" type: array\n");
+ sb.append(" items:\n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ sb.append(" customers:\n");
+ sb.append(" description: |\n");
+ sb.append(
+ " Collection of customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(" properties:\n");
+ sb.append(" customer:\n");
+ sb.append(" type: array\n");
+ sb.append(" items: \n");
+ sb.append(" $ref: \"#/definitions/customer\"\n");
+ sb.append(" inventory:\n");
+ sb.append(" properties:\n");
+ sb.append(" business:\n");
+ sb.append(" type: object\n");
+ sb.append(" $ref: \"#/definitions/business\"\n");
+ sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" $ref: \"#/definitions/inventory-item-data\""
+ + OxmFileProcessor.LINE_SEPARATOR);
+ sb.append(" service-subscription:\n");
+ sb.append(" description: |\n");
+ sb.append(" Object that group service instances.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+ sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+ sb.append(
+ " - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(
+ " -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+ sb.append(
+ " -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+ sb.append(" required:\n");
+ sb.append(" - service-type\n");
+ sb.append(" properties:\n");
+ sb.append(" service-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" temp-ub-sub-account-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+ sb.append(" resource-version:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
+ sb.append(" service-subscriptions:\n");
+ sb.append(" description: |\n");
+ sb.append(" Collection of objects that group service instances.\n");
+ sb.append(" properties:\n");
+ sb.append(" service-subscription:\n");
+ sb.append(" type: array\n");
+ sb.append(" items: \n");
+ sb.append(" $ref: \"#/definitions/service-subscription\"\n");
+ return sb.toString();
}
- assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLdefsAddPatch()));
- }
-
- @Test
- public void testGetXMLRootElementName() {
- String target = "RootElement=customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- Element customer = null;
- String root = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- yamlFromOxm.process();
- customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
- root = yamlFromOxm.getXMLRootElementName(customer);
- } catch(Exception e) {
- e.printStackTrace();
+
+ public String YAMLdefsAddPatch() {
+ StringBuilder sb = new StringBuilder(8092);
+ sb.append(" zzzz-patch-customer:\n");
+ sb.append(" description: |\n");
+ sb.append(" customer identifiers to provide linkage back to BSS information.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+ sb.append(" properties:\n");
+ sb.append(" global-customer-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Global customer id used across to uniquely identify customer.\n");
+ sb.append(" subscriber-name:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber name, an alternate way to retrieve a customer.\n");
+ sb.append(" subscriber-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+ sb.append(" zzzz-patch-service-subscription:\n");
+ sb.append(" description: |\n");
+ sb.append(" Object that group service instances.\n");
+ sb.append(" ###### Related Nodes\n");
+ sb.append(
+ " - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+ sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+ sb.append(
+ " - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+ sb.append("\n");
+ sb.append(
+ " -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+ sb.append(
+ " -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+ sb.append(" properties:\n");
+ sb.append(" service-type:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: Value defined by orchestration to identify this service.\n");
+ sb.append(" temp-ub-sub-account-id:\n");
+ sb.append(" type: string\n");
+ sb.append(
+ " description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+ return sb.toString();
}
- assertThat("RootElement="+root, is(target));
- }
-
- @Test
- public void testGetXmlRootElementName() {
- String target = "RootElement=customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- String root = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- yamlFromOxm.process();
- root = yamlFromOxm.getXmlRootElementName("Customer");
- } catch(Exception e) {
- e.printStackTrace();
+
+ public String YAMLRelationshipList() {
+ StringBuilder sb = new StringBuilder(8092);
+ sb.append(" relationship-list:\n");
+ sb.append(" properties:\n");
+ sb.append(" relationship:\n");
+ sb.append(" type: object\n");
+ sb.append(" $ref: \"#/definitions/relationship\"\n");
+ return sb.toString();
}
- assertThat("RootElement="+root, is(target));
- }
-
- @Test
- public void testGetJavaTypeElementSwagger() {
- String target = "Element=java-type/Customer";
- SchemaVersion v = schemaVersions.getAppRootVersion();
- String apiVersion = v.toString();
- Element customer = null;
- try {
- yamlFromOxm.setXmlVersion(testXML, v);
- yamlFromOxm.process();
- customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
- } catch(Exception e) {
- e.printStackTrace();
+
+ public static String EdgeDefs() {
+ StringBuilder sb = new StringBuilder(8092);
+ sb.append("{\n" + " \"rules\": [\n");
+ sb.append(" {\n");
+ sb.append(" \"from\": \"service-subscription\",\n");
+ sb.append(" \"to\": \"customer\",\n"
+ + " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n"
+ + " \"direction\": \"OUT\",\n" + " \"multiplicity\": \"MANY2ONE\",\n"
+ + " \"contains-other-v\": \"!${direction}\",\n"
+ + " \"delete-other-v\": \"!${direction}\",\n"
+ + " \"prevent-delete\": \"NONE\",\n" + " \"default\": \"true\",\n"
+ + " \"description\":\"\"\n");
+ sb.append(" },\n");
+ sb.append(" {\n" + " \"from\": \"service-instance\",\n"
+ + " \"to\": \"service-subscription\",\n"
+ + " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n"
+ + " \"direction\": \"OUT\",\n" + " \"multiplicity\": \"MANY2ONE\",\n"
+ + " \"contains-other-v\": \"!${direction}\",\n"
+ + " \"delete-other-v\": \"!${direction}\",\n"
+ + " \"prevent-delete\": \"NONE\",\n" + " \"default\": \"true\",\n"
+ + " \"description\":\"\"\n" + " },\n");
+ sb.append(" {\n" + " \"from\": \"service-subscription\",\n"
+ + " \"to\": \"tenant\",\n"
+ + " \"label\": \"org.onap.relationships.inventory.Uses\",\n"
+ + " \"direction\": \"OUT\",\n" + " \"multiplicity\": \"MANY2MANY\",\n"
+ + " \"contains-other-v\": \"NONE\",\n" + " \"delete-other-v\": \"NONE\",\n"
+ + " \"prevent-delete\": \"NONE\",\n" + " \"default\": \"true\",\n"
+ + " \"description\":\"\"\n" + " }");
+ sb.append(" ]\n" + "}\n");
+ return sb.toString();
}
- assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
- }
-
- public String YAMLresult() {
- StringBuilder sb = new StringBuilder(32368);
- sb.append(YAMLheader());
- sb.append(YAMLops());
- sb.append(YAMLdefs());
- sb.append(YAMLdefsAddPatch());
- return sb.toString();
- }
- public String YAMLheader() {
- StringBuilder sb = new StringBuilder(1500);
- sb.append("swagger: \"2.0\"\n");
- sb.append("info:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" description: |\n");
- sb.append("\n");
- sb.append(" [Differences versus the previous schema version](apidocs/aai/aai_swagger_v11.diff)" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" You may obtain a copy of the License at\n");
- sb.append("\n");
- sb.append(" (https://creativecommons.org/licenses/by/4.0/)"+ OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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." + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
- sb.append(" This document is best viewed with Firefox or Chrome. Nodes can be found by opening the models link below and finding the node-type. Edge definitions can be found with the node definitions." + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" version: \"v11\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" title: Active and Available Inventory REST API" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" license:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" name: Apache 2.0\n");
- sb.append(" url: http://www.apache.org/licenses/LICENSE-2.0.html" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" contact:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" name: n/a" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" url: n/a" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" email: n/a" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append("host: n/a" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append("basePath: /aai/v11" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append("schemes:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" - https\n");
- sb.append("paths:" + OxmFileProcessor.LINE_SEPARATOR);
- return sb.toString();
- }
-
- public String YAMLops() {
- StringBuilder sb = new StringBuilder(16384);
- sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: returns service-subscription\n");
- sb.append(" description: returns service-subscription\n");
- sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: path\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __SERVICE-TYPE__\n");
- sb.append(" put:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: create or update an existing service-subscription\n");
- sb.append(" description: |\n");
- sb.append(" Create or update an existing service-subscription.\n");
- sb.append(" #\n");
- sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n");
- sb.append(" operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: path\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __SERVICE-TYPE__\n");
- sb.append(" - name: body\n");
- sb.append(" in: body\n");
- sb.append(" description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
- sb.append(" required: true\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- sb.append(" patch:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: update an existing service-subscription\n");
- sb.append(" description: |\n");
- sb.append(" Update an existing service-subscription\n");
- sb.append(" #\n");
- sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
- sb.append(" The PUT operation will entirely replace an existing object.\n");
- sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n");
- sb.append(" #\n");
- sb.append(" Other differences between PUT and PATCH are:\n");
- sb.append(" #\n");
- sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n");
- sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
- sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
- sb.append(" operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: path\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __SERVICE-TYPE__\n");
- sb.append(" - name: body\n");
- sb.append(" in: body\n");
- sb.append(" description: service-subscription object that needs to be updated.");
- sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
- sb.append(" required: true\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/zzzz-patch-service-subscription\"\n");
- sb.append(" delete:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: delete an existing service-subscription\n");
- sb.append(" description: delete an existing service-subscription\n");
- sb.append(" operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: path\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __SERVICE-TYPE__\n");
- sb.append(" - name: resource-version\n");
- sb.append(" in: query\n");
- sb.append(" description: resource-version for concurrency\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" /business/customers/customer/{global-customer-id}/service-subscriptions:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: returns service-subscriptions\n");
- sb.append(" description: returns service-subscriptions\n");
- sb.append(" operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/service-subscriptions\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: service-type\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" /business/customers/customer/{global-customer-id}:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: returns customer\n");
- sb.append(" description: returns customer\n");
- sb.append(" operationId: getBusinessCustomersCustomer\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" put:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: create or update an existing customer\n");
- sb.append(" description: |\n");
- sb.append(" Create or update an existing customer.\n");
- sb.append(" #\n");
- sb.append(" Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement. An example can be found in the [PATCH section] below\n");
- sb.append(" operationId: createOrUpdateBusinessCustomersCustomer\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: body\n");
- sb.append(" in: body\n");
- sb.append(" description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
- sb.append(" required: true\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" patch:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: update an existing customer\n");
- sb.append(" description: |\n");
- sb.append(" Update an existing customer\n");
- sb.append(" #\n");
- sb.append(" Note: Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
- sb.append(" The PUT operation will entirely replace an existing object.\n");
- sb.append(" The PATCH operation sends a \"description of changes\" for an existing object. The entire set of changes must be applied. An error result means no change occurs.\n");
- sb.append(" #\n");
- sb.append(" Other differences between PUT and PATCH are:\n");
- sb.append(" #\n");
- sb.append(" - For PATCH, you can send any of the values shown in sample REQUEST body. There are no required values.\n");
- sb.append(" - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
- sb.append(" - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
- sb.append(" operationId: UpdateBusinessCustomersCustomer\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: body\n");
- sb.append(" in: body\n");
- sb.append(" description: customer object that needs to be updated.");
- sb.append("[See Examples](apidocs/aai/relations/v11/BusinessCustomersCustomer.json)\n");
- sb.append(" required: true\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/zzzz-patch-customer\"\n");
- sb.append(" delete:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: delete an existing customer\n");
- sb.append(" description: delete an existing customer\n");
- sb.append(" operationId: deleteBusinessCustomersCustomer\n");
- sb.append(" consumes:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: path\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" example: __GLOBAL-CUSTOMER-ID__\n");
- sb.append(" - name: resource-version\n");
- sb.append(" in: query\n");
- sb.append(" description: resource-version for concurrency\n");
- sb.append(" required: true\n");
- sb.append(" type: string\n");
- sb.append(" /business/customers:\n");
- sb.append(" get:\n");
- sb.append(" tags:\n");
- sb.append(" - Business\n");
- sb.append(" summary: returns customers\n");
- sb.append(" description: returns customers\n");
- sb.append(" operationId: getBusinessCustomers\n");
- sb.append(" produces:\n");
- sb.append(" - application/json\n");
- sb.append(" - application/xml\n");
- sb.append(" responses:\n");
- sb.append(" \"200\":\n");
- sb.append(" description: successful operation\n");
- sb.append(" schema:\n");
- sb.append(" $ref: \"#/definitions/customers\"\n");
- sb.append(" \"default\":\n");
- sb.append(" null parameters:\n");
- sb.append(" - name: global-customer-id\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" - name: subscriber-name\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- sb.append(" - name: subscriber-type\n");
- sb.append(" in: query\n");
- sb.append(" description: n/a\n");
- sb.append(" required: false\n");
- sb.append(" type: string\n");
- return sb.toString();
- }
- public String YAMLdefs() {
- StringBuilder sb = new StringBuilder(8092);
- sb.append("definitions:\n");
- sb.append(" business:\n");
- sb.append(" description: |\n");
- sb.append(" Namespace for business related constructs\n");
- sb.append(" properties:\n");
- sb.append(" customers:\n");
- sb.append(" type: array\n");
- sb.append(" items:\n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" customer:\n");
- sb.append(" description: |\n");
- sb.append(" customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
- sb.append(" required:\n");
- sb.append(" - global-customer-id\n");
- sb.append(" - subscriber-name\n");
- sb.append(" - subscriber-type\n");
- sb.append(" properties:\n");
- sb.append(" global-customer-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" subscriber-name:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n");
- sb.append(" subscriber-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
- sb.append(" resource-version:\n");
- sb.append(" type: string\n");
- sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
- sb.append(" service-subscriptions:\n");
- sb.append(" type: array\n");
- sb.append(" items:\n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- sb.append(" customers:\n");
- sb.append(" description: |\n");
- sb.append(" Collection of customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" properties:\n");
- sb.append(" customer:\n");
- sb.append(" type: array\n");
- sb.append(" items: \n");
- sb.append(" $ref: \"#/definitions/customer\"\n");
- sb.append(" inventory:\n");
- sb.append(" properties:\n");
- sb.append(" business:\n");
- sb.append(" type: object\n");
- sb.append(" $ref: \"#/definitions/business\"\n");
- sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" inventory-item-data:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" type: array" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" items:" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" $ref: \"#/definitions/inventory-item-data\"" + OxmFileProcessor.LINE_SEPARATOR);
- sb.append(" service-subscription:\n");
- sb.append(" description: |\n");
- sb.append(" Object that group service instances.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
- sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
- sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
- sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
- sb.append(" required:\n");
- sb.append(" - service-type\n");
- sb.append(" properties:\n");
- sb.append(" service-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" temp-ub-sub-account-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
- sb.append(" resource-version:\n");
- sb.append(" type: string\n");
- sb.append(" description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n");
- sb.append(" service-subscriptions:\n");
- sb.append(" description: |\n");
- sb.append(" Collection of objects that group service instances.\n");
- sb.append(" properties:\n");
- sb.append(" service-subscription:\n");
- sb.append(" type: array\n");
- sb.append(" items: \n");
- sb.append(" $ref: \"#/definitions/service-subscription\"\n");
- return sb.toString();
- }
- public String YAMLdefsAddPatch() {
- StringBuilder sb = new StringBuilder(8092);
- sb.append(" zzzz-patch-customer:\n");
- sb.append(" description: |\n");
- sb.append(" customer identifiers to provide linkage back to BSS information.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
- sb.append(" properties:\n");
- sb.append(" global-customer-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: Global customer id used across to uniquely identify customer.\n");
- sb.append(" subscriber-name:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber name, an alternate way to retrieve a customer.\n");
- sb.append(" subscriber-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
- sb.append(" zzzz-patch-service-subscription:\n");
- sb.append(" description: |\n");
- sb.append(" Object that group service instances.\n");
- sb.append(" ###### Related Nodes\n");
- sb.append(" - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
- sb.append(" - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
- sb.append(" - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
- sb.append("\n");
- sb.append(" -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
- sb.append(" -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
- sb.append(" properties:\n");
- sb.append(" service-type:\n");
- sb.append(" type: string\n");
- sb.append(" description: Value defined by orchestration to identify this service.\n");
- sb.append(" temp-ub-sub-account-id:\n");
- sb.append(" type: string\n");
- sb.append(" description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
- return sb.toString();
- }
-
- public String YAMLRelationshipList() {
- StringBuilder sb = new StringBuilder(8092);
- sb.append(" relationship-list:\n");
- sb.append(" properties:\n");
- sb.append(" relationship:\n");
- sb.append(" type: object\n");
- sb.append(" $ref: \"#/definitions/relationship\"\n");
- return sb.toString();
- }
-
- public static String EdgeDefs() {
- StringBuilder sb = new StringBuilder(8092);
- sb.append("{\n" +
- " \"rules\": [\n");
- sb.append(" {\n");
- sb.append(" \"from\": \"service-subscription\",\n");
- sb.append(" \"to\": \"customer\",\n" +
- " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
- " \"direction\": \"OUT\",\n" +
- " \"multiplicity\": \"MANY2ONE\",\n" +
- " \"contains-other-v\": \"!${direction}\",\n" +
- " \"delete-other-v\": \"!${direction}\",\n" +
- " \"prevent-delete\": \"NONE\",\n" +
- " \"default\": \"true\",\n" +
- " \"description\":\"\"\n");
- sb.append(" },\n");
- sb.append(" {\n" +
- " \"from\": \"service-instance\",\n" +
- " \"to\": \"service-subscription\",\n" +
- " \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
- " \"direction\": \"OUT\",\n" +
- " \"multiplicity\": \"MANY2ONE\",\n" +
- " \"contains-other-v\": \"!${direction}\",\n" +
- " \"delete-other-v\": \"!${direction}\",\n" +
- " \"prevent-delete\": \"NONE\",\n" +
- " \"default\": \"true\",\n" +
- " \"description\":\"\"\n" +
- " },\n");
- sb.append(" {\n" +
- " \"from\": \"service-subscription\",\n" +
- " \"to\": \"tenant\",\n" +
- " \"label\": \"org.onap.relationships.inventory.Uses\",\n" +
- " \"direction\": \"OUT\",\n" +
- " \"multiplicity\": \"MANY2MANY\",\n" +
- " \"contains-other-v\": \"NONE\",\n" +
- " \"delete-other-v\": \"NONE\",\n" +
- " \"prevent-delete\": \"NONE\",\n" +
- " \"default\": \"true\",\n" +
- " \"description\":\"\"\n" +
- " }");
- sb.append(" ]\n" +
- "}\n");
- return sb.toString();
- }
-} \ No newline at end of file
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/swagger/DefinitionTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/swagger/DefinitionTest.java
index 3a53019..98169d8 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/swagger/DefinitionTest.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/swagger/DefinitionTest.java
@@ -46,12 +46,11 @@ public class DefinitionTest {
*/
@Parameters
public static Collection<String[]> testConditions() {
- String inputs[][] = {
- {"name1", "desc1",
- "Definition{definitionName='name1', definitionDescription='desc1', propertyList=[]}"},
- {"name2", "desc2",
+ String inputs[][] = {{"name1", "desc1",
+ "Definition{definitionName='name1', definitionDescription='desc1', propertyList=[]}"},
+ {"name2", "desc2",
"Definition{definitionName='name2', definitionDescription='desc2', propertyList=[]}"},
- {"fake", "random",
+ {"fake", "random",
"Definition{definitionName='fake', definitionDescription='random', propertyList=[]}"}};
return (Arrays.asList(inputs));
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
index e7de26b..fdc2002 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -20,54 +20,55 @@
package org.onap.aai.schemagen.testutils;
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaVersions;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
- public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
- super(bean, schemaVersions);
- }
+ public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean,
+ SchemaVersions schemaVersions) {
+ super(bean, schemaVersions);
+ }
- @Override
- public Map<SchemaVersion, List<String>> getNodeFiles() {
+ @Override
+ public Map<SchemaVersion, List<String>> getNodeFiles() {
- List<String> files11 = new ArrayList<>();
- files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+ List<String> files11 = new ArrayList<>();
+ files11.add("src/test/resources/oxm/business_oxm_v11.xml");
- List<String> files13 = new ArrayList<>();
- files13.add("src/test/resources/oxm/business_oxm_v13.xml");
- files13.add("src/test/resources/oxm/common_oxm_v13.xml");
- files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
- files13.add("src/test/resources/oxm/network_oxm_v13.xml");
+ List<String> files13 = new ArrayList<>();
+ files13.add("src/test/resources/oxm/business_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/common_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/network_oxm_v13.xml");
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(new SchemaVersion("v11"), files11);
- input.put(schemaVersions.getDefaultVersion(), files13);
- return input;
- }
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v11"), files11);
+ input.put(schemaVersions.getDefaultVersion(), files13);
+ return input;
+ }
- @Override
- public Map<SchemaVersion, List<String>> getEdgeFiles() {
- List<String> files = new ArrayList<>();
- files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(schemaVersions.getDefaultVersion(), files);
+ @Override
+ public Map<SchemaVersion, List<String>> getEdgeFiles() {
+ List<String> files = new ArrayList<>();
+ files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(schemaVersions.getDefaultVersion(), files);
- List<String> files2 = new ArrayList<>();
- files2.add("src/test/resources/dbedgerules/test.json");
+ List<String> files2 = new ArrayList<>();
+ files2.add("src/test/resources/dbedgerules/test.json");
- List<String> files3 = new ArrayList<>();
- files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
- input.put(new SchemaVersion("v11"), files3);
+ List<String> files3 = new ArrayList<>();
+ files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+ input.put(new SchemaVersion("v11"), files3);
- return input;
- }
+ return input;
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
index 3cee014..7fdcc34 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -20,40 +20,49 @@
package org.onap.aai.schemagen.testutils;
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaVersions;
-
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
public class TestUtilConfigTranslatorforDataLink extends ConfigTranslator {
- public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
- super(bean, schemaVersions);
- }
-
- @Override
- public Map<SchemaVersion, List<String>> getNodeFiles() {
-
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
- input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
- input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
- input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
- return input;
- }
-
- @Override
- public Map<SchemaVersion, List<String>> getEdgeFiles() {
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
- input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
- input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
- input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
- return input;
- }
+ public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean,
+ SchemaVersions schemaVersions) {
+ super(bean, schemaVersions);
+ }
+
+ @Override
+ public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v1"),
+ Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
+ input.put(new SchemaVersion("v2"),
+ Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
+ input.put(new SchemaVersion("v3"),
+ Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
+ input.put(new SchemaVersion("v4"),
+ Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
+ return input;
+ }
+
+ @Override
+ public Map<SchemaVersion, List<String>> getEdgeFiles() {
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v1"),
+ Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
+ input.put(new SchemaVersion("v2"),
+ Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
+ input.put(new SchemaVersion("v3"),
+ Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
+ input.put(new SchemaVersion("v4"),
+ Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
+ return input;
+ }
}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
index e39986f..ca45b9d 100644
--- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
+++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
@@ -8,7 +8,7 @@
* 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
+ * 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,
@@ -20,54 +20,55 @@
package org.onap.aai.schemagen.testutils;
-import org.onap.aai.setup.ConfigTranslator;
-import org.onap.aai.setup.SchemaLocationsBean;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.setup.SchemaVersions;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
public class TestUtilConfigTranslatorforEdges extends ConfigTranslator {
- public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
- super(bean, schemaVersions);
- }
+ public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean,
+ SchemaVersions schemaVersions) {
+ super(bean, schemaVersions);
+ }
- @Override
- public Map<SchemaVersion, List<String>> getNodeFiles() {
- List<String> files11 = new ArrayList<>();
- files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+ @Override
+ public Map<SchemaVersion, List<String>> getNodeFiles() {
+ List<String> files11 = new ArrayList<>();
+ files11.add("src/test/resources/oxm/business_oxm_v11.xml");
- List<String> files13 = new ArrayList<>();
- files13.add("src/test/resources/oxm/business_oxm_v13.xml");
- files13.add("src/test/resources/oxm/common_oxm_v13.xml");
- files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
- files13.add("src/test/resources/oxm/network_oxm_v13.xml");
+ List<String> files13 = new ArrayList<>();
+ files13.add("src/test/resources/oxm/business_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/common_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
+ files13.add("src/test/resources/oxm/network_oxm_v13.xml");
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(new SchemaVersion("v11"), files11);
- input.put(new SchemaVersion("v13"), files13);
- return input;
- }
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(new SchemaVersion("v11"), files11);
+ input.put(new SchemaVersion("v13"), files13);
+ return input;
+ }
- @Override
- public Map<SchemaVersion, List<String>> getEdgeFiles() {
- List<String> files = new ArrayList<>();
- files.add("src/test/resources/dbedgerules/test.json");
- files.add("src/test/resources/dbedgerules/test2.json");
- Map<SchemaVersion, List<String>> input = new TreeMap<>();
- input.put(schemaVersions.getDefaultVersion(), files);
+ @Override
+ public Map<SchemaVersion, List<String>> getEdgeFiles() {
+ List<String> files = new ArrayList<>();
+ files.add("src/test/resources/dbedgerules/test.json");
+ files.add("src/test/resources/dbedgerules/test2.json");
+ Map<SchemaVersion, List<String>> input = new TreeMap<>();
+ input.put(schemaVersions.getDefaultVersion(), files);
- List<String> files2 = new ArrayList<>();
- files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
- input.put(new SchemaVersion("v10"), files2);
- List<String> files3 = new ArrayList<>();
- files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json");
- input.put(new SchemaVersion("v11"), files3);
+ List<String> files2 = new ArrayList<>();
+ files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+ input.put(new SchemaVersion("v10"), files2);
+ List<String> files3 = new ArrayList<>();
+ files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json");
+ input.put(new SchemaVersion("v11"), files3);
- return input;
- }
+ return input;
+ }
}