diff --git a/backend/app/api/routes/documents.py b/backend/app/api/routes/documents.py index 399dfa5b..e75fd25b 100644 --- a/backend/app/api/routes/documents.py +++ b/backend/app/api/routes/documents.py @@ -17,7 +17,7 @@ router = APIRouter(prefix="/documents", tags=["documents"]) -@router.get("/ls", response_model=APIResponse[List[Document]]) +@router.get("/list", response_model=APIResponse[List[Document]]) def list_docs( session: SessionDep, current_user: CurrentUser, @@ -35,7 +35,7 @@ def list_docs( return APIResponse.success_response(data) -@router.post("/cp", response_model=APIResponse[Document]) +@router.post("/upload", response_model=APIResponse[Document]) def upload_doc( session: SessionDep, current_user: CurrentUser, @@ -68,10 +68,10 @@ def upload_doc( @router.get( - "/rm/{doc_id}", + "/remove/{doc_id}", response_model=APIResponse[Document], ) -def delete_doc( +def remove_doc( session: SessionDep, current_user: CurrentUser, doc_id: UUID, @@ -91,7 +91,7 @@ def delete_doc( return APIResponse.success_response(data) -@router.get("/stat/{doc_id}", response_model=APIResponse[Document]) +@router.get("/info/{doc_id}", response_model=APIResponse[Document]) def doc_info( session: SessionDep, current_user: CurrentUser, diff --git a/backend/app/tests/api/routes/documents/test_route_stat.py b/backend/app/tests/api/routes/documents/test_route_document_info.py similarity index 88% rename from backend/app/tests/api/routes/documents/test_route_stat.py rename to backend/app/tests/api/routes/documents/test_route_document_info.py index 28dc75dd..3f077935 100644 --- a/backend/app/tests/api/routes/documents/test_route_stat.py +++ b/backend/app/tests/api/routes/documents/test_route_document_info.py @@ -14,10 +14,10 @@ @pytest.fixture def route(): - return Route("stat") + return Route("info") -class TestDocumentRouteStat: +class TestDocumentRouteInfo: def test_response_is_success( self, db: Session, @@ -29,7 +29,7 @@ def test_response_is_success( assert response.is_success - def test_stat_reflects_database( + def test_info_reflects_database( self, db: Session, route: Route, @@ -43,7 +43,7 @@ def test_stat_reflects_database( assert source == target.data - def test_cannot_stat_unknown_document( + def test_cannot_info_unknown_document( self, db: Session, route: Route, diff --git a/backend/app/tests/api/routes/documents/test_route_ls.py b/backend/app/tests/api/routes/documents/test_route_document_list.py similarity index 98% rename from backend/app/tests/api/routes/documents/test_route_ls.py rename to backend/app/tests/api/routes/documents/test_route_document_list.py index 45c93521..b488b9ae 100644 --- a/backend/app/tests/api/routes/documents/test_route_ls.py +++ b/backend/app/tests/api/routes/documents/test_route_document_list.py @@ -21,7 +21,7 @@ def pushq(self, key, value): @pytest.fixture def route(): - return QueryRoute("ls") + return QueryRoute("list") class TestDocumentRouteList: diff --git a/backend/app/tests/api/routes/documents/test_route_delete.py b/backend/app/tests/api/routes/documents/test_route_document_remove.py similarity index 73% rename from backend/app/tests/api/routes/documents/test_route_delete.py rename to backend/app/tests/api/routes/documents/test_route_document_remove.py index 93b0d2df..7b01cc2f 100644 --- a/backend/app/tests/api/routes/documents/test_route_delete.py +++ b/backend/app/tests/api/routes/documents/test_route_document_remove.py @@ -1,4 +1,5 @@ import pytest +import openai_responses from sqlmodel import Session, select from app.models import Document @@ -9,14 +10,18 @@ WebCrawler, crawler, ) +from app.tests.utils.collection import get_collection +from app.tests.utils.utils import openai_credentials @pytest.fixture def route(): - return Route("rm") + return Route("remove") -class TestDocumentRouteDelete: +@pytest.mark.usefixtures("openai_credentials") +class TestDocumentRouteRemove: + @openai_responses.mock() def test_response_is_success( self, db: Session, @@ -28,7 +33,8 @@ def test_response_is_success( assert response.is_success - def test_item_is_soft_deleted( + @openai_responses.mock() + def test_item_is_soft_removed( self, db: Session, route: Route, @@ -44,7 +50,8 @@ def test_item_is_soft_deleted( assert result.deleted_at is not None - def test_cannot_delete_unknown_document( + @openai_responses.mock() + def test_cannot_remove_unknown_document( self, db: Session, route: Route, diff --git a/backend/app/tests/api/routes/documents/test_route_upload.py b/backend/app/tests/api/routes/documents/test_route_document_upload.py similarity index 98% rename from backend/app/tests/api/routes/documents/test_route_upload.py rename to backend/app/tests/api/routes/documents/test_route_document_upload.py index d9654d05..aa28d23f 100644 --- a/backend/app/tests/api/routes/documents/test_route_upload.py +++ b/backend/app/tests/api/routes/documents/test_route_document_upload.py @@ -41,7 +41,7 @@ def scratch(): @pytest.fixture def route(): - return Route("cp") + return Route("upload") @pytest.fixture diff --git a/backend/app/tests/crud/collections/test_crud_collection_create.py b/backend/app/tests/crud/collections/test_crud_collection_create.py index 89302fe8..564230b3 100644 --- a/backend/app/tests/crud/collections/test_crud_collection_create.py +++ b/backend/app/tests/crud/collections/test_crud_collection_create.py @@ -5,7 +5,8 @@ from app.crud import CollectionCrud from app.models import DocumentCollection from app.tests.utils.document import DocumentStore -from app.tests.utils.collection import get_collection, openai_credentials +from app.tests.utils.collection import get_collection +from app.tests.utils.utils import openai_credentials @pytest.mark.usefixtures("openai_credentials") diff --git a/backend/app/tests/crud/collections/test_crud_collection_delete.py b/backend/app/tests/crud/collections/test_crud_collection_delete.py index 655fec46..58d552d1 100644 --- a/backend/app/tests/crud/collections/test_crud_collection_delete.py +++ b/backend/app/tests/crud/collections/test_crud_collection_delete.py @@ -7,11 +7,8 @@ from app.crud import CollectionCrud from app.crud.rag import OpenAIAssistantCrud from app.tests.utils.document import DocumentStore -from app.tests.utils.collection import ( - get_collection, - openai_credentials, - uuid_increment, -) +from app.tests.utils.collection import get_collection, uuid_increment +from app.tests.utils.utils import openai_credentials @pytest.mark.usefixtures("openai_credentials") diff --git a/backend/app/tests/crud/collections/test_crud_collection_read_all.py b/backend/app/tests/crud/collections/test_crud_collection_read_all.py index c735e730..39eb36e9 100644 --- a/backend/app/tests/crud/collections/test_crud_collection_read_all.py +++ b/backend/app/tests/crud/collections/test_crud_collection_read_all.py @@ -7,7 +7,8 @@ from app.core.config import settings from app.models import Collection from app.tests.utils.document import DocumentStore -from app.tests.utils.collection import get_collection, openai_credentials +from app.tests.utils.collection import get_collection +from app.tests.utils.utils import openai_credentials def create_collections(db: Session, n: int): diff --git a/backend/app/tests/crud/collections/test_crud_collection_read_one.py b/backend/app/tests/crud/collections/test_crud_collection_read_one.py index 801f6be7..6c28f31b 100644 --- a/backend/app/tests/crud/collections/test_crud_collection_read_one.py +++ b/backend/app/tests/crud/collections/test_crud_collection_read_one.py @@ -7,11 +7,8 @@ from app.core.config import settings from app.crud import CollectionCrud from app.tests.utils.document import DocumentStore -from app.tests.utils.collection import ( - get_collection, - openai_credentials, - uuid_increment, -) +from app.tests.utils.collection import get_collection, uuid_increment +from app.tests.utils.utils import openai_credentials def mk_collection(db: Session): diff --git a/backend/app/tests/utils/collection.py b/backend/app/tests/utils/collection.py index 36c2642e..c4b4804d 100644 --- a/backend/app/tests/utils/collection.py +++ b/backend/app/tests/utils/collection.py @@ -1,6 +1,5 @@ from uuid import UUID -import pytest from openai import OpenAI from sqlmodel import Session @@ -11,7 +10,6 @@ class constants: openai_model = "gpt-4o" - openai_mock_key = "sk-fake123" llm_service_name = "test-service-name" @@ -47,8 +45,3 @@ def get_collection(db: Session, client=None): llm_service_id=assistant.id, llm_service_name=constants.llm_service_name, ) - - -@pytest.fixture(scope="class") -def openai_credentials(): - settings.OPENAI_API_KEY = constants.openai_mock_key diff --git a/backend/app/tests/utils/utils.py b/backend/app/tests/utils/utils.py index 2b329b31..271b338e 100644 --- a/backend/app/tests/utils/utils.py +++ b/backend/app/tests/utils/utils.py @@ -2,6 +2,7 @@ import string from uuid import UUID +import pytest from fastapi.testclient import TestClient from sqlmodel import Session @@ -9,6 +10,11 @@ from app.crud.user import get_user_by_email +@pytest.fixture(scope="class") +def openai_credentials(): + settings.OPENAI_API_KEY = "sk-fake123" + + def random_lower_string() -> str: return "".join(random.choices(string.ascii_lowercase, k=32))