Skip to content

Commit bfee222

Browse files
committed
add test without checks
1 parent 08741d4 commit bfee222

File tree

2 files changed

+46
-22
lines changed

2 files changed

+46
-22
lines changed

services/api-server/tests/unit/api_functions/test_api_routers_functions.py

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import datetime
55
from collections.abc import Callable
6+
from pathlib import Path
67
from typing import Any
78
from uuid import uuid4
89

@@ -17,7 +18,7 @@
1718
RegisteredProjectFunction,
1819
RegisteredProjectFunctionJob,
1920
)
20-
from models_library.functions import FunctionUserAccessRights
21+
from models_library.functions import FunctionUserAccessRights, RegisteredFunctionJob
2122
from models_library.functions_errors import (
2223
FunctionIDNotFoundError,
2324
FunctionReadAccessDeniedError,
@@ -615,3 +616,47 @@ async def test_run_function_not_allowed(
615616
assert response.json()["errors"][0] == (
616617
f"Function {mock_registered_function.uid} execute access denied for user {user_id}"
617618
)
619+
620+
621+
async def test_run_function_parent_info(
622+
client: AsyncClient,
623+
mock_handler_in_functions_rpc_interface: Callable[[str, Any], None],
624+
mock_registered_function: RegisteredProjectFunction,
625+
mock_registered_function_job: RegisteredFunctionJob,
626+
auth: httpx.BasicAuth,
627+
user_id: UserID,
628+
mocked_webserver_rest_api_base: respx.MockRouter,
629+
mocked_directorv2_rest_api_base: respx.MockRouter,
630+
mocked_webserver_rpc_api: dict[str, MockType],
631+
create_respx_mock_from_capture,
632+
project_tests_dir: Path,
633+
) -> None:
634+
635+
capture = "run_function_parent_info.json"
636+
create_respx_mock_from_capture(
637+
respx_mocks=[mocked_webserver_rest_api_base, mocked_directorv2_rest_api_base],
638+
capture_path=project_tests_dir / "mocks" / capture,
639+
side_effects_callbacks=[],
640+
)
641+
642+
mock_handler_in_functions_rpc_interface(
643+
"get_function_user_permissions",
644+
FunctionUserAccessRights(
645+
user_id=user_id,
646+
execute=True,
647+
read=True,
648+
write=True,
649+
),
650+
)
651+
mock_handler_in_functions_rpc_interface("get_function", mock_registered_function)
652+
mock_handler_in_functions_rpc_interface("find_cached_function_jobs", [])
653+
mock_handler_in_functions_rpc_interface(
654+
"register_function_job", mock_registered_function_job
655+
)
656+
657+
response = await client.post(
658+
f"{API_VTAG}/functions/{mock_registered_function.uid}:run",
659+
json={},
660+
auth=auth,
661+
)
662+
assert response.status_code == status.HTTP_200_OK

services/api-server/tests/unit/conftest.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -715,27 +715,6 @@ def _mock(webserver_mock_router: MockRouter) -> MockRouter:
715715
return _mock
716716

717717

718-
@pytest.fixture
719-
def mock_webserver_patch_project(
720-
app: FastAPI, faker: Faker, services_mocks_enabled: bool
721-
) -> Callable[[MockRouter], MockRouter]:
722-
settings: ApplicationSettings = app.state.settings
723-
assert settings.API_SERVER_WEBSERVER is not None
724-
725-
def _mock(webserver_mock_router: MockRouter) -> MockRouter:
726-
def _patch_project(request: httpx.Request, *args, **kwargs):
727-
return httpx.Response(status.HTTP_200_OK)
728-
729-
if services_mocks_enabled:
730-
webserver_mock_router.patch(
731-
path__regex=r"/projects/(?P<project_id>[\w-]+)$",
732-
name="project_patch",
733-
).mock(side_effect=_patch_project)
734-
return webserver_mock_router
735-
736-
return _mock
737-
738-
739718
@pytest.fixture
740719
def openapi_dev_specs(project_slug_dir: Path) -> dict[str, Any]:
741720
openapi_file = (project_slug_dir / "openapi-dev.json").resolve()

0 commit comments

Comments
 (0)