2 * ============LICENSE_START=======================================================
\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
12 * http://www.apache.org/licenses/LICENSE-2.0
\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
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
23 package org.onap.aai.sa.searchdbabstraction.searchapi;
\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
30 import java.io.File;
\r
31 import java.io.IOException;
\r
32 import java.util.Date;
\r
34 public class RangeQueryTest {
\r
36 @Test(expected=IllegalArgumentException.class)
\r
37 public void testSetGt(){
\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
47 @Test(expected=IllegalArgumentException.class)
\r
48 public void testSetGte(){
\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
57 @Test(expected=IllegalArgumentException.class)
\r
58 public void testSetLt(){
\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
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
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
82 rq.setLte(new String("10"));
\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
90 ObjectMapper mapper = new ObjectMapper();
\r
91 SearchStatement ss = mapper.readValue(queryWithSubrangeStr, SearchStatement.class);
\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
100 private Aggregation getAggregationObject(){
\r
101 Aggregation a = new Aggregation();
\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
113 dha.setMinThreshold(1);
\r
114 Assert.assertNotNull(dha.toElasticSearch());
\r
115 Assert.assertNotNull(dha.toString());
\r
116 as.setDateHist(dha);
\r
119 as.getNestedPath();
\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
139 as.getNestedPath();
\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
149 a.setStatement(as);
\r
150 Assert.assertNotNull(a.toString());
\r