mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-08-11 13:49:03 +08:00
More dataset test cases (#3802)
### What problem does this PR solve? 1. Test not allowed fields of dataset ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) - [x] Other (please describe): Test cases Signed-off-by: jinhai <haijin.chn@gmail.com>
This commit is contained in:
parent
976d112280
commit
c4b6df350a
@ -21,7 +21,7 @@ from api.db.services.document_service import DocumentService
|
||||
from api.db.services.file2document_service import File2DocumentService
|
||||
from api.db.services.file_service import FileService
|
||||
from api.db.services.user_service import TenantService, UserTenantService
|
||||
from api.utils.api_utils import server_error_response, get_data_error_result, validate_request
|
||||
from api.utils.api_utils import server_error_response, get_data_error_result, validate_request, not_allowed_parameters
|
||||
from api.utils import get_uuid
|
||||
from api.db import StatusEnum, FileSource
|
||||
from api.db.services.knowledgebase_service import KnowledgebaseService
|
||||
@ -70,6 +70,7 @@ def create():
|
||||
@manager.route('/update', methods=['post'])
|
||||
@login_required
|
||||
@validate_request("kb_id", "name", "description", "permission", "parser_id")
|
||||
@not_allowed_parameters("id", "tenant_id", "created_by", "create_time", "update_time", "create_date", "update_date", "created_by")
|
||||
def update():
|
||||
req = request.json
|
||||
req["name"] = req["name"].strip()
|
||||
|
@ -174,6 +174,18 @@ def validate_request(*args, **kwargs):
|
||||
|
||||
return wrapper
|
||||
|
||||
def not_allowed_parameters(*params):
|
||||
def decorator(f):
|
||||
def wrapper(*args, **kwargs):
|
||||
input_arguments = flask_request.json or flask_request.form.to_dict()
|
||||
for param in params:
|
||||
if param in input_arguments:
|
||||
return get_json_result(
|
||||
code=settings.RetCode.ARGUMENT_ERROR, message=f"Parameter {param} isn't allowed")
|
||||
return f(*args, **kwargs)
|
||||
return wrapper
|
||||
return decorator
|
||||
|
||||
|
||||
def is_localhost(ip):
|
||||
return ip in {'127.0.0.1', '::1', '[::1]', 'localhost'}
|
||||
|
@ -103,7 +103,7 @@ def test_invalid_name_dataset(get_auth):
|
||||
print(res)
|
||||
|
||||
|
||||
def test_update_different_params_dataset(get_auth):
|
||||
def test_update_different_params_dataset_success(get_auth):
|
||||
# create dataset
|
||||
res = create_dataset(get_auth, "test_create_dataset")
|
||||
assert res.get("code") == 0, f"{res.get('message')}"
|
||||
@ -124,7 +124,8 @@ def test_update_different_params_dataset(get_auth):
|
||||
print(f"found {len(dataset_list)} datasets")
|
||||
dataset_id = dataset_list[0]
|
||||
|
||||
json_req = {"kb_id": dataset_id, "name": "test_update_dataset", "description": "test", "permission": "me", "parser_id": "presentation"}
|
||||
json_req = {"kb_id": dataset_id, "name": "test_update_dataset", "description": "test", "permission": "me", "parser_id": "presentation",
|
||||
"language": "spanish"}
|
||||
res = update_dataset(get_auth, json_req)
|
||||
assert res.get("code") == 0, f"{res.get('message')}"
|
||||
|
||||
@ -134,4 +135,36 @@ def test_update_different_params_dataset(get_auth):
|
||||
assert res.get("code") == 0, f"{res.get('message')}"
|
||||
print(f"{len(dataset_list)} datasets are deleted")
|
||||
|
||||
|
||||
# update dataset with different parameters
|
||||
def test_update_different_params_dataset_fail(get_auth):
|
||||
# create dataset
|
||||
res = create_dataset(get_auth, "test_create_dataset")
|
||||
assert res.get("code") == 0, f"{res.get('message')}"
|
||||
|
||||
# list dataset
|
||||
page_number = 1
|
||||
dataset_list = []
|
||||
while True:
|
||||
res = list_dataset(get_auth, page_number)
|
||||
data = res.get("data").get("kbs")
|
||||
for item in data:
|
||||
dataset_id = item.get("id")
|
||||
dataset_list.append(dataset_id)
|
||||
if len(dataset_list) < page_number * 150:
|
||||
break
|
||||
page_number += 1
|
||||
|
||||
print(f"found {len(dataset_list)} datasets")
|
||||
dataset_id = dataset_list[0]
|
||||
|
||||
json_req = {"kb_id": dataset_id, "id": "xxx"}
|
||||
res = update_dataset(get_auth, json_req)
|
||||
assert res.get("code") == 101
|
||||
|
||||
# delete dataset
|
||||
for dataset_id in dataset_list:
|
||||
res = rm_dataset(get_auth, dataset_id)
|
||||
assert res.get("code") == 0, f"{res.get('message')}"
|
||||
print(f"{len(dataset_list)} datasets are deleted")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user