|
|
|
@@ -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"}, |
|
|
|
0, |
|
|
|
lambda r: (is_sorted(r["data"], "create_time", False)), |
|
|
|
"", |
|
|
|
), |
|
|
|
( |
|
|
|
{"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", "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( |