2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.aai.serialization.db;
23 import static org.junit.Assert.assertEquals;
27 import org.apache.tinkerpop.gremlin.structure.Direction;
28 import org.junit.BeforeClass;
29 import org.junit.Ignore;
30 import org.junit.Test;
31 import org.openecomp.aai.exceptions.AAIException;
32 import org.openecomp.aai.introspection.Version;
33 import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
36 public class EdgeRulesTest {
39 public static void setup() {
40 System.setProperty("AJSC_HOME", ".");
41 System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
46 public void verifyOutDirection() throws AAIException, NoEdgeRuleFoundException {
47 EdgeRules rules = EdgeRules.getInstance();
48 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "cloud-region", "flavor");
50 assertEquals("out direction", rule.getDirection(), Direction.OUT);
54 public void verifyOutFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
55 EdgeRules rules = EdgeRules.getInstance();
56 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "flavor", "cloud-region");
58 assertEquals("in direction", rule.getDirection(), Direction.IN);
62 public void verifyInDirection() throws AAIException, NoEdgeRuleFoundException {
63 EdgeRules rules = EdgeRules.getInstance();
64 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-ver", "model-element");
66 assertEquals("in direction", rule.getDirection(), Direction.IN);
70 public void verifyInFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
71 EdgeRules rules = EdgeRules.getInstance();
72 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-element", "model-ver");
74 assertEquals("out direction", rule.getDirection(), Direction.OUT);
77 public void verifyMultipleGet() throws AAIException {
78 EdgeRules rules = EdgeRules.getInstance();
79 Map<String, EdgeRule> ruleMap = rules.getEdgeRules("model-element", "model-ver");
80 assertEquals("has isA rule", "isA", ruleMap.get("isA").getLabel());
81 assertEquals("has startsWith rule", "startsWith", ruleMap.get("startsWith").getLabel());
85 public void verifyMultipleGetSingleRule() throws AAIException {
86 EdgeRules rules = EdgeRules.getInstance();
87 Map<String, EdgeRule> ruleMap = rules.getEdgeRules("availability-zone", "complex");
88 assertEquals("has groupsResourcesIn rule", "groupsResourcesIn", ruleMap.get("groupsResourcesIn").getLabel());
92 public void verifyOldEdgeRule() throws AAIException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
93 assertEquals(true, EdgeRules.getInstance().hasEdgeRule("model-element", "model-ver"));
94 assertEquals(true, EdgeRules.getInstance(Version.v8).hasEdgeRule("pserver", "complex"));
95 assertEquals(false, EdgeRules.getInstance(Version.v8).hasEdgeRule("model-element", "model-ver"));
99 public void verifyOldEdgeDeleteSemantics() throws AAIException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
100 // assertEquals(DeleteSemantic.ERROR_4_IN_EDGES_OR_CASCADE, EdgeRules.getInstance().getDeleteSemantic("model"));
101 // assertEquals(DeleteSemantic.CASCADE_TO_CHILDREN, EdgeRules.getInstance(Version.v8).getDeleteSemantic("model"));