Skip to content

Commit 8c8b7be

Browse files
Adriano Ferreirakimchy
authored andcommitted
Three tests for parsing "geo_distance" filter: 12 miles in km
The added test files should be equivalent. Actually they hit the same bug as change Two tests for parsing "geo_distance" filter: distance/unit parameters
1 parent 244a566 commit 8c8b7be

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed

modules/elasticsearch/src/test/java/org/elasticsearch/index/query/xcontent/SimpleIndexQueryParserTests.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,6 +1271,46 @@ private XContentIndexQueryParser queryParser() throws IOException {
12711271
assertThat(filter.lon(), closeTo(-70, 0.00001));
12721272
assertThat(filter.distance(), closeTo(12, 0.00001));
12731273
}
1274+
1275+
@Test public void testGeoDistanceFilter9() throws IOException {
1276+
IndexQueryParser queryParser = queryParser();
1277+
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance9.json");
1278+
Query parsedQuery = queryParser.parse(query).query();
1279+
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
1280+
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
1281+
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
1282+
assertThat(filter.fieldName(), equalTo("location"));
1283+
assertThat(filter.lat(), closeTo(40, 0.00001));
1284+
assertThat(filter.lon(), closeTo(-70, 0.00001));
1285+
assertThat(filter.distance(), closeTo(12, 0.00001));
1286+
}
1287+
1288+
@Test public void testGeoDistanceFilter10() throws IOException {
1289+
IndexQueryParser queryParser = queryParser();
1290+
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance10.json");
1291+
Query parsedQuery = queryParser.parse(query).query();
1292+
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
1293+
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
1294+
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
1295+
assertThat(filter.fieldName(), equalTo("location"));
1296+
assertThat(filter.lat(), closeTo(40, 0.00001));
1297+
assertThat(filter.lon(), closeTo(-70, 0.00001));
1298+
assertThat(filter.distance(), closeTo(12, 0.00001));
1299+
}
1300+
1301+
@Test public void testGeoDistanceFilter11() throws IOException {
1302+
IndexQueryParser queryParser = queryParser();
1303+
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance11.json");
1304+
Query parsedQuery = queryParser.parse(query).query();
1305+
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
1306+
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
1307+
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
1308+
assertThat(filter.fieldName(), equalTo("location"));
1309+
assertThat(filter.lat(), closeTo(40, 0.00001));
1310+
assertThat(filter.lon(), closeTo(-70, 0.00001));
1311+
assertThat(filter.distance(), closeTo(12, 0.00001));
1312+
}
1313+
12741314
@Test public void testGeoBoundingBoxFilterNamed() throws IOException {
12751315
IndexQueryParser queryParser = queryParser();
12761316
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_boundingbox-named.json");
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"filtered" : {
3+
"query" : {
4+
"match_all" : {}
5+
},
6+
"filter" : {
7+
"geo_distance" : {
8+
"distance" : 19.312128,
9+
"unit": "km",
10+
"person.location" : {
11+
"lat" : 40,
12+
"lon" : -70
13+
}
14+
}
15+
}
16+
}
17+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"filtered" : {
3+
"query" : {
4+
"match_all" : {}
5+
},
6+
"filter" : {
7+
"geo_distance" : {
8+
"distance" : "19.312128km",
9+
"person.location" : {
10+
"lat" : 40,
11+
"lon" : -70
12+
}
13+
}
14+
}
15+
}
16+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"filtered" : {
3+
"query" : {
4+
"match_all" : {}
5+
},
6+
"filter" : {
7+
"geo_distance" : {
8+
"distance" : "19.312128",
9+
"unit": "km",
10+
"person.location" : {
11+
"lat" : 40,
12+
"lon" : -70
13+
}
14+
}
15+
}
16+
}
17+
}

0 commit comments

Comments
 (0)