Skip to content

Commit 6d4b6e9

Browse files
committed
chore: pytestify sort
1 parent e648cd4 commit 6d4b6e9

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

test/test_sort.py

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import re
22
import unittest
3+
from urllib.parse import parse_qs
34

5+
import pytest
46
import requests_mock
57

68
import tableauserverclient as TSC
@@ -15,7 +17,8 @@ def setUp(self):
1517
self.baseurl = self.server.workbooks.baseurl
1618

1719
def test_empty_filter(self):
18-
self.assertRaises(TypeError, TSC.Filter, "")
20+
with pytest.raises(TypeError):
21+
TSC.Filter("")
1922

2023
def test_filter_equals(self):
2124
with requests_mock.mock() as m:
@@ -25,17 +28,18 @@ def test_filter_equals(self):
2528
opts.filter.add(TSC.Filter(TSC.RequestOptions.Field.Name, TSC.RequestOptions.Operator.Equals, "Superstore"))
2629

2730
resp = self.server.workbooks.get_request(url, request_object=opts)
28-
29-
self.assertTrue(re.search("pagenumber=13", resp.request.query))
30-
self.assertTrue(re.search("pagesize=13", resp.request.query))
31-
self.assertTrue(re.search("filter=name%3aeq%3asuperstore", resp.request.query))
31+
query = parse_qs(resp.request.query)
32+
assert "pagenumber" in query
33+
assert query["pagenumber"] == ["13"]
34+
assert "pagesize" in query
35+
assert query["pagesize"] == ["13"]
36+
assert "filter" in query
37+
assert query["filter"] == ["name:eq:superstore"]
3238

3339
def test_filter_equals_list(self):
34-
with self.assertRaises(ValueError) as cm:
40+
with pytest.raises(ValueError, match="Filter values can only be a list if the operator is 'in'.") as cm:
3541
TSC.Filter(TSC.RequestOptions.Field.Tags, TSC.RequestOptions.Operator.Equals, ["foo", "bar"])
3642

37-
self.assertEqual("Filter values can only be a list if the operator is 'in'.", str(cm.exception)),
38-
3943
def test_filter_in(self):
4044
with requests_mock.mock() as m:
4145
m.get(requests_mock.ANY)
@@ -47,9 +51,13 @@ def test_filter_in(self):
4751
)
4852

4953
resp = self.server.workbooks.get_request(url, request_object=opts)
50-
self.assertTrue(re.search("pagenumber=13", resp.request.query))
51-
self.assertTrue(re.search("pagesize=13", resp.request.query))
52-
self.assertTrue(re.search("filter=tags%3ain%3a%5bstocks%2cmarket%5d", resp.request.query))
54+
query = parse_qs(resp.request.query)
55+
assert "pagenumber" in query
56+
assert query["pagenumber"] == ["13"]
57+
assert "pagesize" in query
58+
assert query["pagesize"] == ["13"]
59+
assert "filter" in query
60+
assert query["filter"] == ["tags:in:[stocks,market]"]
5361

5462
def test_sort_asc(self):
5563
with requests_mock.mock() as m:
@@ -59,10 +67,13 @@ def test_sort_asc(self):
5967
opts.sort.add(TSC.Sort(TSC.RequestOptions.Field.Name, TSC.RequestOptions.Direction.Asc))
6068

6169
resp = self.server.workbooks.get_request(url, request_object=opts)
62-
63-
self.assertTrue(re.search("pagenumber=13", resp.request.query))
64-
self.assertTrue(re.search("pagesize=13", resp.request.query))
65-
self.assertTrue(re.search("sort=name%3aasc", resp.request.query))
70+
query = parse_qs(resp.request.query)
71+
assert "pagenumber" in query
72+
assert query["pagenumber"] == ["13"]
73+
assert "pagesize" in query
74+
assert query["pagesize"] == ["13"]
75+
assert "sort" in query
76+
assert query["sort"] == ["name:asc"]
6677

6778
def test_filter_combo(self):
6879
with requests_mock.mock() as m:
@@ -84,20 +95,10 @@ def test_filter_combo(self):
8495

8596
resp = self.server.workbooks.get_request(url, request_object=opts)
8697

87-
expected = (
88-
"pagenumber=13&pagesize=13&filter=lastlogin%3agte%3a"
89-
"2017-01-15t00%3a00%3a00%3a00z%2csiterole%3aeq%3apublisher"
90-
)
91-
92-
self.assertTrue(re.search("pagenumber=13", resp.request.query))
93-
self.assertTrue(re.search("pagesize=13", resp.request.query))
94-
self.assertTrue(
95-
re.search(
96-
"filter=lastlogin%3agte%3a2017-01-15t00%3a00%3a00%3a00z%2csiterole%3aeq%3apublisher",
97-
resp.request.query,
98-
)
99-
)
100-
101-
102-
if __name__ == "__main__":
103-
unittest.main()
98+
query = parse_qs(resp.request.query)
99+
assert "pagenumber" in query
100+
assert query["pagenumber"] == ["13"]
101+
assert "pagesize" in query
102+
assert query["pagesize"] == ["13"]
103+
assert "filter" in query
104+
assert query["filter"] == ["lastlogin:gte:2017-01-15t00:00:00:00z,siterole:eq:publisher"]

0 commit comments

Comments
 (0)