87f52eb2db3d02653a29960fff70496459d2f8cd
[aai/aai-common.git] / aai-core / src / test / java / org / openecomp / aai / serialization / db / EdgeRulesTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * org.openecomp.aai
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.aai.serialization.db;
22
23 import static org.junit.Assert.assertEquals;
24
25 import java.util.Map;
26
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;
34
35 @Ignore
36 public class EdgeRulesTest {
37
38         @BeforeClass
39         public static void setup() {
40                 System.setProperty("AJSC_HOME", ".");
41                 System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
42         }
43         
44         
45         @Test
46         public void verifyOutDirection() throws AAIException, NoEdgeRuleFoundException {
47                 EdgeRules rules = EdgeRules.getInstance();
48                 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "cloud-region", "flavor");
49                 
50                 assertEquals("out direction", rule.getDirection(), Direction.OUT);
51         }
52         
53         @Test
54         public void verifyOutFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
55                 EdgeRules rules = EdgeRules.getInstance();
56                 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "flavor", "cloud-region");
57                 
58                 assertEquals("in direction", rule.getDirection(), Direction.IN);
59         }
60         
61         @Test
62         public void verifyInDirection() throws AAIException, NoEdgeRuleFoundException {
63                 EdgeRules rules = EdgeRules.getInstance();
64                 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-ver", "model-element");
65                 
66                 assertEquals("in direction", rule.getDirection(), Direction.IN);
67         }
68         
69         @Test
70         public void verifyInFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
71                 EdgeRules rules = EdgeRules.getInstance();
72                 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-element", "model-ver");
73                 
74                 assertEquals("out direction", rule.getDirection(), Direction.OUT);
75         }
76         @Test
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());
82         }
83         
84         @Test
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());
89         }
90         
91         @Test
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"));
96         }
97         
98         @Test
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"));
102         }
103 }