Skip to content

Commit a8486ab

Browse files
authored
Merge branch 'main' into wantsui/clarify-current-root-span
2 parents ae788ae + 6c61f40 commit a8486ab

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

tests/contrib/elasticsearch/test_elasticsearch.py

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import datetime
22
from http.client import HTTPConnection
33
from importlib import import_module
4+
import json
45
import time
56

67
import pytest
@@ -167,7 +168,12 @@ def test_elasticsearch(self):
167168
es.index(id=10, body={"name": "ten", "created": datetime.date(2016, 1, 1)}, **args)
168169
es.index(id=11, body={"name": "eleven", "created": datetime.date(2016, 2, 1)}, **args)
169170
es.index(id=12, body={"name": "twelve", "created": datetime.date(2016, 3, 1)}, **args)
170-
result = es.search(sort=["name:desc"], size=100, body={"query": {"match_all": {}}}, **args)
171+
result = es.search(
172+
sort={"name": {"order": "desc", "unmapped_type": "keyword"}},
173+
size=100,
174+
body={"query": {"match_all": {}}},
175+
**args,
176+
)
171177

172178
assert len(result["hits"]["hits"]) == 3, result
173179
spans = self.get_spans()
@@ -183,13 +189,25 @@ def test_elasticsearch(self):
183189
assert url.endswith("/_search")
184190
assert url == span.get_tag("elasticsearch.url")
185191
if elasticsearch.__version__ >= (8, 0, 0):
186-
assert span.get_tag("elasticsearch.body").replace(" ", "") == '{"query":{"match_all":{}},"size":100}'
187-
assert set(span.get_tag("elasticsearch.params").split("&")) == {"sort=name%3Adesc"}
188-
assert set(span.get_tag(http.QUERY_STRING).split("&")) == {"sort=name%3Adesc"}
192+
# Key order is not consistent, parse into dict to compare
193+
body = json.loads(span.get_tag("elasticsearch.body"))
194+
assert body == {
195+
"query": {"match_all": {}},
196+
"sort": {"name": {"order": "desc", "unmapped_type": "keyword"}},
197+
"size": 100,
198+
}
199+
assert not span.get_tag("elasticsearch.params")
200+
assert not span.get_tag(http.QUERY_STRING)
189201
else:
190202
assert span.get_tag("elasticsearch.body").replace(" ", "") == '{"query":{"match_all":{}}}'
191-
assert set(span.get_tag("elasticsearch.params").split("&")) == {"sort=name%3Adesc", "size=100"}
192-
assert set(span.get_tag(http.QUERY_STRING).split("&")) == {"sort=name%3Adesc", "size=100"}
203+
assert set(span.get_tag("elasticsearch.params").split("&")) == {
204+
"sort=%7B%27name%27%3A+%7B%27order%27%3A+%27desc%27%2C+%27unmapped_type%27%3A+%27keyword%27%7D%7D",
205+
"size=100",
206+
}
207+
assert set(span.get_tag(http.QUERY_STRING).split("&")) == {
208+
"sort=%7B%27name%27%3A+%7B%27order%27%3A+%27desc%27%2C+%27unmapped_type%27%3A+%27keyword%27%7D%7D",
209+
"size=100",
210+
}
193211
assert span.get_tag("component") == "elasticsearch"
194212
assert span.get_tag("span.kind") == "client"
195213

0 commit comments

Comments
 (0)