Skip to content

Commit 014e276

Browse files
committed
fix test mocks
1 parent 621d0e1 commit 014e276

File tree

1 file changed

+31
-10
lines changed

1 file changed

+31
-10
lines changed

services/web/server/tests/unit/with_dbs/04/studies_dispatcher/test_studies_dispatcher_studies_access.py

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,28 @@
1818
from aiohttp import ClientResponse, ClientSession, web
1919
from aiohttp.test_utils import TestClient, TestServer
2020
from faker import Faker
21+
from models_library.api_schemas_rpc_async_jobs.async_jobs import AsyncJobStatus
22+
from models_library.progress_bar import ProgressReport
2123
from models_library.projects_state import ProjectLocked, ProjectStatus
24+
from models_library.users import UserID
2225
from pytest_mock import MockerFixture
2326
from pytest_simcore.aioresponses_mocker import AioResponsesMock
2427
from pytest_simcore.helpers.assert_checks import assert_status
2528
from pytest_simcore.helpers.webserver_login import UserInfoDict, UserRole
2629
from pytest_simcore.helpers.webserver_parametrizations import MockedStorageSubsystem
2730
from pytest_simcore.helpers.webserver_projects import NewProject, delete_all_projects
2831
from servicelib.aiohttp import status
29-
from servicelib.aiohttp.long_running_tasks.client import LRTask
30-
from servicelib.aiohttp.long_running_tasks.server import TaskProgress
3132
from servicelib.common_headers import UNDEFINED_DEFAULT_SIMCORE_USER_AGENT_VALUE
33+
from servicelib.rabbitmq.rpc_interfaces.async_jobs.async_jobs import (
34+
AsyncJobComposedResult,
35+
)
3236
from servicelib.rest_responses import unwrap_envelope
3337
from settings_library.utils_session import DEFAULT_SESSION_COOKIE_NAME
3438
from simcore_service_webserver.projects._projects_service import (
3539
submit_delete_project_task,
3640
)
3741
from simcore_service_webserver.projects.models import ProjectDict
42+
from simcore_service_webserver.projects.utils import NodesMap
3843
from simcore_service_webserver.users.api import (
3944
delete_user_without_projects,
4045
get_user_role,
@@ -143,7 +148,7 @@ def mocks_on_projects_api(mocker: MockerFixture) -> None:
143148

144149
@pytest.fixture
145150
async def storage_subsystem_mock_override(
146-
storage_subsystem_mock: MockedStorageSubsystem, mocker: MockerFixture
151+
storage_subsystem_mock: MockedStorageSubsystem, mocker: MockerFixture, faker: Faker
147152
) -> None:
148153
"""
149154
Mocks functions that require storage client
@@ -160,21 +165,37 @@ async def storage_subsystem_mock_override(
160165
)
161166

162167
async def _mock_copy_data_from_project(
163-
app, src_prj, dst_prj, nodes_map, user_id
164-
) -> AsyncGenerator[LRTask, None]:
168+
app: web.Application,
169+
*,
170+
source_project: ProjectDict,
171+
destination_project: ProjectDict,
172+
nodes_map: NodesMap,
173+
user_id: UserID,
174+
product_name: str,
175+
) -> AsyncGenerator[AsyncJobComposedResult, None]:
165176
print(
166-
f"MOCK copying data project {src_prj['uuid']} -> {dst_prj['uuid']} "
177+
f"MOCK copying data project {source_project['uuid']} -> {destination_project['uuid']} "
167178
f"with {len(nodes_map)} s3 objects by user={user_id}"
168179
)
169180

170-
yield LRTask(TaskProgress(message="pytest mocked fct, started"))
181+
yield AsyncJobComposedResult(
182+
AsyncJobStatus(
183+
job_id=faker.uuid4(cast_to=None),
184+
progress=ProgressReport(actual_value=0),
185+
done=False,
186+
)
187+
)
171188

172189
async def _mock_result():
173190
return None
174191

175-
yield LRTask(
176-
TaskProgress(message="pytest mocked fct, finished", percent=1.0),
177-
_result=_mock_result(),
192+
yield AsyncJobComposedResult(
193+
AsyncJobStatus(
194+
job_id=faker.uuid4(cast_to=None),
195+
progress=ProgressReport(actual_value=1),
196+
done=True,
197+
),
198+
_mock_result(),
178199
)
179200

180201
mock.side_effect = _mock_copy_data_from_project

0 commit comments

Comments
 (0)