ab4d5b9edbda28a8d94751a09ca5a07232a0c24d
[aai/search-data-service.git] / src / test / java / org / onap / aai / sa / searchdbabstraction / searchapi / RangeQueryTest.java
1 /**\r
2  * ============LICENSE_START=======================================================\r
3  * org.onap.aai\r
4  * ================================================================================\r
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.\r
6  * Copyright © 2017-2018 Amdocs\r
7  * ================================================================================\r
8  * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * you may not use this file except in compliance with the License.\r
10  * You may obtain a copy of the License at\r
11  *\r
12  *       http://www.apache.org/licenses/LICENSE-2.0\r
13  *\r
14  * Unless required by applicable law or agreed to in writing, software\r
15  * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * See the License for the specific language governing permissions and\r
18  * limitations under the License.\r
19  * ============LICENSE_END=========================================================\r
20  */\r
21 package org.onap.aai.sa.searchdbabstraction.searchapi;\r
22 \r
23 import com.fasterxml.jackson.databind.ObjectMapper;\r
24 import org.junit.Assert;\r
25 import org.junit.Test;\r
26 import org.onap.aai.sa.rest.TestUtils;\r
27 \r
28 import java.io.File;\r
29 import java.io.IOException;\r
30 import java.util.Date;\r
31 \r
32 public class RangeQueryTest {\r
33 \r
34     @Test(expected=IllegalArgumentException.class)\r
35     public void testSetGt(){\r
36 \r
37         RangeQuery rq = new RangeQuery();\r
38         rq.setLt(new String("2x"));\r
39         Assert.assertEquals("2x", rq.getLt());\r
40         Assert.assertNotNull(rq.toElasticSearch());\r
41         Assert.assertNotNull(rq.toString());\r
42         rq.setGt(new Integer(1));\r
43     }\r
44 \r
45     @Test(expected=IllegalArgumentException.class)\r
46     public void testSetGte(){\r
47 \r
48         RangeQuery rq = new RangeQuery();\r
49         rq.setGt(new Integer(1));\r
50         Assert.assertNotNull(rq.toElasticSearch());\r
51         Assert.assertNotNull(rq.toString());\r
52         rq.setGte(new Integer(1));\r
53     }\r
54 \r
55     @Test(expected=IllegalArgumentException.class)\r
56     public void testSetLt(){\r
57 \r
58         RangeQuery rq = new RangeQuery();\r
59         rq.setLt(new Integer(1));\r
60         rq.setFormat("format-1");\r
61         Assert.assertEquals(rq.getFormat(), "format-1");\r
62         Assert.assertNotNull(rq.toElasticSearch());\r
63         Assert.assertNotNull(rq.toString());\r
64 \r
65         rq.setGt(new Integer(1));\r
66         Assert.assertNotNull(rq.toElasticSearch());\r
67         Assert.assertNotNull(rq.toString());\r
68         rq.setLt(new String("10"));\r
69     }\r
70 \r
71     @Test(expected=IllegalArgumentException.class)\r
72     public void testSetLte(){\r
73         RangeQuery rq = new RangeQuery();\r
74         rq.setGt(new Integer(1));\r
75         rq.setTimeZone("CT");\r
76         Assert.assertEquals(rq.getTimeZone(), "CT");\r
77         Assert.assertNotNull(rq.toElasticSearch());\r
78         Assert.assertNotNull(rq.toString());\r
79 \r
80         rq.setLte(new String("10"));\r
81     }\r
82 \r
83     @Test\r
84     public void testSearchStatementAggregations() throws IOException {\r
85         File queryWithSubrangeFile = new File("src/test/resources/json/queries/query-with-subrange.json");\r
86         String queryWithSubrangeStr = TestUtils.readFileToString(queryWithSubrangeFile);\r
87 \r
88         ObjectMapper mapper = new ObjectMapper();\r
89         SearchStatement ss = mapper.readValue(queryWithSubrangeStr, SearchStatement.class);\r
90 \r
91         Aggregation a1 = getAggregationObject();\r
92         Aggregation a2 = getAggregationObject();\r
93         Aggregation[] aggs= new Aggregation[] {a1, a2};\r
94         ss.setAggregations(aggs);\r
95         Assert.assertNotNull(ss.toString());\r
96     }\r
97 \r
98     private Aggregation getAggregationObject(){\r
99         Aggregation a = new Aggregation();\r
100 \r
101         AggregationStatement as = new AggregationStatement();\r
102         DateHistogramAggregation dha = new DateHistogramAggregation();\r
103         dha.setField("field-1");\r
104         dha.setInterval("interval-1");\r
105         Assert.assertEquals(dha.getInterval(), "interval-1");\r
106         dha.setTimeZone("CT");\r
107         Assert.assertEquals(dha.getTimeZone(), "CT");\r
108         dha.setFormat("format-1");\r
109         Assert.assertEquals(dha.getFormat(), "format-1");\r
110         dha.setSize(10);\r
111         dha.setMinThreshold(1);\r
112         Assert.assertNotNull(dha.toElasticSearch());\r
113         Assert.assertNotNull(dha.toString());\r
114         as.setDateHist(dha);\r
115         as.toString();\r
116 \r
117         as.getNestedPath();\r
118 \r
119         DateRangeAggregation dra = new DateRangeAggregation();\r
120         dra.setField("field-1");\r
121         dra.setMinThreshold(1);\r
122         dra.setFormat("format-1");\r
123         Assert.assertEquals(dra.getFormat(), "format-1");\r
124         DateRange dr = new DateRange();\r
125         dr.setFromDate("01-12-2017");\r
126         Assert.assertEquals(dr.getFromDate(), "01-12-2017");\r
127         dr.setToDate("21-12-2017");\r
128         Assert.assertEquals(dr.getToDate(), "21-12-2017");\r
129         DateRange[] drs = {dr};\r
130         dra.setDateRanges(drs);\r
131         Assert.assertTrue(dra.getDateRanges().length==1);\r
132         Assert.assertNotNull(dra.toElasticSearch());\r
133         Assert.assertNotNull(dra.toString());\r
134         as.setDateRange(dra);\r
135         as.toString();\r
136 \r
137         as.getNestedPath();\r
138 \r
139         GroupByAggregation gba = new GroupByAggregation();\r
140         gba.setField("field-1");\r
141         gba.setMinThreshold(1);\r
142         Assert.assertNotNull(gba.toElasticSearch());\r
143         Assert.assertNotNull(gba.toString());\r
144         as.setGroupBy(gba);\r
145         Assert.assertNotNull(as.toString());\r
146 \r
147         a.setStatement(as);\r
148         Assert.assertNotNull(a.toString());\r
149         return a;\r
150     }\r
151 }\r