faa4d28e325136463d7dbcfe2cc8e2beccda6566
[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.Test;
30 import org.openecomp.aai.exceptions.AAIException;
31 import org.openecomp.aai.introspection.Version;
32 import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
33
34 public class EdgeRulesTest {
35
36         @BeforeClass
37         public static void setup() {
38                 System.setProperty("AJSC_HOME", ".");
39                 System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
40         }
41         
42         
43         @Test
44         public void verifyOutDirection() throws AAIException, NoEdgeRuleFoundException {
45                 EdgeRules rules = EdgeRules.getInstance();
46                 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "cloud-region", "flavor");
47                 
48                 assertEquals("out direction", rule.getDirection(), Direction.OUT);
49         }
50         
51         @Test
52         public void verifyOutFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
53                 EdgeRules rules = EdgeRules.getInstance();
54                 EdgeRule rule = rules.getEdgeRule(EdgeType.TREE, "flavor", "cloud-region");
55                 
56                 assertEquals("in direction", rule.getDirection(), Direction.IN);
57         }
58         
59         @Test
60         public void verifyInDirection() throws AAIException, NoEdgeRuleFoundException {
61                 EdgeRules rules = EdgeRules.getInstance();
62                 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-ver", "model-element");
63                 
64                 assertEquals("in direction", rule.getDirection(), Direction.IN);
65         }
66         
67         @Test
68         public void verifyInFlippedDirection() throws AAIException, NoEdgeRuleFoundException {
69                 EdgeRules rules = EdgeRules.getInstance();
70                 EdgeRule rule = rules.getEdgeRule(EdgeType.COUSIN, "model-element", "model-ver");
71                 
72                 assertEquals("out direction", rule.getDirection(), Direction.OUT);
73         }
74         @Test
75         public void verifyMultipleGet() throws AAIException {
76                 EdgeRules rules = EdgeRules.getInstance();
77                 Map<String, EdgeRule> ruleMap = rules.getEdgeRules("model-element", "model-ver");
78                 assertEquals("has isA rule", "isA", ruleMap.get("isA").getLabel());
79                 assertEquals("has startsWith rule", "startsWith", ruleMap.get("startsWith").getLabel());
80         }
81         
82         @Test
83         public void verifyMultipleGetSingleRule() throws AAIException {
84                 EdgeRules rules = EdgeRules.getInstance();
85                 Map<String, EdgeRule> ruleMap = rules.getEdgeRules("availability-zone", "complex");
86                 assertEquals("has groupsResourcesIn rule", "groupsResourcesIn", ruleMap.get("groupsResourcesIn").getLabel());
87         }
88         
89         @Test
90         public void verifyOldEdgeRule() throws AAIException, ClassNotFoundException, IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
91                 assertEquals(true, EdgeRules.getInstance().hasEdgeRule("model-element", "model-ver"));
92                 assertEquals(true, EdgeRules.getInstance(Version.v8).hasEdgeRule("pserver", "complex"));
93                 assertEquals(false, EdgeRules.getInstance(Version.v8).hasEdgeRule("model-element", "model-ver"));
94         }
95
96 }