diff --git a/sdk/python/test/test_http_api/test_dataset_mangement/test_list_dataset.py b/sdk/python/test/test_http_api/test_dataset_mangement/test_list_dataset.py index 1ace4c3d4..2c9c10b35 100644 --- a/sdk/python/test/test_http_api/test_dataset_mangement/test_list_dataset.py +++ b/sdk/python/test/test_http_api/test_dataset_mangement/test_list_dataset.py @@ -62,16 +62,20 @@ class TestDatasetList: ({"page": 0, "page_size": 2}, 0, 2, ""), ({"page": 2, "page_size": 2}, 0, 2, ""), ({"page": 3, "page_size": 2}, 0, 1, ""), - ({"page": "1", "page_size": 2}, 0, 2, ""), + ({"page": "3", "page_size": 2}, 0, 1, ""), pytest.param( - {"page": -1, "page_size": 2}, 100, 0, "1064", marks=pytest.mark.xfail + {"page": -1, "page_size": 2}, + 100, + 0, + "1064", + marks=pytest.mark.xfail(reason="issues/5851"), ), pytest.param( {"page": "a", "page_size": 2}, 100, 0, """ValueError("invalid literal for int() with base 10: \'a\'")""", - marks=pytest.mark.xfail, + marks=pytest.mark.xfail(reason="issues/5851"), ), ], ) @@ -99,13 +103,19 @@ class TestDatasetList: ({"page_size": 1}, 0, 1, ""), ({"page_size": 32}, 0, 31, ""), ({"page_size": "1"}, 0, 1, ""), - pytest.param({"page_size": -1}, 100, 0, "1064", marks=pytest.mark.xfail), + pytest.param( + {"page_size": -1}, + 100, + 0, + "1064", + marks=pytest.mark.xfail(reason="issues/5851"), + ), pytest.param( {"page_size": "a"}, 100, 0, """ValueError("invalid literal for int() with base 10: \'a\'")""", - marks=pytest.mark.xfail, + marks=pytest.mark.xfail(reason="issues/5851"), ), ], ) @@ -131,27 +141,34 @@ class TestDatasetList: ( {"orderby": None}, 0, - lambda r: (is_sorted(r["data"], "create_time"), True), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( {"orderby": "create_time"}, 0, - lambda r: (is_sorted(r["data"], "create_time"), True), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( {"orderby": "update_time"}, 0, - lambda r: (is_sorted(r["data"], "update_time"), True), + lambda r: (is_sorted(r["data"], "update_time", True)), "", ), pytest.param( - {"orderby": "a"}, - 100, + {"orderby": "name", "desc": "False"}, 0, - """AttributeError("type object \'Knowledgebase\' has no attribute \'a\'")""", - marks=pytest.mark.xfail, + lambda r: (is_sorted(r["data"]["docs"], "name", False)), + "", + marks=pytest.mark.xfail(reason="issues/5851"), + ), + pytest.param( + {"orderby": "unknown"}, + 102, + 0, + "orderby should be create_time or update_time", + marks=pytest.mark.xfail(reason="issues/5851"), ), ], ) @@ -168,7 +185,7 @@ class TestDatasetList: assert res["code"] == expected_code if expected_code == 0: if callable(assertions): - assert all(assertions(res)) + assert assertions(res) else: assert res["message"] == expected_message @@ -178,39 +195,57 @@ class TestDatasetList: ( {"desc": None}, 0, - lambda r: (is_sorted(r["data"], "create_time", True),), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( {"desc": "true"}, 0, - lambda r: (is_sorted(r["data"], "create_time", True),), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( - {"desc": "false"}, + {"desc": "True"}, 0, - lambda r: (is_sorted(r["data"], "create_time", False),), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( {"desc": True}, 0, - lambda r: (is_sorted(r["data"], "create_time", True),), + lambda r: (is_sorted(r["data"], "create_time", True)), "", ), ( - {"desc": "false", "orderby": "update_time"}, + {"desc": "false"}, 0, - lambda r: (is_sorted(r["data"], "update_time", False),), + lambda r: (is_sorted(r["data"], "create_time", False)), + "", + ), + ( + {"desc": "False"}, + 0, + lambda r: (is_sorted(r["data"], "create_time", False)), + "", + ), + ( + {"desc": False}, + 0, + lambda r: (is_sorted(r["data"], "create_time", False)), + "", + ), + ( + {"desc": "False", "orderby": "update_time"}, + 0, + lambda r: (is_sorted(r["data"], "update_time", False)), "", ), pytest.param( - {"desc": "a"}, - 100, + {"desc": "unknown"}, + 102, 0, - """AttributeError("type object \'Knowledgebase\' has no attribute \'a\'")""", - marks=pytest.mark.xfail, + "desc should be true or false", + marks=pytest.mark.xfail(reason="issues/5851"), ), ], ) @@ -227,7 +262,7 @@ class TestDatasetList: assert res["code"] == expected_code if expected_code == 0: if callable(assertions): - assert all(assertions(res)) + assert assertions(res) else: assert res["message"] == expected_message @@ -235,8 +270,9 @@ class TestDatasetList: "params, expected_code, expected_num, expected_message", [ ({"name": None}, 0, 3, ""), + ({"name": ""}, 0, 3, ""), ({"name": "dataset_1"}, 0, 1, ""), - ({"name": "a"}, 102, 0, "You don't own the dataset a"), + ({"name": "unknown"}, 102, 0, "You don't own the dataset unknown"), ], ) def test_name( @@ -246,7 +282,7 @@ class TestDatasetList: res = list_dataset(get_http_api_auth, params=params) assert res["code"] == expected_code if expected_code == 0: - if params["name"] is None: + if params["name"] in [None, ""]: assert len(res["data"]) == expected_num else: assert res["data"][0]["name"] == params["name"] @@ -257,8 +293,9 @@ class TestDatasetList: "dataset_id, expected_code, expected_num, expected_message", [ (None, 0, 3, ""), + ("", 0, 3, ""), (lambda r: r[0], 0, 1, ""), - ("a", 102, 0, "You don't own the dataset a"), + ("unknown", 102, 0, "You don't own the dataset unknown"), ], ) def test_id( @@ -278,7 +315,7 @@ class TestDatasetList: res = list_dataset(get_http_api_auth, params=params) assert res["code"] == expected_code if expected_code == 0: - if params["id"] is None: + if params["id"] in [None, ""]: assert len(res["data"]) == expected_num else: assert res["data"][0]["id"] == params["id"] @@ -290,8 +327,8 @@ class TestDatasetList: [ (lambda r: r[0], "dataset_0", 0, 1, ""), (lambda r: r[0], "dataset_1", 0, 0, ""), - (lambda r: r[0], "a", 102, 0, "You don't own the dataset a"), - ("a", "dataset_0", 102, 0, "You don't own the dataset a"), + (lambda r: r[0], "unknown", 102, 0, "You don't own the dataset unknown"), + ("id", "dataset_0", 102, 0, "You don't own the dataset id"), ], ) def test_name_and_id(