diff options
Diffstat (limited to 'aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java')
-rw-r--r-- | aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java b/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java new file mode 100644 index 0000000..cab4ad0 --- /dev/null +++ b/aai-traversal/src/test/java/org/onap/aai/rest/search/IpsNetworksFromVnfTest.java @@ -0,0 +1,200 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.aai + * ================================================================================ + * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.aai.rest.search; + +import java.util.Map; + +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal; +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource; +import org.apache.tinkerpop.gremlin.structure.T; +import org.apache.tinkerpop.gremlin.structure.Vertex; +import org.junit.Test; +import org.junit.Ignore; +import org.onap.aai.exceptions.AAIException; +import org.onap.aai.serialization.db.exceptions.NoEdgeRuleFoundException; + +public class IpsNetworksFromVnfTest extends QueryTest { + + public IpsNetworksFromVnfTest() throws AAIException, NoEdgeRuleFoundException { + super(); + } + + @Ignore + @Test + public void run() { + super.run(); + } + + @Override + protected void createGraph() throws AAIException, NoEdgeRuleFoundException { + Vertex genericVnf = graph.addVertex(T.label, "generic-vnf",T.id, "0", "aai-node-type", "generic-vnf", "generic-vnf-id", "serviceinstanceid0"); + Vertex vnfc = graph.addVertex(T.label, "vnfc",T.id, "1", "aai-node-type", "vnfc","vnfc-id", "vnfcId1"); + Vertex cp = graph.addVertex(T.label, "cp",T.id, "30", "aai-node-type", "cp","cp-id", "cpId1"); + Vertex vipIpv4AddressList = graph.addVertex(T.label, "vip-ipv4-address-list",T.id, "2", "aai-node-type", "vip-ipv4-address-list","vip-ipv4-address-list-id", "vip-ipv4-address-listId2"); + Vertex vipIpv6AddressList = graph.addVertex(T.label, "vip-ipv6-address-list",T.id, "3", "aai-node-type", "vip-ipv6-address-list","vip-ipv6-address-list-id", "vip-ipv6-address-listId3"); + + + Vertex subnetIpv4 = graph.addVertex(T.label, "subnet",T.id, "7", "aai-node-type", "subnet","subnet-id", "subnetId7"); + Vertex l3Network1Ipv4 = graph.addVertex(T.label, "l3-network",T.id, "8", "aai-node-type", "l3-network","l3-network-id", "l3-networkId8"); + + Vertex subnetIpv6 = graph.addVertex(T.label, "subnet",T.id, "10", "aai-node-type", "subnet","subnet-id", "subnetId10"); + Vertex l3Network1Ipv6 = graph.addVertex(T.label, "l3-network",T.id, "11", "aai-node-type", "l3-network","l3-network-id", "l3-networkId11"); + + Vertex vserver = graph.addVertex(T.label, "vserver",T.id, "18", "aai-node-type", "vserver","vserver-id", "vserverId18"); + Vertex linterface = graph.addVertex(T.label, "l-interface",T.id, "19", "aai-node-type", "l-interface","l-interface-id", "l-interfaceId19"); + Vertex pserver = graph.addVertex(T.label, "pserver",T.id, "20", "aai-node-type", "pserver","pserver-id", "pserverId20"); + + + Vertex l3NetworklintIpv4 = graph.addVertex(T.label, "l3-network",T.id, "21", "aai-node-type", "l3-network","l3-network-id", "l3-networkId21"); + Vertex subnetlintIpv4 = graph.addVertex(T.label, "subnet",T.id, "22", "aai-node-type", "subnet","subnet-id", "subnetId22"); + Vertex l3Network1lintIpv4 = graph.addVertex(T.label, "l3-network",T.id, "23", "aai-node-type", "l3-network","l3-network-id", "l3-networkId23"); + + Vertex l3NetworklintIpv6 = graph.addVertex(T.label, "l3-network",T.id, "24", "aai-node-type", "l3-network","l3-network-id", "l3-networkId24"); + Vertex subnetlintIpv6 = graph.addVertex(T.label, "subnet",T.id, "25", "aai-node-type", "subnet","subnet-id", "subnetId25"); + Vertex l3Network1lintIpv6 = graph.addVertex(T.label, "l3-network",T.id, "26", "aai-node-type", "l3-network","l3-network-id", "l3-networkId26"); + + + Vertex l3InterfaceIpv4AddressListLint = graph.addVertex(T.label, "l3-interface-ipv4-address-list",T.id, "27", "aai-node-type", "l3-interface-ipv4-address-list","l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-listId27"); + Vertex l3InterfaceIpv6AddressListlInt = graph.addVertex(T.label, "l3-interface-ipv6-address-list",T.id, "28", "aai-node-type", "l3-interface-ipv6-address-list","l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-listId28"); + + + Vertex complex = graph.addVertex(T.label, "complex",T.id, "29", "aai-node-type", "complex","complex-id", "complexId29"); + + + + Vertex genericVnf1 = graph.addVertex(T.label, "generic-vnf",T.id, "31", "aai-node-type", "generic-vnf", "generic-vnf-id", "serviceinstanceid1"); + Vertex vnfc1 = graph.addVertex(T.label, "vnfc",T.id, "32", "aai-node-type", "vnfc","vnfc-id", "vnfcId2"); + Vertex cp1 = graph.addVertex(T.label, "cp",T.id, "33", "aai-node-type", "cp","cp-id", "cpId3"); + Vertex vipIpv4AddressList1 = graph.addVertex(T.label, "vip-ipv4-address-list",T.id, "34", "aai-node-type", "vip-ipv4-address-list","vip-ipv4-address-list-id", "vip-ipv4-address-listId4"); + Vertex vipIpv6AddressList1 = graph.addVertex(T.label, "vip-ipv6-address-list",T.id, "35", "aai-node-type", "vip-ipv6-address-list","vip-ipv6-address-list-id", "vip-ipv6-address-listId5"); + Vertex subnetIpv41 = graph.addVertex(T.label, "subnet",T.id, "36", "aai-node-type", "subnet","subnet-id", "subnetId6"); + Vertex l3Network1Ipv41 = graph.addVertex(T.label, "l3-network",T.id, "37", "aai-node-type", "l3-network","l3-network-id", "l3-networkId7"); + Vertex subnetIpv61 = graph.addVertex(T.label, "subnet",T.id, "38", "aai-node-type", "subnet","subnet-id", "subnetId8"); + Vertex l3Network1Ipv61 = graph.addVertex(T.label, "l3-network",T.id, "39", "aai-node-type", "l3-network","l3-network-id", "l3-networkId9"); + Vertex vserver1 = graph.addVertex(T.label, "vserver",T.id, "40", "aai-node-type", "vserver","vserver-id", "vserverId10"); + Vertex linterface1 = graph.addVertex(T.label, "l-interface",T.id, "41", "aai-node-type", "l-interface","l-interface-id", "l-interfaceId11"); + Vertex pserver1 = graph.addVertex(T.label, "pserver",T.id, "42", "aai-node-type", "pserver","pserver-id", "pserverId12"); + Vertex l3NetworklintIpv41 = graph.addVertex(T.label, "l3-network",T.id, "43", "aai-node-type", "l3-network","l3-network-id", "l3-networkId13"); + Vertex subnetlintIpv41 = graph.addVertex(T.label, "subnet",T.id, "44", "aai-node-type", "subnet","subnet-id", "subnetId14"); + Vertex l3Network1lintIpv41 = graph.addVertex(T.label, "l3-network",T.id, "45", "aai-node-type", "l3-network","l3-network-id", "l3-networkId15"); + Vertex l3NetworklintIpv61 = graph.addVertex(T.label, "l3-network",T.id, "46", "aai-node-type", "l3-network","l3-network-id", "l3-networkId16"); + Vertex subnetlintIpv61 = graph.addVertex(T.label, "subnet",T.id, "47", "aai-node-type", "subnet","subnet-id", "subnetId17"); + Vertex l3Network1lintIpv61 = graph.addVertex(T.label, "l3-network",T.id, "48", "aai-node-type", "l3-network","l3-network-id", "l3-networkId18"); + Vertex l3InterfaceIpv4AddressListLint1 = graph.addVertex(T.label, "l3-interface-ipv4-address-list",T.id, "49", "aai-node-type", "l3-interface-ipv4-address-list","l3-interface-ipv4-address-list-id", "l3-interface-ipv4-address-listId19"); + Vertex l3InterfaceIpv6AddressListlInt1 = graph.addVertex(T.label, "l3-interface-ipv6-address-list",T.id, "50", "aai-node-type", "l3-interface-ipv6-address-list","l3-interface-ipv6-address-list-id", "l3-interface-ipv6-address-listId20"); + Vertex complex1 = graph.addVertex(T.label, "complex",T.id, "51", "aai-node-type", "complex","complex-id", "complexId21"); + + + GraphTraversalSource g = graph.traversal(); + + rules.addEdge(g, genericVnf,vnfc); + rules.addTreeEdge(g, vnfc,cp); + rules.addEdge(g, cp,vipIpv4AddressList); + rules.addEdge(g, cp,vipIpv6AddressList); + + rules.addEdge(g, vipIpv4AddressList,subnetIpv4); + rules.addTreeEdge(g, subnetIpv4,l3Network1Ipv4); + + rules.addEdge(g, vipIpv6AddressList,subnetIpv6); + rules.addTreeEdge(g, subnetIpv6,l3Network1Ipv6); + + rules.addEdge(g, genericVnf,vserver); + rules.addEdge(g, vserver,pserver); + + rules.addTreeEdge(g, cp,l3InterfaceIpv4AddressListLint); + rules.addTreeEdge(g, cp,l3InterfaceIpv6AddressListlInt); + + rules.addEdge(g, l3InterfaceIpv4AddressListLint,l3NetworklintIpv4); + rules.addEdge(g, l3InterfaceIpv4AddressListLint,subnetlintIpv4); + rules.addTreeEdge(g, subnetlintIpv4,l3Network1lintIpv4); + + rules.addEdge(g, l3InterfaceIpv6AddressListlInt,l3NetworklintIpv6); + rules.addEdge(g, l3InterfaceIpv6AddressListlInt,subnetlintIpv6); + rules.addTreeEdge(g, subnetlintIpv6,l3Network1lintIpv6); + + rules.addEdge(g, pserver,complex); + + //false + rules.addEdge(g, genericVnf1,vnfc1); + rules.addTreeEdge(g, vnfc1,cp1); + rules.addEdge(g, cp1,vipIpv4AddressList1); + rules.addEdge(g, cp1,vipIpv6AddressList1); + rules.addEdge(g, vipIpv4AddressList1,subnetIpv41); + rules.addTreeEdge(g, subnetIpv41,l3Network1Ipv41); + rules.addEdge(g, vipIpv6AddressList1,subnetIpv61); + rules.addTreeEdge(g, subnetIpv61,l3Network1Ipv61); + rules.addEdge(g, genericVnf1,vserver1); + rules.addEdge(g, vserver1,pserver1); + rules.addTreeEdge(g, cp1,l3InterfaceIpv4AddressListLint1); + rules.addTreeEdge(g, cp1,l3InterfaceIpv6AddressListlInt1); + rules.addEdge(g, l3InterfaceIpv4AddressListLint1,l3NetworklintIpv41); + rules.addEdge(g, l3InterfaceIpv4AddressListLint1,subnetlintIpv41); + rules.addTreeEdge(g, subnetlintIpv41,l3Network1lintIpv41); + rules.addEdge(g, l3InterfaceIpv6AddressListlInt1,l3NetworklintIpv61); + rules.addEdge(g, l3InterfaceIpv6AddressListlInt1,subnetlintIpv61); + rules.addTreeEdge(g, subnetlintIpv61,l3Network1lintIpv61); + rules.addEdge(g, pserver1,complex1); + //false + + expectedResult.add(genericVnf); + expectedResult.add(vnfc); + expectedResult.add(vipIpv4AddressList); + expectedResult.add(vipIpv6AddressList); + + expectedResult.add(subnetIpv4); + expectedResult.add(l3Network1Ipv4); + + expectedResult.add(subnetIpv6); + expectedResult.add(l3Network1Ipv6); + + expectedResult.add(l3InterfaceIpv4AddressListLint); + expectedResult.add(l3InterfaceIpv6AddressListlInt); + + expectedResult.add(l3NetworklintIpv4); + expectedResult.add(subnetlintIpv4); + expectedResult.add(l3Network1lintIpv4); + + expectedResult.add(l3NetworklintIpv6); + expectedResult.add(subnetlintIpv6); + expectedResult.add(l3Network1lintIpv6); + + expectedResult.add(vserver); + expectedResult.add(pserver); + expectedResult.add(complex); + + } + + @Override + protected String getQueryName() { + return "ips-networks-fromVnf"; + } + + @Override + protected void addStartNode(GraphTraversal<Vertex, Vertex> g) { + g.has("aai-node-type", "generic-vnf").has("generic-vnf-id", "serviceinstanceid0"); + } + + @Override + protected void addParam(Map<String, Object> params) { + return; + } + + +} |