mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-12 21:28:59 +08:00
Test: fix expected value validation for list dataset endpoint (#6160)
### What problem does this PR solve? fix function is_sort() usage error ### Type of change - [ ] update test cases
This commit is contained in:
parent
5983803c8b
commit
d36420a87a
@ -62,16 +62,20 @@ class TestDatasetList:
|
|||||||
({"page": 0, "page_size": 2}, 0, 2, ""),
|
({"page": 0, "page_size": 2}, 0, 2, ""),
|
||||||
({"page": 2, "page_size": 2}, 0, 2, ""),
|
({"page": 2, "page_size": 2}, 0, 2, ""),
|
||||||
({"page": 3, "page_size": 2}, 0, 1, ""),
|
({"page": 3, "page_size": 2}, 0, 1, ""),
|
||||||
({"page": "1", "page_size": 2}, 0, 2, ""),
|
({"page": "3", "page_size": 2}, 0, 1, ""),
|
||||||
pytest.param(
|
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(
|
pytest.param(
|
||||||
{"page": "a", "page_size": 2},
|
{"page": "a", "page_size": 2},
|
||||||
100,
|
100,
|
||||||
0,
|
0,
|
||||||
"""ValueError("invalid literal for int() with base 10: \'a\'")""",
|
"""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": 1}, 0, 1, ""),
|
||||||
({"page_size": 32}, 0, 31, ""),
|
({"page_size": 32}, 0, 31, ""),
|
||||||
({"page_size": "1"}, 0, 1, ""),
|
({"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(
|
pytest.param(
|
||||||
{"page_size": "a"},
|
{"page_size": "a"},
|
||||||
100,
|
100,
|
||||||
0,
|
0,
|
||||||
"""ValueError("invalid literal for int() with base 10: \'a\'")""",
|
"""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},
|
{"orderby": None},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "create_time"), True),
|
lambda r: (is_sorted(r["data"], "create_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
{"orderby": "create_time"},
|
{"orderby": "create_time"},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "create_time"), True),
|
lambda r: (is_sorted(r["data"], "create_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
{"orderby": "update_time"},
|
{"orderby": "update_time"},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "update_time"), True),
|
lambda r: (is_sorted(r["data"], "update_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
pytest.param(
|
pytest.param(
|
||||||
{"orderby": "a"},
|
{"orderby": "name", "desc": "False"},
|
||||||
100,
|
|
||||||
0,
|
0,
|
||||||
"""AttributeError("type object \'Knowledgebase\' has no attribute \'a\'")""",
|
lambda r: (is_sorted(r["data"]["docs"], "name", False)),
|
||||||
marks=pytest.mark.xfail,
|
"",
|
||||||
|
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
|
assert res["code"] == expected_code
|
||||||
if expected_code == 0:
|
if expected_code == 0:
|
||||||
if callable(assertions):
|
if callable(assertions):
|
||||||
assert all(assertions(res))
|
assert assertions(res)
|
||||||
else:
|
else:
|
||||||
assert res["message"] == expected_message
|
assert res["message"] == expected_message
|
||||||
|
|
||||||
@ -178,39 +195,57 @@ class TestDatasetList:
|
|||||||
(
|
(
|
||||||
{"desc": None},
|
{"desc": None},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "create_time", True),),
|
lambda r: (is_sorted(r["data"], "create_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
{"desc": "true"},
|
{"desc": "true"},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "create_time", True),),
|
lambda r: (is_sorted(r["data"], "create_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
{"desc": "false"},
|
{"desc": "True"},
|
||||||
0,
|
0,
|
||||||
lambda r: (is_sorted(r["data"], "create_time", False),),
|
lambda r: (is_sorted(r["data"], "create_time", True)),
|
||||||
"",
|
"",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
{"desc": True},
|
{"desc": True},
|
||||||
0,
|
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,
|
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(
|
pytest.param(
|
||||||
{"desc": "a"},
|
{"desc": "unknown"},
|
||||||
100,
|
102,
|
||||||
0,
|
0,
|
||||||
"""AttributeError("type object \'Knowledgebase\' has no attribute \'a\'")""",
|
"desc should be true or false",
|
||||||
marks=pytest.mark.xfail,
|
marks=pytest.mark.xfail(reason="issues/5851"),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
@ -227,7 +262,7 @@ class TestDatasetList:
|
|||||||
assert res["code"] == expected_code
|
assert res["code"] == expected_code
|
||||||
if expected_code == 0:
|
if expected_code == 0:
|
||||||
if callable(assertions):
|
if callable(assertions):
|
||||||
assert all(assertions(res))
|
assert assertions(res)
|
||||||
else:
|
else:
|
||||||
assert res["message"] == expected_message
|
assert res["message"] == expected_message
|
||||||
|
|
||||||
@ -235,8 +270,9 @@ class TestDatasetList:
|
|||||||
"params, expected_code, expected_num, expected_message",
|
"params, expected_code, expected_num, expected_message",
|
||||||
[
|
[
|
||||||
({"name": None}, 0, 3, ""),
|
({"name": None}, 0, 3, ""),
|
||||||
|
({"name": ""}, 0, 3, ""),
|
||||||
({"name": "dataset_1"}, 0, 1, ""),
|
({"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(
|
def test_name(
|
||||||
@ -246,7 +282,7 @@ class TestDatasetList:
|
|||||||
res = list_dataset(get_http_api_auth, params=params)
|
res = list_dataset(get_http_api_auth, params=params)
|
||||||
assert res["code"] == expected_code
|
assert res["code"] == expected_code
|
||||||
if expected_code == 0:
|
if expected_code == 0:
|
||||||
if params["name"] is None:
|
if params["name"] in [None, ""]:
|
||||||
assert len(res["data"]) == expected_num
|
assert len(res["data"]) == expected_num
|
||||||
else:
|
else:
|
||||||
assert res["data"][0]["name"] == params["name"]
|
assert res["data"][0]["name"] == params["name"]
|
||||||
@ -257,8 +293,9 @@ class TestDatasetList:
|
|||||||
"dataset_id, expected_code, expected_num, expected_message",
|
"dataset_id, expected_code, expected_num, expected_message",
|
||||||
[
|
[
|
||||||
(None, 0, 3, ""),
|
(None, 0, 3, ""),
|
||||||
|
("", 0, 3, ""),
|
||||||
(lambda r: r[0], 0, 1, ""),
|
(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(
|
def test_id(
|
||||||
@ -278,7 +315,7 @@ class TestDatasetList:
|
|||||||
res = list_dataset(get_http_api_auth, params=params)
|
res = list_dataset(get_http_api_auth, params=params)
|
||||||
assert res["code"] == expected_code
|
assert res["code"] == expected_code
|
||||||
if expected_code == 0:
|
if expected_code == 0:
|
||||||
if params["id"] is None:
|
if params["id"] in [None, ""]:
|
||||||
assert len(res["data"]) == expected_num
|
assert len(res["data"]) == expected_num
|
||||||
else:
|
else:
|
||||||
assert res["data"][0]["id"] == params["id"]
|
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_0", 0, 1, ""),
|
||||||
(lambda r: r[0], "dataset_1", 0, 0, ""),
|
(lambda r: r[0], "dataset_1", 0, 0, ""),
|
||||||
(lambda r: r[0], "a", 102, 0, "You don't own the dataset a"),
|
(lambda r: r[0], "unknown", 102, 0, "You don't own the dataset unknown"),
|
||||||
("a", "dataset_0", 102, 0, "You don't own the dataset a"),
|
("id", "dataset_0", 102, 0, "You don't own the dataset id"),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
def test_name_and_id(
|
def test_name_and_id(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user