* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.parsers.query;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+
import org.eclipse.persistence.dynamic.DynamicEntity;
import org.eclipse.persistence.jaxb.UnmarshallerProperties;
import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
import org.onap.aai.exceptions.AAIException;
import org.onap.aai.introspection.*;
import org.onap.aai.nodes.NodeIngestor;
-import org.onap.aai.setup.SchemaVersion;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.JanusGraphDBEngine;
+import org.onap.aai.serialization.engines.QueryStyle;
import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.junit.Assert.assertEquals;
+import org.onap.aai.setup.SchemaVersion;
+import org.springframework.beans.factory.annotation.Autowired;
@Ignore
public class RelationshipGremlinQueryTest extends AAISetup {
public ExpectedException thrown = ExpectedException.none();
@Before
- public void setup(){
+ public void setup() {
version = new SchemaVersion("v10");
- dbEngine =
- new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
- loaderFactory.createLoaderForVersion(ModelType.MOXY, version),
- false);
+ dbEngine = new JanusGraphDBEngine(QueryStyle.GREMLIN_TRAVERSAL,
+ loaderFactory.createLoaderForVersion(ModelType.MOXY, version), false);
}
/**
@Test
public void parentQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"pserver\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"pserver.hostname\","
- + "\"relationship-value\" : \"key1\""
- + "}]"
- + "}";
+ String content = "{" + "\"related-to\" : \"pserver\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\"," + "\"relationship-value\" : \"key1\"" + "}]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal to normal query",
- expected,
+ String expected = ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal to normal query", expected,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be pserver",
- "pserver",
- query.getResultType());
+ assertEquals("result type should be pserver", "pserver", query.getResultType());
}
*/
@Test
public void childQuery() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"lag-interface\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"pserver.hostname\","
- + "\"relationship-value\" : \"key1\""
- + "}, {"
- + "\"relationship-key\" : \"lag-interface.interface-name\","
- + "\"relationship-value\" : \"key2\""
- + "}]"
- + "}";
+ String content = "{" + "\"related-to\" : \"lag-interface\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"pserver.hostname\"," + "\"relationship-value\" : \"key1\"" + "}, {"
+ + "\"relationship-key\" : \"lag-interface.interface-name\"," + "\"relationship-value\" : \"key2\""
+ + "}]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected = ".has('hostname', 'key1').has('aai-node-type', 'pserver').in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
- + ".has('interface-name', 'key2')";
- String parentExpected =
- ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
- assertEquals(
- "gremlin query should be for node",
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be for parent",
- parentExpected,
+ String expected =
+ ".has('hostname', 'key1').has('aai-node-type', 'pserver').in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2')";
+ String parentExpected = ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+ assertEquals("gremlin query should be for node", expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be for parent", parentExpected,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be lag-interface",
- "lag-interface",
- query.getResultType());
+ assertEquals("result type should be lag-interface", "lag-interface", query.getResultType());
}
/**
*/
@Test
public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"cvlan-tag\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"vce.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "}, {"
- + "\"relationship-key\" : \"port-group.interface-id\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
- + "\"relationship-value\" : \"655\""
- + "}]"
- + "}";
+ String content = "{" + "\"related-to\" : \"cvlan-tag\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vce.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "}, {"
+ + "\"relationship-key\" : \"port-group.interface-id\"," + "\"relationship-value\" : \"key2\"" + "},{"
+ + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\"," + "\"relationship-value\" : \"655\"" + "}]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ String expected = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ ".has('cvlan-tag', 655)";
- String expectedParent =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
- + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
- + ".has('interface-id', 'key2')";
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for port group",
- expectedParent,
+ String expectedParent = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for port group", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be cvlan-tag",
- "cvlan-tag",
- query.getResultType());
+ assertEquals("result type should be cvlan-tag", "cvlan-tag", query.getResultType());
}
*/
@Test
public void scrambledRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"l3-interface-ipv4-address-list\","
- + "\"relationship-data\" : [{"
+ String content = "{" + "\"related-to\" : \"l3-interface-ipv4-address-list\"," + "\"relationship-data\" : [{"
+ "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
- + "\"relationship-value\" : \"key5\""
- + "},{"
- + "\"relationship-key\" : \"lag-interface.interface-name\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"l-interface.interface-name\","
- + "\"relationship-value\" : \"key3\""
- + "},{"
- + "\"relationship-key\" : \"vlan.vlan-interface\","
- + "\"relationship-value\" : \"key4\""
- + "},{"
- + "\"relationship-key\" : \"generic-vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "}]"
+ + "\"relationship-value\" : \"key5\"" + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\"," + "\"relationship-value\" : \"key2\""
+ + "},{" + "\"relationship-key\" : \"l-interface.interface-name\"," + "\"relationship-value\" : \"key3\""
+ + "},{" + "\"relationship-key\" : \"vlan.vlan-interface\"," + "\"relationship-value\" : \"key4\""
+ + "},{" + "\"relationship-key\" : \"generic-vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "}]"
+ "}";
scrambledRelationshipSpec(content);
}
*/
@Test
public void reversedRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"l3-interface-ipv4-address-list\","
- + "\"relationship-data\" : [{"
+ String content = "{" + "\"related-to\" : \"l3-interface-ipv4-address-list\"," + "\"relationship-data\" : [{"
+ "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
- + "\"relationship-value\" : \"key5\""
- + "},{"
- + "\"relationship-key\" : \"vlan.vlan-interface\","
- + "\"relationship-value\" : \"key4\""
- + "},{"
- + "\"relationship-key\" : \"l-interface.interface-name\","
- + "\"relationship-value\" : \"key3\""
- + "},{"
- + "\"relationship-key\" : \"lag-interface.interface-name\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"generic-vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "}]"
+ + "\"relationship-value\" : \"key5\"" + "},{" + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\"" + "},{" + "\"relationship-key\" : \"l-interface.interface-name\","
+ + "\"relationship-value\" : \"key3\"" + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\"," + "\"relationship-value\" : \"key2\""
+ + "},{" + "\"relationship-key\" : \"generic-vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "}]"
+ "}";
scrambledRelationshipSpec(content);
}
*/
@Test
public void orderedAmbiguousRelationship() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"l3-interface-ipv4-address-list\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"generic-vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "},{"
- + "\"relationship-key\" : \"lag-interface.interface-name\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"l-interface.interface-name\","
- + "\"relationship-value\" : \"key3\""
- + "},{"
- + "\"relationship-key\" : \"vlan.vlan-interface\","
- + "\"relationship-value\" : \"key4\""
- + "},{"
- + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
- + "\"relationship-value\" : \"key5\""
- + "}]"
- + "}";
+ String content = "{" + "\"related-to\" : \"l3-interface-ipv4-address-list\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\"," + "\"relationship-value\" : \"key2\""
+ + "},{" + "\"relationship-key\" : \"l-interface.interface-name\"," + "\"relationship-value\" : \"key3\""
+ + "},{" + "\"relationship-key\" : \"vlan.vlan-interface\"," + "\"relationship-value\" : \"key4\""
+ + "},{" + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\"" + "}]" + "}";
scrambledRelationshipSpec(content);
}
* @throws UnsupportedEncodingException the unsupported encoding exception
* @throws AAIException the AAI exception
*/
- public void scrambledRelationshipSpec(String content) throws JAXBException, UnsupportedEncodingException, AAIException {
-
+ public void scrambledRelationshipSpec(String content)
+ throws JAXBException, UnsupportedEncodingException, AAIException {
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
+ String expected = ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
+ ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'lag-interface')"
+ ".has('interface-name', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l-interface')"
+ ".has('interface-name', 'key3').out('tosca.relationships.LinksTo').has('aai-node-type', 'vlan')"
+ ".has('vlan-interface', 'key4').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l3-interface-ipv4-address-list')"
+ ".has('l3-interface-ipv4-address', 'key5')";
- String expectedParent =
- ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
- + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'lag-interface')"
- + ".has('interface-name', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l-interface')"
- + ".has('interface-name', 'key3').out('tosca.relationships.LinksTo').has('aai-node-type', 'vlan')"
- + ".has('vlan-interface', 'key4')";
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for vlan",
- expectedParent,
+ String expectedParent = ".has('vnf-id', 'key1').has('aai-node-type', 'generic-vnf')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'lag-interface')"
+ + ".has('interface-name', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'l-interface')"
+ + ".has('interface-name', 'key3').out('tosca.relationships.LinksTo').has('aai-node-type', 'vlan')"
+ + ".has('vlan-interface', 'key4')";
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for vlan", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be l3-interface-ipv4-address-list",
- "l3-interface-ipv4-address-list",
+ assertEquals("result type should be l3-interface-ipv4-address-list", "l3-interface-ipv4-address-list",
query.getResultType());
}
*/
@Test
public void shortCircuit() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"cvlan-tag\","
+ String content = "{" + "\"related-to\" : \"cvlan-tag\","
+ "\"related-link\" : \"http://mock-system-name.com:8443/aai/v6/network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"vce.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "}, {"
- + "\"relationship-key\" : \"port-group.interface-id\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
- + "\"relationship-value\" : \"655\""
- + "}]"
- + "}";
+ + "\"relationship-data\" : [{" + "\"relationship-key\" : \"vce.vnf-id\","
+ + "\"relationship-value\" : \"key1\"" + "}, {" + "\"relationship-key\" : \"port-group.interface-id\","
+ + "\"relationship-value\" : \"key2\"" + "},{" + "\"relationship-key\" : \"cvlan-tag.cvlan-tag\","
+ + "\"relationship-value\" : \"655\"" + "}]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ String expected = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ ".has('cvlan-tag', 655)";
- String expectedParent =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
- + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
- + ".has('interface-id', 'key2')";
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for port group",
- expectedParent,
+ String expectedParent = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for port group", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be cvlan-tag",
- "cvlan-tag",
- query.getResultType());
+ assertEquals("result type should be cvlan-tag", "cvlan-tag", query.getResultType());
}
@Test
public void shorterCircuit() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"cvlan-tag\","
+ String content = "{" + "\"related-to\" : \"cvlan-tag\","
+ "\"related-link\" : \"file:///network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655\""
+ "}";
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ String expected = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ ".has('interface-id', 'key2').in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+ ".has('cvlan-tag', 655)";
- String expectedParent =
- ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
- + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
- + ".has('interface-id', 'key2')";
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for port group",
- expectedParent,
+ String expectedParent = ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+ + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+ + ".has('interface-id', 'key2')";
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for port group", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be cvlan-tag",
- "cvlan-tag",
- query.getResultType());
+ assertEquals("result type should be cvlan-tag", "cvlan-tag", query.getResultType());
}
*/
@Test
public void doubleKey() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"ctag-pool\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"complex.physical-location-id\","
- + "\"relationship-value\" : \"key1\""
- + " }, { "
- + "\"relationship-key\" : \"ctag-pool.target-pe\","
- + " \"relationship-value\" : \"key2\""
- + " },{"
- + "\"relationship-key\" : \"ctag-pool.availability-zone-name\","
- + "\"relationship-value\" : \"key3\""
- + "}]"
- + "}";
-
+ String content = "{" + "\"related-to\" : \"ctag-pool\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"complex.physical-location-id\"," + "\"relationship-value\" : \"key1\""
+ + " }, { " + "\"relationship-key\" : \"ctag-pool.target-pe\"," + " \"relationship-value\" : \"key2\""
+ + " },{" + "\"relationship-key\" : \"ctag-pool.availability-zone-name\","
+ + "\"relationship-value\" : \"key3\"" + "}]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')"
+ String expected = ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')"
+ ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'ctag-pool')"
- + ".has('target-pe', 'key2')"
- + ".has('availability-zone-name', 'key3')";
- String expectedParent =
- ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')";
-
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for port group",
- expectedParent,
+ + ".has('target-pe', 'key2')" + ".has('availability-zone-name', 'key3')";
+ String expectedParent = ".has('physical-location-id', 'key1').has('aai-node-type', 'complex')";
+
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for port group", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be ctag-pool",
- "ctag-pool",
- query.getResultType());
+ assertEquals("result type should be ctag-pool", "ctag-pool", query.getResultType());
}
*/
@Test
public void abstractType() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"vnf\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + " }]"
- + "}";
-
+ String content = "{" + "\"related-to\" : \"vnf\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + " }]" + "}";
Unmarshaller unmarshaller = context.createUnmarshaller();
unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, "application/json");
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
QueryParser query = dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
- String expected =
- ".has('vnf-id', 'key1')"
- + ".has('aai-node-type', P.within('vce','generic-vnf'))";
-
- String expectedParent =
- ".has('vnf-id', 'key1')"
- + ".has('aai-node-type', P.within('vce','generic-vnf'))";
-
- assertEquals(
- "gremlin query should be " + expected,
- expected,
- query.getQueryBuilder().getQuery());
- assertEquals(
- "parent gremlin query should be equal the query for port group",
- expectedParent,
+ String expected = ".has('vnf-id', 'key1')" + ".has('aai-node-type', P.within('vce','generic-vnf'))";
+
+ String expectedParent = ".has('vnf-id', 'key1')" + ".has('aai-node-type', P.within('vce','generic-vnf'))";
+
+ assertEquals("gremlin query should be " + expected, expected, query.getQueryBuilder().getQuery());
+ assertEquals("parent gremlin query should be equal the query for port group", expectedParent,
query.getQueryBuilder().getParentQuery().getQuery());
- assertEquals(
- "result type should be vnf",
- "vnf",
- query.getResultType());
+ assertEquals("result type should be vnf", "vnf", query.getResultType());
}
*/
@Test
public void invalidNodeName() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"l3-interface-ipv4-address-list\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"generic-vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "},{"
- + "\"relationship-key\" : \"lag-interface.interface-name\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"l-infeaterface.interface-name\","
- + "\"relationship-value\" : \"key3\""
- + "},{"
- + "\"relationship-key\" : \"vlan.vlan-interface\","
- + "\"relationship-value\" : \"key4\""
- + "},{"
+ String content = "{" + "\"related-to\" : \"l3-interface-ipv4-address-list\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "},{"
+ + "\"relationship-key\" : \"lag-interface.interface-name\"," + "\"relationship-value\" : \"key2\""
+ + "},{" + "\"relationship-key\" : \"l-infeaterface.interface-name\","
+ + "\"relationship-value\" : \"key3\"" + "},{" + "\"relationship-key\" : \"vlan.vlan-interface\","
+ + "\"relationship-value\" : \"key4\"" + "},{"
+ "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
- + "\"relationship-value\" : \"key5\""
- + "}]"
- + "}";
+ + "\"relationship-value\" : \"key5\"" + "}]" + "}";
thrown.expect(AAIException.class);
thrown.expectMessage(containsString("invalid object name"));
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);
*/
@Test
public void invalidPropertyName() throws JAXBException, UnsupportedEncodingException, AAIException {
- String content =
- "{"
- + "\"related-to\" : \"l3-interface-ipv4-address-list\","
- + "\"relationship-data\" : [{"
- + "\"relationship-key\" : \"generic-vnf.vnf-id\","
- + "\"relationship-value\" : \"key1\""
- + "},{"
- + "\"relationship-key\" : \"lag-interface.intfdaferface-name\","
- + "\"relationship-value\" : \"key2\""
- + "},{"
- + "\"relationship-key\" : \"l-interface.interface-name\","
- + "\"relationship-value\" : \"key3\""
- + "},{"
- + "\"relationship-key\" : \"vlan.vlan-interface\","
- + "\"relationship-value\" : \"key4\""
- + "},{"
- + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
- + "\"relationship-value\" : \"key5\""
- + "}]"
- + "}";
+ String content = "{" + "\"related-to\" : \"l3-interface-ipv4-address-list\"," + "\"relationship-data\" : [{"
+ + "\"relationship-key\" : \"generic-vnf.vnf-id\"," + "\"relationship-value\" : \"key1\"" + "},{"
+ + "\"relationship-key\" : \"lag-interface.intfdaferface-name\"," + "\"relationship-value\" : \"key2\""
+ + "},{" + "\"relationship-key\" : \"l-interface.interface-name\"," + "\"relationship-value\" : \"key3\""
+ + "},{" + "\"relationship-key\" : \"vlan.vlan-interface\"," + "\"relationship-value\" : \"key4\""
+ + "},{" + "\"relationship-key\" : \"l3-interface-ipv4-address-list.l3-interface-ipv4-address\","
+ + "\"relationship-value\" : \"key5\"" + "}]" + "}";
thrown.expect(AAIException.class);
thrown.expectMessage(containsString("invalid property name"));
unmarshaller.setProperty(UnmarshallerProperties.JSON_WRAPPER_AS_ARRAY_NAME, true);
Object obj = context.newDynamicEntity("Relationship");
- DynamicEntity entity = (DynamicEntity)unmarshaller.unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
+ DynamicEntity entity = (DynamicEntity) unmarshaller
+ .unmarshal(new StreamSource(new StringReader(content)), obj.getClass()).getValue();
Introspector wrappedObj = IntrospectorFactory.newInstance(ModelType.MOXY, entity);
dbEngine.getQueryBuilder().createQueryFromRelationship(wrappedObj);