@@ -121,16 +121,38 @@ public void testRange() {
121
121
RollupJobCaps cap = new RollupJobCaps (job .build ());
122
122
Set <RollupJobCaps > caps = new HashSet <>();
123
123
caps .add (cap );
124
- QueryBuilder rewritten = null ;
125
- try {
126
- rewritten = TransportRollupSearchAction .rewriteQuery (new RangeQueryBuilder ("foo" ).gt (1 ), caps );
127
- } catch (Exception e ) {
128
- fail ("Should not have thrown exception when parsing query." );
129
- }
124
+ QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (new RangeQueryBuilder ("foo" ).gt (1 ).timeZone ("UTC" ), caps );
130
125
assertThat (rewritten , instanceOf (RangeQueryBuilder .class ));
131
126
assertThat (((RangeQueryBuilder )rewritten ).fieldName (), equalTo ("foo.date_histogram.timestamp" ));
132
127
}
133
128
129
+ public void testRangeNullTimeZone () {
130
+ RollupJobConfig .Builder job = ConfigTestHelpers .getRollupJob ("foo" );
131
+ GroupConfig .Builder group = ConfigTestHelpers .getGroupConfig ();
132
+ group .setDateHisto (new DateHistoGroupConfig .Builder ().setField ("foo" ).setInterval (new DateHistogramInterval ("1h" )).build ());
133
+ job .setGroupConfig (group .build ());
134
+ RollupJobCaps cap = new RollupJobCaps (job .build ());
135
+ Set <RollupJobCaps > caps = new HashSet <>();
136
+ caps .add (cap );
137
+ QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (new RangeQueryBuilder ("foo" ).gt (1 ), caps );
138
+ assertThat (rewritten , instanceOf (RangeQueryBuilder .class ));
139
+ assertThat (((RangeQueryBuilder )rewritten ).fieldName (), equalTo ("foo.date_histogram.timestamp" ));
140
+ }
141
+
142
+ public void testRangeWrongTZ () {
143
+ RollupJobConfig .Builder job = ConfigTestHelpers .getRollupJob ("foo" );
144
+ GroupConfig .Builder group = ConfigTestHelpers .getGroupConfig ();
145
+ group .setDateHisto (new DateHistoGroupConfig .Builder ().setField ("foo" ).setInterval (new DateHistogramInterval ("1h" )).build ());
146
+ job .setGroupConfig (group .build ());
147
+ RollupJobCaps cap = new RollupJobCaps (job .build ());
148
+ Set <RollupJobCaps > caps = new HashSet <>();
149
+ caps .add (cap );
150
+ Exception e = expectThrows (IllegalArgumentException .class ,
151
+ () -> TransportRollupSearchAction .rewriteQuery (new RangeQueryBuilder ("foo" ).gt (1 ).timeZone ("EST" ), caps ));
152
+ assertThat (e .getMessage (), equalTo ("Field [foo] in [range] query was found in rollup indices, but requested timezone is not " +
153
+ "compatible. Options include: [UTC]" ));
154
+ }
155
+
134
156
public void testTerms () {
135
157
RollupJobConfig .Builder job = ConfigTestHelpers .getRollupJob ("foo" );
136
158
GroupConfig .Builder group = ConfigTestHelpers .getGroupConfig ();
@@ -139,12 +161,7 @@ public void testTerms() {
139
161
RollupJobCaps cap = new RollupJobCaps (job .build ());
140
162
Set <RollupJobCaps > caps = new HashSet <>();
141
163
caps .add (cap );
142
- QueryBuilder rewritten = null ;
143
- try {
144
- rewritten = TransportRollupSearchAction .rewriteQuery (new TermQueryBuilder ("foo" , "bar" ), caps );
145
- } catch (Exception e ) {
146
- fail ("Should not have thrown exception when parsing query." );
147
- }
164
+ QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (new TermQueryBuilder ("foo" , "bar" ), caps );
148
165
assertThat (rewritten , instanceOf (TermQueryBuilder .class ));
149
166
assertThat (((TermQueryBuilder )rewritten ).fieldName (), equalTo ("foo.terms.value" ));
150
167
}
@@ -160,12 +177,7 @@ public void testCompounds() {
160
177
161
178
BoolQueryBuilder builder = new BoolQueryBuilder ();
162
179
builder .must (getQueryBuilder (2 ));
163
- QueryBuilder rewritten = null ;
164
- try {
165
- rewritten = TransportRollupSearchAction .rewriteQuery (builder , caps );
166
- } catch (Exception e ) {
167
- fail ("Should not have thrown exception when parsing query." );
168
- }
180
+ QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (builder , caps );
169
181
assertThat (rewritten , instanceOf (BoolQueryBuilder .class ));
170
182
assertThat (((BoolQueryBuilder )rewritten ).must ().size (), equalTo (1 ));
171
183
}
@@ -178,12 +190,8 @@ public void testMatchAll() {
178
190
RollupJobCaps cap = new RollupJobCaps (job .build ());
179
191
Set <RollupJobCaps > caps = new HashSet <>();
180
192
caps .add (cap );
181
- try {
182
- QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (new MatchAllQueryBuilder (), caps );
183
- assertThat (rewritten , instanceOf (MatchAllQueryBuilder .class ));
184
- } catch (Exception e ) {
185
- fail ("Should not have thrown exception when parsing query." );
186
- }
193
+ QueryBuilder rewritten = TransportRollupSearchAction .rewriteQuery (new MatchAllQueryBuilder (), caps );
194
+ assertThat (rewritten , instanceOf (MatchAllQueryBuilder .class ));
187
195
}
188
196
189
197
public void testAmbiguousResolution () {
0 commit comments