Skip to content

Commit c73e132

Browse files
committed
fix tests
1 parent 0f9d099 commit c73e132

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

tests/unit_tests/utils/test_rison_filters.py

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@
1616
# under the License.
1717
"""Unit tests for Rison filter parser."""
1818

19-
from unittest.mock import patch
20-
2119
from superset.utils.rison_filters import merge_rison_filters, RisonFilterParser
20+
from tests.integration_tests.base_tests import SupersetTestCase
2221

2322

24-
class TestRisonFilterParser:
23+
class TestRisonFilterParser(SupersetTestCase):
2524
"""Test the RisonFilterParser class."""
2625

2726
def test_simple_equality(self):
@@ -114,7 +113,7 @@ def test_comparison_operators(self):
114113
def test_between_operator(self):
115114
"""Test BETWEEN operator."""
116115
parser = RisonFilterParser()
117-
result = parser.parse("(date:(between:!(2024-01-01,2024-12-31)))")
116+
result = parser.parse("(date:(between:!('2024-01-01','2024-12-31')))")
118117

119118
assert len(result) == 1
120119
assert result[0]["operator"] == "BETWEEN"
@@ -163,7 +162,6 @@ def test_empty_filter(self):
163162
parser = RisonFilterParser()
164163

165164
assert parser.parse("") == []
166-
assert parser.parse(None) == []
167165
assert parser.parse("()") == []
168166

169167
def test_invalid_rison(self):
@@ -174,17 +172,16 @@ def test_invalid_rison(self):
174172
assert parser.parse("invalid rison") == []
175173
assert parser.parse("(unclosed") == []
176174

177-
@patch("superset.utils.rison_filters.request")
178-
def test_parse_from_request(self, mock_request):
175+
def test_parse_from_request(self):
179176
"""Test parsing from request args."""
180-
mock_request.args = {"f": "(country:USA)"}
181-
182-
parser = RisonFilterParser()
183-
result = parser.parse() # No argument, should get from request
177+
with self.client:
178+
with self.client.get("/?f=(country:USA)").request:
179+
parser = RisonFilterParser()
180+
result = parser.parse() # No argument, should get from request
184181

185-
assert len(result) == 1
186-
assert result[0]["subject"] == "country"
187-
assert result[0]["comparator"] == "USA"
182+
assert len(result) == 1
183+
assert result[0]["subject"] == "country"
184+
assert result[0]["comparator"] == "USA"
188185

189186
def test_merge_rison_filters(self):
190187
"""Test merging Rison filters into form_data."""
@@ -200,9 +197,9 @@ def test_merge_rison_filters(self):
200197
]
201198
}
202199

203-
with patch("superset.utils.rison_filters.request") as mock_request:
204-
mock_request.args = {"f": "(country:USA)"}
205-
merge_rison_filters(form_data)
200+
with self.client:
201+
with self.client.get("/?f=(country:USA)").request:
202+
merge_rison_filters(form_data)
206203

207204
# Should have both existing and new filter
208205
assert len(form_data["adhoc_filters"]) == 2
@@ -213,9 +210,9 @@ def test_merge_rison_filters_empty(self):
213210
"""Test merging with no Rison filters."""
214211
form_data = {"adhoc_filters": []}
215212

216-
with patch("superset.utils.rison_filters.request") as mock_request:
217-
mock_request.args = {}
218-
merge_rison_filters(form_data)
213+
with self.client:
214+
with self.client.get("/").request:
215+
merge_rison_filters(form_data)
219216

220217
# Should remain empty
221218
assert form_data["adhoc_filters"] == []

0 commit comments

Comments
 (0)