@@ -121,16 +121,38 @@ public void testRange() {
121121 RollupJobCaps cap = new RollupJobCaps (job .build ());
122122 Set <RollupJobCaps > caps = new HashSet <>();
123123 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 );
130125 assertThat (rewritten , instanceOf (RangeQueryBuilder .class ));
131126 assertThat (((RangeQueryBuilder )rewritten ).fieldName (), equalTo ("foo.date_histogram.timestamp" ));
132127 }
133128
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+
134156 public void testTerms () {
135157 RollupJobConfig .Builder job = ConfigTestHelpers .getRollupJob ("foo" );
136158 GroupConfig .Builder group = ConfigTestHelpers .getGroupConfig ();
@@ -139,12 +161,7 @@ public void testTerms() {
139161 RollupJobCaps cap = new RollupJobCaps (job .build ());
140162 Set <RollupJobCaps > caps = new HashSet <>();
141163 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 );
148165 assertThat (rewritten , instanceOf (TermQueryBuilder .class ));
149166 assertThat (((TermQueryBuilder )rewritten ).fieldName (), equalTo ("foo.terms.value" ));
150167 }
@@ -160,12 +177,7 @@ public void testCompounds() {
160177
161178 BoolQueryBuilder builder = new BoolQueryBuilder ();
162179 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 );
169181 assertThat (rewritten , instanceOf (BoolQueryBuilder .class ));
170182 assertThat (((BoolQueryBuilder )rewritten ).must ().size (), equalTo (1 ));
171183 }
@@ -178,12 +190,8 @@ public void testMatchAll() {
178190 RollupJobCaps cap = new RollupJobCaps (job .build ());
179191 Set <RollupJobCaps > caps = new HashSet <>();
180192 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 ));
187195 }
188196
189197 public void testAmbiguousResolution () {
0 commit comments