File size: 2,136 Bytes
40a1db3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from ragflow import RAGFlow, Chat

from common import API_KEY, HOST_ADDRESS
from test_sdkbase import TestSdk


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", knowledgebases=[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_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", knowledgebases=[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", knowledgebases=[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_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."