- //set thrown.expect to whatever a specific test needs
- //this establishes a default of expecting no exceptions to be thrown
- @Rule
- public ExpectedException thrown = ExpectedException.none();
-
- @Test
- public void verifyOutDirection() throws AAIException, NoEdgeRuleFoundException {
- EdgeRules rules = EdgeRules.getInstance();
- EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "cloud-region", "flavor");
-
- assertEquals("out direction", rule.getDirection(), Direction.IN);
- }
-
- @Test
- public void verifyOutFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
- EdgeRules rules = EdgeRules.getInstance();
- EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "flavor", "cloud-region");
-
- assertEquals("in direction", rule.getDirection(), Direction.OUT);
- }
-
- @Test
- public void verifyInDirection() throws AAIException, NoEdgeRuleFoundException {
- EdgeRules rules = EdgeRules.getInstance();
- EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-ver", "model-element");
-
- assertEquals("in direction", Direction.IN, rule.getDirection());
- }
-
- @Test
- public void verifyInFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
- EdgeRules rules = EdgeRules.getInstance();
- EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-element", "model-ver");
-
- assertEquals("out direction", Direction.OUT, rule.getDirection());
- }
- @Test
- public void verifyMultipleGet() throws AAIException {
- EdgeRules rules = EdgeRules.getInstance();
- Map<String, EdgeRule> ruleMap = rules.getEdgeRules("model-element", "model-ver");
- assertEquals("has isA rule", "org.onap.relationships.inventory.IsA",
- ruleMap.get("org.onap.relationships.inventory.IsA").getLabel());
- assertEquals("has startsWith rule", "org.onap.relationships.inventory.BelongsTo",
- ruleMap.get("org.onap.relationships.inventory.BelongsTo").getLabel());
- }
-
- @Test
- public void verifyMultipleGetSingleRule() throws AAIException {
- EdgeRules rules = EdgeRules.getInstance();
- Map<String, EdgeRule> ruleMap = rules.getEdgeRules("availability-zone", "complex");
-
- assertEquals("has org.onap.relationships.inventory.LocatedIn rule", "org.onap.relationships.inventory.LocatedIn",
- ruleMap.get("org.onap.relationships.inventory.LocatedIn").getLabel());
- }
-
- @Test
- public void verifyOldEdgeRule() throws AAIException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
- assertEquals(true, EdgeRules.getInstance().hasEdgeRule("model-element", "model-ver"));
- assertEquals(true, EdgeRules.getInstance(Version.v8).hasEdgeRule("pserver", "complex"));
- assertEquals(false, EdgeRules.getInstance(Version.v8).hasEdgeRule("model-element", "model-ver"));
- }
-
- @Test
- public void hasEdgeRuleTest() {
- assertEquals("true: cloud-region | tenant", true, EdgeRules.getInstance().hasEdgeRule("cloud-region", "tenant"));
- assertEquals("true: tenant | cloud-region", true, EdgeRules.getInstance().hasEdgeRule("tenant", "cloud-region"));
- assertEquals("true: pserver | complex", true, EdgeRules.getInstance().hasEdgeRule("pserver", "complex"));
- assertEquals("false: pserver | service", false, EdgeRules.getInstance().hasEdgeRule("pserver", "service"));
- }
-
- @Test
- public void hasTreeEdgeRuleTest() {
- assertEquals("true: cloud-region | tenant", true, EdgeRules.getInstance().hasTreeEdgeRule("cloud-region", "tenant"));
- assertEquals("true: tenant | cloud-region", true, EdgeRules.getInstance().hasTreeEdgeRule("tenant", "cloud-region"));
- assertEquals("false: pserver | complex", false, EdgeRules.getInstance().hasTreeEdgeRule("pserver", "complex"));
- assertEquals("true: service-instance | allotted-resource", true, EdgeRules.getInstance().hasTreeEdgeRule("service-instance", "allotted-resource"));
-
- }
-
- @Test
- public void hasCousinEdgeRuleTest() {
- assertEquals("false: cloud-region | tenant", false, EdgeRules.getInstance().hasCousinEdgeRule("cloud-region", "tenant", null));
- assertEquals("false: tenant | cloud-region", false, EdgeRules.getInstance().hasCousinEdgeRule("tenant", "cloud-region", null));
- assertEquals("true: pserver | complex", true, EdgeRules.getInstance().hasCousinEdgeRule("pserver", "complex", null));
- assertEquals("true: service-instance | allotted-resource", true, EdgeRules.getInstance().hasCousinEdgeRule("service-instance", "allotted-resource", null));
- assertEquals("true: logical-link | l-interface", true, EdgeRules.getInstance().hasCousinEdgeRule("logical-link", "l-interface", null));
- assertEquals("true: logical-link | l-interface : sourceLInterface", true, EdgeRules.getInstance().hasCousinEdgeRule("logical-link", "l-interface", "org.onap.relationships.inventory.Source"));
- assertEquals("true: logical-link | l-interface : targetLInterface", true, EdgeRules.getInstance().hasCousinEdgeRule("logical-link", "l-interface", "org.onap.relationships.inventory.Destination"));
- assertEquals("false: logical-link | l-interface : blah", false, EdgeRules.getInstance().hasCousinEdgeRule("logical-link", "l-interface", "blah"));
- }
-
- @Test
- public void hasEdgeRuleVertexTest() {
- Graph graph = TinkerGraph.open();
- Vertex v1 = graph.addVertex("aai-node-type", "cloud-region");
- Vertex v2 = graph.addVertex("aai-node-type", "tenant");
- assertEquals(true, EdgeRules.getInstance().hasEdgeRule(v1, v2));
- }
-
- @Test
- public void getEdgeRuleByTypeAndVertices() throws AAIException {
- Graph graph = TinkerGraph.open();
- Vertex v1 = graph.addVertex("aai-node-type", "cloud-region");
- Vertex v2 = graph.addVertex("aai-node-type", "tenant");
- EdgeRules rules = EdgeRules.getInstance();
- EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, v1, v2);
- assertEquals(true, "IN".equalsIgnoreCase(rule.getContains()));
- assertEquals(true, "NONE".equalsIgnoreCase(rule.getDeleteOtherV()));
- assertEquals(true, MultiplicityRule.MANY2ONE.equals(rule.getMultiplicityRule()));
- assertEquals(true, "IN".equalsIgnoreCase(rule.getPreventDelete()));
- }
-
- @Test
- public void addTreeEdgeTest() throws AAIException {
- Graph graph = TinkerGraph.open();
- Vertex v1 = graph.addVertex(T.id, "1", "aai-node-type", "cloud-region");
- Vertex v2 = graph.addVertex(T.id, "10", "aai-node-type", "tenant");
- EdgeRules rules = EdgeRules.getInstance();
- GraphTraversalSource g = graph.traversal();
- rules.addTreeEdge(g, v1, v2);
- assertEquals(true, g.V(v1).in("org.onap.relationships.inventory.BelongsTo").has("aai-node-type", "tenant").hasNext());
-
- Vertex v3 = graph.addVertex(T.id, "2", "aai-node-type", "cloud-region");
- assertEquals(null, rules.addTreeEdgeIfPossible(g, v3, v2));
- }