Update traversal from AJSC 2 to Spring Boot
[aai/traversal.git] / aai-traversal / src / test / java / org / onap / aai / rest / search / GetCustomQueryConfigTest.java
1 package org.onap.aai.rest.search;
2
3 import static org.junit.Assert.*;
4
5 import java.util.ArrayList;
6
7 import org.junit.Before;
8 import org.junit.Test;
9
10 import com.google.common.collect.Lists;
11
12 public class GetCustomQueryConfigTest {
13
14         private String configJson;
15         
16         @Before
17         public void setUp() throws Exception {
18                 System.setProperty("AJSC_HOME", ".");
19                 System.setProperty("BUNDLECONFIG_DIR", "src/main/resources");
20                 
21
22                 configJson = "{\n       \"stored-queries\": [{\n" +
23                                 "               \"queryName1\": {\n                     \"query\": {\n                          \"required-properties\": [\"prop1\", \"prop2\"],\n                              \"optional-properties\": [\"prop3\", \"prop4\"]\n                       },\n                    \"stored-query\": \"out('blah').has('something','foo')\"\n              }\n     }, {\n" +
24                                 "               \"queryName2\": {\n                     \"query\": {\n                          \"optional-properties\": [\"prop5\"]\n                  },\n                    \"stored-query\": \"out('bar').has('stuff','baz')\"\n           }\n     }, {\n" +
25                                 "               \"queryName3\": {\n                     \"stored-query\": \"out('bar1').has('stuff','baz1')\"\n         }\n     }]\n}";
26         }
27
28
29         @Test
30         public void testGetStoredQueryNameWithOptAndReqProps() {
31                 
32                 GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
33                 CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName1");
34
35                 assertEquals(Lists.newArrayList("prop3", "prop4"), cqc.getQueryOptionalProperties());
36                 assertEquals(Lists.newArrayList("prop1", "prop2"), cqc.getQueryRequiredProperties());
37                 assertEquals("out('blah').has('something','foo')", cqc.getQuery());
38
39         }
40
41         @Test
42         public void testGetStoredQueryNameWithOptProps() {
43                 
44                 GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
45                 CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName2");
46
47                 assertEquals(Lists.newArrayList("prop5"), cqc.getQueryOptionalProperties());
48                 assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
49                 assertEquals("out('bar').has('stuff','baz')", cqc.getQuery());
50
51         }
52
53         @Test
54         public void testGetStoredQueryNameWithNoProps() {
55                 
56                 GetCustomQueryConfig getCustomQueryConfig = new GetCustomQueryConfig(configJson);
57                 CustomQueryConfig cqc = getCustomQueryConfig.getStoredQuery("queryName3");
58
59                 assertEquals(new ArrayList<String>(), cqc.getQueryOptionalProperties());
60                 assertEquals(new ArrayList<String>(), cqc.getQueryRequiredProperties());
61                 assertEquals("out('bar1').has('stuff','baz1')", cqc.getQuery());
62
63         }
64 }