Test Cases (#2993)
### What problem does this PR solve? Test Cases ### Type of change - [x] Refactoring Co-authored-by: liuhua <10215101452@stu.ecun.edu.cn>
This commit is contained in:
@@ -1,57 +1,67 @@
|
||||
from ragflow import RAGFlow, Chat
|
||||
from xgboost.testing import datasets
|
||||
import time
|
||||
HOST_ADDRESS = 'http://127.0.0.1:9380'
|
||||
|
||||
from common import API_KEY, HOST_ADDRESS
|
||||
from test_sdkbase import TestSdk
|
||||
def test_create_chat_with_name(get_api_key_fixture):
|
||||
API_KEY = get_api_key_fixture
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_create_chat")
|
||||
displayed_name = "ragflow.txt"
|
||||
with open("./ragflow.txt","rb") as file:
|
||||
blob = file.read()
|
||||
document = {"displayed_name":displayed_name,"blob":blob}
|
||||
documents = []
|
||||
documents.append(document)
|
||||
doc_ids = []
|
||||
docs= kb.upload_documents(documents)
|
||||
for doc in docs:
|
||||
doc_ids.append(doc.id)
|
||||
kb.async_parse_documents(doc_ids)
|
||||
time.sleep(60)
|
||||
rag.create_chat("test_create", datasets=[kb])
|
||||
|
||||
|
||||
class TestChat(TestSdk):
|
||||
def test_create_chat_with_success(self):
|
||||
"""
|
||||
Test creating an chat with success
|
||||
"""
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_create_chat")
|
||||
chat = rag.create_chat("test_create", datasets=[kb])
|
||||
if isinstance(chat, Chat):
|
||||
assert chat.name == "test_create", "Name does not match."
|
||||
else:
|
||||
assert False, f"Failed to create chat, error: {chat}"
|
||||
def test_update_chat_with_name(get_api_key_fixture):
|
||||
API_KEY = get_api_key_fixture
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_update_chat")
|
||||
displayed_name = "ragflow.txt"
|
||||
with open("./ragflow.txt", "rb") as file:
|
||||
blob = file.read()
|
||||
document = {"displayed_name": displayed_name, "blob": blob}
|
||||
documents = []
|
||||
documents.append(document)
|
||||
doc_ids = []
|
||||
docs = kb.upload_documents(documents)
|
||||
for doc in docs:
|
||||
doc_ids.append(doc.id)
|
||||
kb.async_parse_documents(doc_ids)
|
||||
time.sleep(60)
|
||||
chat = rag.create_chat("test_update", datasets=[kb])
|
||||
chat.update({"name": "new_chat"})
|
||||
|
||||
def test_update_chat_with_success(self):
|
||||
"""
|
||||
Test updating an chat with success.
|
||||
"""
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_update_chat")
|
||||
chat = rag.create_chat("test_update", datasets=[kb])
|
||||
if isinstance(chat, Chat):
|
||||
assert chat.name == "test_update", "Name does not match."
|
||||
res=chat.update({"name":"new_chat"})
|
||||
assert res is None, f"Failed to update chat, error: {res}"
|
||||
else:
|
||||
assert False, f"Failed to create chat, error: {chat}"
|
||||
|
||||
def test_delete_chats_with_success(self):
|
||||
"""
|
||||
Test deleting an chat with success
|
||||
"""
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_delete_chat")
|
||||
chat = rag.create_chat("test_delete", datasets=[kb])
|
||||
if isinstance(chat, Chat):
|
||||
assert chat.name == "test_delete", "Name does not match."
|
||||
res = rag.delete_chats(ids=[chat.id])
|
||||
assert res is None, f"Failed to delete chat, error: {res}"
|
||||
else:
|
||||
assert False, f"Failed to create chat, error: {chat}"
|
||||
def test_delete_chats_with_success(get_api_key_fixture):
|
||||
API_KEY = get_api_key_fixture
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
kb = rag.create_dataset(name="test_delete_chat")
|
||||
displayed_name = "ragflow.txt"
|
||||
with open("./ragflow.txt", "rb") as file:
|
||||
blob = file.read()
|
||||
document = {"displayed_name": displayed_name, "blob": blob}
|
||||
documents = []
|
||||
documents.append(document)
|
||||
doc_ids = []
|
||||
docs = kb.upload_documents(documents)
|
||||
for doc in docs:
|
||||
doc_ids.append(doc.id)
|
||||
kb.async_parse_documents(doc_ids)
|
||||
time.sleep(60)
|
||||
chat = rag.create_chat("test_delete", datasets=[kb])
|
||||
rag.delete_chats(ids=[chat.id])
|
||||
|
||||
API_KEY = get_api_key_fixture
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
rag.list_chats()
|
||||
|
||||
|
||||
def test_list_chats_with_success(self):
|
||||
"""
|
||||
Test listing chats with success
|
||||
"""
|
||||
rag = RAGFlow(API_KEY, HOST_ADDRESS)
|
||||
list_chats = rag.list_chats()
|
||||
assert len(list_chats) > 0, "Do not exist any chat"
|
||||
for chat in list_chats:
|
||||
assert isinstance(chat, Chat), "Existence type is not chat."
|
||||
|
||||
Reference in New Issue
Block a user