mirror of
https://github.com/open-webui/open-webui
synced 2024-12-25 13:22:11 +00:00
93 lines
3.3 KiB
Python
93 lines
3.3 KiB
Python
from test.util.abstract_integration_test import AbstractPostgresTest
|
|
from test.util.mock_user import mock_webui_user
|
|
|
|
|
|
class TestPrompts(AbstractPostgresTest):
|
|
|
|
BASE_PATH = "/api/v1/prompts"
|
|
|
|
def test_prompts(self):
|
|
# Get all prompts
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.get(self.create_url("/"))
|
|
assert response.status_code == 200
|
|
assert len(response.json()) == 0
|
|
|
|
# Create a two new prompts
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.post(
|
|
self.create_url("/create"),
|
|
json={
|
|
"command": "/my-command",
|
|
"title": "Hello World",
|
|
"content": "description",
|
|
},
|
|
)
|
|
assert response.status_code == 200
|
|
with mock_webui_user(id="3"):
|
|
response = self.fast_api_client.post(
|
|
self.create_url("/create"),
|
|
json={
|
|
"command": "/my-command2",
|
|
"title": "Hello World 2",
|
|
"content": "description 2",
|
|
},
|
|
)
|
|
assert response.status_code == 200
|
|
|
|
# Get all prompts
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.get(self.create_url("/"))
|
|
assert response.status_code == 200
|
|
assert len(response.json()) == 2
|
|
|
|
# Get prompt by command
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.get(self.create_url("/command/my-command"))
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["command"] == "/my-command"
|
|
assert data["title"] == "Hello World"
|
|
assert data["content"] == "description"
|
|
assert data["user_id"] == "2"
|
|
|
|
# Update prompt
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.post(
|
|
self.create_url("/command/my-command2/update"),
|
|
json={
|
|
"command": "irrelevant for request",
|
|
"title": "Hello World Updated",
|
|
"content": "description Updated",
|
|
},
|
|
)
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["command"] == "/my-command2"
|
|
assert data["title"] == "Hello World Updated"
|
|
assert data["content"] == "description Updated"
|
|
assert data["user_id"] == "3"
|
|
|
|
# Get prompt by command
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.get(self.create_url("/command/my-command2"))
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["command"] == "/my-command2"
|
|
assert data["title"] == "Hello World Updated"
|
|
assert data["content"] == "description Updated"
|
|
assert data["user_id"] == "3"
|
|
|
|
# Delete prompt
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.delete(
|
|
self.create_url("/command/my-command/delete")
|
|
)
|
|
assert response.status_code == 200
|
|
|
|
# Get all prompts
|
|
with mock_webui_user(id="2"):
|
|
response = self.fast_api_client.get(self.create_url("/"))
|
|
assert response.status_code == 200
|
|
assert len(response.json()) == 1
|