|
from test.util.abstract_integration_test import AbstractPostgresTest |
|
from test.util.mock_user import mock_webui_user |
|
|
|
|
|
class TestModels(AbstractPostgresTest): |
|
BASE_PATH = "/api/v1/models" |
|
|
|
def setup_class(cls): |
|
super().setup_class() |
|
from open_webui.apps.webui.models.models import Model |
|
|
|
cls.models = Model |
|
|
|
def test_models(self): |
|
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 |
|
|
|
with mock_webui_user(id="2"): |
|
response = self.fast_api_client.post( |
|
self.create_url("/add"), |
|
json={ |
|
"id": "my-model", |
|
"base_model_id": "base-model-id", |
|
"name": "Hello World", |
|
"meta": { |
|
"profile_image_url": "/static/favicon.png", |
|
"description": "description", |
|
"capabilities": None, |
|
"model_config": {}, |
|
}, |
|
"params": {}, |
|
}, |
|
) |
|
assert response.status_code == 200 |
|
|
|
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 |
|
|
|
with mock_webui_user(id="2"): |
|
response = self.fast_api_client.get( |
|
self.create_url(query_params={"id": "my-model"}) |
|
) |
|
assert response.status_code == 200 |
|
data = response.json()[0] |
|
assert data["id"] == "my-model" |
|
assert data["name"] == "Hello World" |
|
|
|
with mock_webui_user(id="2"): |
|
response = self.fast_api_client.delete( |
|
self.create_url("/delete?id=my-model") |
|
) |
|
assert response.status_code == 200 |
|
|
|
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 |
|
|