Skip to content

Commit dc9c41a

Browse files
committed
Test: handle duplicate names by appending "(1)"
- Updated tests to reflect new behavior of handling duplicate dataset names - Instead of returning an error, the system now appends "(1)" to duplicate names - This problem was introduced by PR infiniflow#10960
1 parent ba71160 commit dc9c41a

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

test/testcases/test_http_api/test_dataset_mangement/test_create_dataset.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@
1616
from concurrent.futures import ThreadPoolExecutor, as_completed
1717

1818
import pytest
19-
from common import create_dataset
20-
from configs import DATASET_NAME_LIMIT, INVALID_API_TOKEN
19+
from configs import DATASET_NAME_LIMIT, DEFAULT_PARSER_CONFIG, INVALID_API_TOKEN
2120
from hypothesis import example, given, settings
2221
from libs.auth import RAGFlowHttpApiAuth
2322
from utils import encode_avatar
2423
from utils.file_utils import create_image_file
2524
from utils.hypothesis_utils import valid_names
26-
from configs import DEFAULT_PARSER_CONFIG
25+
26+
from common import create_dataset
27+
2728

2829
@pytest.mark.usefixtures("clear_datasets")
2930
class TestAuthorization:
@@ -125,8 +126,8 @@ def test_name_duplicated(self, HttpApiAuth):
125126
assert res["code"] == 0, res
126127

127128
res = create_dataset(HttpApiAuth, payload)
128-
assert res["code"] == 103, res
129-
assert res["message"] == f"Dataset name '{name}' already exists", res
129+
assert res["code"] == 0, res
130+
assert res["data"]["name"] == name + "(1)", res
130131

131132
@pytest.mark.p3
132133
def test_name_case_insensitive(self, HttpApiAuth):
@@ -137,8 +138,8 @@ def test_name_case_insensitive(self, HttpApiAuth):
137138

138139
payload = {"name": name.lower()}
139140
res = create_dataset(HttpApiAuth, payload)
140-
assert res["code"] == 103, res
141-
assert res["message"] == f"Dataset name '{name.lower()}' already exists", res
141+
assert res["code"] == 0, res
142+
assert res["data"]["name"] == name.lower() + "(1)", res
142143

143144
@pytest.mark.p2
144145
def test_avatar(self, HttpApiAuth, tmp_path):

test/testcases/test_sdk_api/test_dataset_mangement/test_create_dataset.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
from operator import attrgetter
1818

1919
import pytest
20-
from configs import DATASET_NAME_LIMIT, HOST_ADDRESS, INVALID_API_TOKEN
20+
from configs import DATASET_NAME_LIMIT, DEFAULT_PARSER_CONFIG, HOST_ADDRESS, INVALID_API_TOKEN
2121
from hypothesis import example, given, settings
2222
from ragflow_sdk import DataSet, RAGFlow
2323
from utils import encode_avatar
2424
from utils.file_utils import create_image_file
2525
from utils.hypothesis_utils import valid_names
26-
from configs import DEFAULT_PARSER_CONFIG
26+
2727

2828
@pytest.mark.usefixtures("clear_datasets")
2929
class TestAuthorization:
@@ -95,9 +95,8 @@ def test_name_duplicated(self, client):
9595
payload = {"name": name}
9696
client.create_dataset(**payload)
9797

98-
with pytest.raises(Exception) as excinfo:
99-
client.create_dataset(**payload)
100-
assert str(excinfo.value) == f"Dataset name '{name}' already exists", str(excinfo.value)
98+
dataset = client.create_dataset(**payload)
99+
assert dataset.name == name + "(1)", str(dataset)
101100

102101
@pytest.mark.p3
103102
def test_name_case_insensitive(self, client):
@@ -106,9 +105,8 @@ def test_name_case_insensitive(self, client):
106105
client.create_dataset(**payload)
107106

108107
payload = {"name": name.lower()}
109-
with pytest.raises(Exception) as excinfo:
110-
client.create_dataset(**payload)
111-
assert str(excinfo.value) == f"Dataset name '{name.lower()}' already exists", str(excinfo.value)
108+
dataset = client.create_dataset(**payload)
109+
assert dataset.name == name.lower() + "(1)", str(dataset)
112110

113111
@pytest.mark.p2
114112
def test_avatar(self, client, tmp_path):

0 commit comments

Comments
 (0)