Add unit tests to increase sonar coverage
[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 AT&T Intellectual Property. All rights reserved.\r
6  * Copyright © 2017 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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
22  */\r
23 package org.onap.aai.sa.searchdbabstraction.searchapi;\r
24 \r
25 import com.fasterxml.jackson.databind.ObjectMapper;\r
26 import org.junit.Assert;\r
27 import org.junit.Test;\r
28 import org.onap.aai.sa.rest.TestUtils;\r
29 \r
30 import java.io.File;\r
31 import java.io.IOException;\r
32 import java.util.Date;\r
33 \r
34 public class RangeQueryTest {\r
35 \r
36     @Test(expected=IllegalArgumentException.class)\r
37     public void testSetGt(){\r
38 \r
39         RangeQuery rq = new RangeQuery();\r
40         rq.setLt(new String("2x"));\r
41         Assert.assertEquals("2x", rq.getLt());\r
42         Assert.assertNotNull(rq.toElasticSearch());\r
43         Assert.assertNotNull(rq.toString());\r
44         rq.setGt(new Integer(1));\r
45     }\r
46 \r
47     @Test(expected=IllegalArgumentException.class)\r
48     public void testSetGte(){\r
49 \r
50         RangeQuery rq = new RangeQuery();\r
51         rq.setGt(new Integer(1));\r
52         Assert.assertNotNull(rq.toElasticSearch());\r
53         Assert.assertNotNull(rq.toString());\r
54         rq.setGte(new Integer(1));\r
55     }\r
56 \r
57     @Test(expected=IllegalArgumentException.class)\r
58     public void testSetLt(){\r
59 \r
60         RangeQuery rq = new RangeQuery();\r
61         rq.setLt(new Integer(1));\r
62         rq.setFormat("format-1");\r
63         Assert.assertEquals(rq.getFormat(), "format-1");\r
64         Assert.assertNotNull(rq.toElasticSearch());\r
65         Assert.assertNotNull(rq.toString());\r
66 \r
67         rq.setGt(new Integer(1));\r
68         Assert.assertNotNull(rq.toElasticSearch());\r
69         Assert.assertNotNull(rq.toString());\r
70         rq.setLt(new String("10"));\r
71     }\r
72 \r
73     @Test(expected=IllegalArgumentException.class)\r
74     public void testSetLte(){\r
75         RangeQuery rq = new RangeQuery();\r
76         rq.setGt(new Integer(1));\r
77         rq.setTimeZone("CT");\r
78         Assert.assertEquals(rq.getTimeZone(), "CT");\r
79         Assert.assertNotNull(rq.toElasticSearch());\r
80         Assert.assertNotNull(rq.toString());\r
81 \r
82         rq.setLte(new String("10"));\r
83     }\r
84 \r
85     @Test\r
86     public void testSearchStatementAggregations() throws IOException {\r
87         File queryWithSubrangeFile = new File("src/test/resources/json/queries/query-with-subrange.json");\r
88         String queryWithSubrangeStr = TestUtils.readFileToString(queryWithSubrangeFile);\r
89 \r
90         ObjectMapper mapper = new ObjectMapper();\r
91         SearchStatement ss = mapper.readValue(queryWithSubrangeStr, SearchStatement.class);\r
92 \r
93         Aggregation a1 = getAggregationObject();\r
94         Aggregation a2 = getAggregationObject();\r
95         Aggregation[] aggs= new Aggregation[] {a1, a2};\r
96         ss.setAggregations(aggs);\r
97         Assert.assertNotNull(ss.toString());\r
98     }\r
99 \r
100     private Aggregation getAggregationObject(){\r
101         Aggregation a = new Aggregation();\r
102 \r
103         AggregationStatement as = new AggregationStatement();\r
104         DateHistogramAggregation dha = new DateHistogramAggregation();\r
105         dha.setField("field-1");\r
106         dha.setInterval("interval-1");\r
107         Assert.assertEquals(dha.getInterval(), "interval-1");\r
108         dha.setTimeZone("CT");\r
109         Assert.assertEquals(dha.getTimeZone(), "CT");\r
110         dha.setFormat("format-1");\r
111         Assert.assertEquals(dha.getFormat(), "format-1");\r
112         dha.setSize(10);\r
113         dha.setMinThreshold(1);\r
114         Assert.assertNotNull(dha.toElasticSearch());\r
115         Assert.assertNotNull(dha.toString());\r
116         as.setDateHist(dha);\r
117         as.toString();\r
118 \r
119         as.getNestedPath();\r
120 \r
121         DateRangeAggregation dra = new DateRangeAggregation();\r
122         dra.setField("field-1");\r
123         dra.setMinThreshold(1);\r
124         dra.setFormat("format-1");\r
125         Assert.assertEquals(dra.getFormat(), "format-1");\r
126         DateRange dr = new DateRange();\r
127         dr.setFromDate("01-12-2017");\r
128         Assert.assertEquals(dr.getFromDate(), "01-12-2017");\r
129         dr.setToDate("21-12-2017");\r
130         Assert.assertEquals(dr.getToDate(), "21-12-2017");\r
131         DateRange[] drs = {dr};\r
132         dra.setDateRanges(drs);\r
133         Assert.assertTrue(dra.getDateRanges().length==1);\r
134         Assert.assertNotNull(dra.toElasticSearch());\r
135         Assert.assertNotNull(dra.toString());\r
136         as.setDateRange(dra);\r
137         as.toString();\r
138 \r
139         as.getNestedPath();\r
140 \r
141         GroupByAggregation gba = new GroupByAggregation();\r
142         gba.setField("field-1");\r
143         gba.setMinThreshold(1);\r
144         Assert.assertNotNull(gba.toElasticSearch());\r
145         Assert.assertNotNull(gba.toString());\r
146         as.setGroupBy(gba);\r
147         Assert.assertNotNull(as.toString());\r
148 \r
149         a.setStatement(as);\r
150         Assert.assertNotNull(a.toString());\r
151         return a;\r
152     }\r
153 }\r