|
2 | 2 | from pathlib import Path |
3 | 3 | import re |
4 | 4 | import unittest |
| 5 | +from urllib.parse import parse_qs |
5 | 6 |
|
6 | 7 | import requests_mock |
7 | 8 |
|
@@ -311,3 +312,22 @@ def test_slicing_queryset_multi_page(self) -> None: |
311 | 312 | def test_queryset_filter_args_error(self) -> None: |
312 | 313 | with self.assertRaises(RuntimeError): |
313 | 314 | workbooks = self.server.workbooks.filter("argument") |
| 315 | + |
| 316 | + def test_filtering_parameters(self) -> None: |
| 317 | + self.server.version = "3.6" |
| 318 | + with requests_mock.mock() as m: |
| 319 | + m.get(requests_mock.ANY) |
| 320 | + url = self.baseurl + "/views/456/data" |
| 321 | + opts = TSC.PDFRequestOptions() |
| 322 | + opts.parameter("name1@", "value1") |
| 323 | + opts.parameter("name2$", "value2") |
| 324 | + opts.page_type = TSC.PDFRequestOptions.PageType.Tabloid |
| 325 | + |
| 326 | + resp = self.server.workbooks.get_request(url, request_object=opts) |
| 327 | + query_params = parse_qs(resp.request.query) |
| 328 | + self.assertIn("name1@", query_params) |
| 329 | + self.assertIn("value1", query_params["name1@"]) |
| 330 | + self.assertIn("name2$", query_params) |
| 331 | + self.assertIn("value2", query_params["name2$"]) |
| 332 | + self.assertIn("type", query_params) |
| 333 | + self.assertIn("tabloid", query_params["type"]) |
0 commit comments