def test_queryparams(source): q = QueryParams(source) assert "a" in q assert "A" not in q assert "c" not in q assert q["a"] == "456" assert q.get("a") == "456" assert q.get("nope", default=None) is None assert q.get_list("a") == ["123", "456"] with pytest.warns(DeprecationWarning): assert q.getlist("a") == ["123", "456"] assert list(q.keys()) == ["a", "b"] assert list(q.values()) == ["456", "789"] assert list(q.items()) == [("a", "456"), ("b", "789")] assert len(q) == 2 assert list(q) == ["a", "b"] assert dict(q) == {"a": "456", "b": "789"} assert str(q) == "a=123&a=456&b=789" assert repr(q) == "QueryParams('a=123&a=456&b=789')" assert QueryParams({ "a": "123", "b": "456" }) == QueryParams([("a", "123"), ("b", "456")]) assert QueryParams({"a": "123", "b": "456"}) == QueryParams("a=123&b=456") assert QueryParams({ "a": "123", "b": "456" }) == QueryParams({ "b": "456", "a": "123" }) assert QueryParams() == QueryParams({}) assert QueryParams([("a", "123"), ("a", "456")]) == QueryParams("a=123&a=456") assert QueryParams({"a": "123", "b": "456"}) != "invalid" q = QueryParams([("a", "123"), ("a", "456")]) assert QueryParams(q) == q
def __get_folders(query: httpx.QueryParams) -> tuple[bool, int]: resp = self.client.get('/folders', params=query) items, has_more, next_page = self._check_pagination(int(query.get('page')), resp) for item in items: folders.append(JoplinFolder(**item)) return has_more, next_page