test_models.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from test.util.abstract_integration_test import AbstractPostgresTest
  2. from test.util.mock_user import mock_webui_user
  3. class TestModels(AbstractPostgresTest):
  4. BASE_PATH = "/api/v1/models"
  5. def setup_class(cls):
  6. super().setup_class()
  7. from apps.webui.models.models import Model
  8. cls.models = Model
  9. def test_models(self):
  10. with mock_webui_user(id="2"):
  11. response = self.fast_api_client.get(self.create_url("/"))
  12. assert response.status_code == 200
  13. assert len(response.json()) == 0
  14. with mock_webui_user(id="2"):
  15. response = self.fast_api_client.post(
  16. self.create_url("/add"),
  17. json={
  18. "id": "my-model",
  19. "base_model_id": "base-model-id",
  20. "name": "Hello World",
  21. "meta": {
  22. "profile_image_url": "/favicon.png",
  23. "description": "description",
  24. "capabilities": None,
  25. "model_config": {},
  26. },
  27. "params": {},
  28. },
  29. )
  30. assert response.status_code == 200
  31. with mock_webui_user(id="2"):
  32. response = self.fast_api_client.get(self.create_url("/"))
  33. assert response.status_code == 200
  34. assert len(response.json()) == 1
  35. with mock_webui_user(id="2"):
  36. response = self.fast_api_client.get(self.create_url(query_params={"id": "my-model"}))
  37. assert response.status_code == 200
  38. data = response.json()[0]
  39. assert data["id"] == "my-model"
  40. assert data["name"] == "Hello World"
  41. with mock_webui_user(id="2"):
  42. response = self.fast_api_client.delete(
  43. self.create_url("/delete?id=my-model")
  44. )
  45. assert response.status_code == 200
  46. with mock_webui_user(id="2"):
  47. response = self.fast_api_client.get(self.create_url("/"))
  48. assert response.status_code == 200
  49. assert len(response.json()) == 0