| from ragflow import RAGFlow, Assistant | |
| from common import API_KEY, HOST_ADDRESS | |
| from test_sdkbase import TestSdk | |
| class TestAssistant(TestSdk): | |
| def test_create_assistant_with_success(self): | |
| """ | |
| Test creating an assistant with success | |
| """ | |
| rag = RAGFlow(API_KEY, HOST_ADDRESS) | |
| kb = rag.get_dataset(name="God") | |
| assistant = rag.create_assistant("God",knowledgebases=[kb]) | |
| if isinstance(assistant, Assistant): | |
| assert assistant.name == "God", "Name does not match." | |
| else: | |
| assert False, f"Failed to create assistant, error: {assistant}" | |
| def test_update_assistant_with_success(self): | |
| """ | |
| Test updating an assistant with success. | |
| """ | |
| rag = RAGFlow(API_KEY, HOST_ADDRESS) | |
| kb = rag.get_dataset(name="God") | |
| assistant = rag.create_assistant("ABC",knowledgebases=[kb]) | |
| if isinstance(assistant, Assistant): | |
| assert assistant.name == "ABC", "Name does not match." | |
| assistant.name = 'DEF' | |
| res = assistant.save() | |
| assert res is True, f"Failed to update assistant, error: {res}" | |
| else: | |
| assert False, f"Failed to create assistant, error: {assistant}" | |
| def test_delete_assistant_with_success(self): | |
| """ | |
| Test deleting an assistant with success | |
| """ | |
| rag = RAGFlow(API_KEY, HOST_ADDRESS) | |
| kb = rag.get_dataset(name="God") | |
| assistant = rag.create_assistant("MA",knowledgebases=[kb]) | |
| if isinstance(assistant, Assistant): | |
| assert assistant.name == "MA", "Name does not match." | |
| res = assistant.delete() | |
| assert res is True, f"Failed to delete assistant, error: {res}" | |
| else: | |
| assert False, f"Failed to create assistant, error: {assistant}" | |
| def test_list_assistants_with_success(self): | |
| """ | |
| Test listing assistants with success | |
| """ | |
| rag = RAGFlow(API_KEY, HOST_ADDRESS) | |
| list_assistants = rag.list_assistants() | |
| assert len(list_assistants) > 0, "Do not exist any assistant" | |
| for assistant in list_assistants: | |
| assert isinstance(assistant, Assistant), "Existence type is not assistant." | |
| def test_get_detail_assistant_with_success(self): | |
| """ | |
| Test getting an assistant's detail with success | |
| """ | |
| rag = RAGFlow(API_KEY, HOST_ADDRESS) | |
| assistant = rag.get_assistant(name="God") | |
| assert isinstance(assistant, Assistant), f"Failed to get assistant, error: {assistant}." | |
| assert assistant.name == "God", "Name does not match" | |