Skip to content

Commit 0d6b7f5

Browse files
fix tests
1 parent 61606da commit 0d6b7f5

File tree

9 files changed

+24
-100
lines changed

9 files changed

+24
-100
lines changed

services/web/server/src/simcore_service_webserver/folders/_folders_repository.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -277,19 +277,21 @@ async def list_folders_db_as_admin(
277277
"""
278278
NOTE: this is app-wide i.e. no product, user or workspace filtered
279279
"""
280-
base_query = sql.select(*_FOLDER_DB_MODEL_COLS).where(
281-
folders_v2.c.trashed.is_not(None)
282-
)
280+
base_query = sql.select(*_FOLDER_DB_MODEL_COLS)
283281

284282
if is_set(trashed_explicitly):
285283
assert isinstance(trashed_explicitly, bool) # nosec
286284
base_query = base_query.where(
287-
folders_v2.c.trashed_explicitly.is_(trashed_explicitly)
285+
(folders_v2.c.trashed_explicitly.is_(trashed_explicitly))
286+
& (folders_v2.c.trashed.is_not(None))
288287
)
289288

290289
if is_set(trashed_before):
291290
assert isinstance(trashed_before, datetime) # nosec
292-
base_query = base_query.where(folders_v2.c.trashed < trashed_before)
291+
base_query = base_query.where(
292+
(folders_v2.c.trashed < trashed_before)
293+
& (folders_v2.c.trashed.is_not(None))
294+
)
293295

294296
if is_set(shared_workspace_id):
295297
assert isinstance(shared_workspace_id, int) # nosec

services/web/server/tests/unit/with_dbs/04/folders/test_folders.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
# pylint: disable=too-many-statements
66

77

8-
import asyncio
98
from http import HTTPStatus
109
from unittest import mock
1110

@@ -21,7 +20,6 @@
2120
standard_role_response,
2221
)
2322
from servicelib.aiohttp import status
24-
from servicelib.aiohttp.application_keys import APP_FIRE_AND_FORGET_TASKS_KEY
2523
from simcore_service_webserver.db.models import UserRole
2624
from simcore_service_webserver.projects._groups_repository import (
2725
GroupID,
@@ -495,15 +493,6 @@ async def test_folders_deletion(
495493
resp = await client.delete(f"{url}")
496494
await assert_status(resp, status.HTTP_204_NO_CONTENT)
497495

498-
fire_and_forget_task: asyncio.Task = next(
499-
iter(client.app[APP_FIRE_AND_FORGET_TASKS_KEY])
500-
)
501-
assert fire_and_forget_task.get_name().startswith(
502-
"fire_and_forget_task_delete_project_task_"
503-
)
504-
await fire_and_forget_task
505-
assert len(client.app[APP_FIRE_AND_FORGET_TASKS_KEY]) == 0
506-
507496
# list root projects (The project should have been deleted)
508497
url = client.app.router["list_projects"].url_for()
509498
resp = await client.get(f"{url}")

services/web/server/tests/unit/with_dbs/04/workspaces/conftest.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import pytest
77
import sqlalchemy as sa
8+
from pytest_mock import MockerFixture
89
from simcore_postgres_database.models.projects import projects
910
from simcore_postgres_database.models.workspaces import workspaces
1011

@@ -15,3 +16,17 @@ def workspaces_clean_db(postgres_db: sa.engine.Engine) -> Iterator[None]:
1516
yield
1617
con.execute(workspaces.delete())
1718
con.execute(projects.delete())
19+
20+
21+
@pytest.fixture
22+
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
23+
mocker.patch(
24+
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
25+
spec=True,
26+
return_value=[],
27+
)
28+
mocker.patch(
29+
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
30+
spec=True,
31+
return_value=True,
32+
)

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from aiohttp.test_utils import TestClient
1212
from models_library.api_schemas_webserver.workspaces import WorkspaceGet
1313
from models_library.rest_ordering import OrderDirection
14+
from pytest_mock import MockerFixture
1415
from pytest_simcore.helpers.assert_checks import assert_status
1516
from pytest_simcore.helpers.webserver_login import UserInfoDict
1617
from pytest_simcore.helpers.webserver_parametrizations import (
@@ -63,6 +64,7 @@ async def test_workspaces_workflow(
6364
logged_user: UserInfoDict,
6465
user_project: ProjectDict,
6566
expected: HTTPStatus,
67+
mock_catalog_api_get_services_for_user_in_product: MockerFixture,
6668
workspaces_clean_db: AsyncIterator[None],
6769
):
6870
assert client.app

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__delete_workspace_with_content.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,6 @@
2020
from simcore_service_webserver.db.models import UserRole
2121
from simcore_service_webserver.projects.models import ProjectDict
2222

23-
24-
@pytest.fixture
25-
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
26-
mocker.patch(
27-
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
28-
spec=True,
29-
return_value=[],
30-
)
31-
mocker.patch(
32-
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
33-
spec=True,
34-
return_value=True,
35-
)
36-
37-
3823
# @pytest.mark.parametrize("user_role,expected", [(UserRole.USER, status.HTTP_200_OK)])
3924
# async def test_workspaces_full_workflow_deletion(
4025
# client: TestClient,

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__folders_and_projects_crud.py

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
# pylint: disable=too-many-statements
66

77

8-
import asyncio
98
from copy import deepcopy
109
from http import HTTPStatus
1110
from unittest import mock
@@ -19,25 +18,10 @@
1918
from pytest_simcore.helpers.webserver_projects import create_project
2019
from pytest_simcore.helpers.webserver_workspaces import update_or_insert_workspace_group
2120
from servicelib.aiohttp import status
22-
from servicelib.aiohttp.application_keys import APP_FIRE_AND_FORGET_TASKS_KEY
2321
from simcore_service_webserver.db.models import UserRole
2422
from simcore_service_webserver.projects.models import ProjectDict
2523

2624

27-
@pytest.fixture
28-
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
29-
mocker.patch(
30-
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
31-
spec=True,
32-
return_value=[],
33-
)
34-
mocker.patch(
35-
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
36-
spec=True,
37-
return_value=True,
38-
)
39-
40-
4125
@pytest.mark.parametrize("user_role,expected", [(UserRole.USER, status.HTTP_200_OK)])
4226
async def test_workspaces_full_workflow_with_folders_and_projects(
4327
client: TestClient,
@@ -365,16 +349,6 @@ async def test_workspaces_delete_folders(
365349
resp = await client.delete(f"{url}")
366350
await assert_status(resp, status.HTTP_204_NO_CONTENT)
367351

368-
fire_and_forget_tasks = list(client.app[APP_FIRE_AND_FORGET_TASKS_KEY])
369-
t1: asyncio.Task = fire_and_forget_tasks[0]
370-
t2: asyncio.Task = fire_and_forget_tasks[1]
371-
assert t1.get_name().startswith("fire_and_forget_task_delete_project_task_")
372-
assert t2.get_name().startswith("fire_and_forget_task_delete_project_task_")
373-
await t1
374-
await t2
375-
376-
assert len(client.app[APP_FIRE_AND_FORGET_TASKS_KEY]) == 0
377-
378352
# List project in workspace (The projects should have been deleted)
379353
url = (
380354
client.app.router["list_projects"]

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__list_projects_full_search.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,6 @@
1919
from simcore_service_webserver.db.models import UserRole
2020
from simcore_service_webserver.projects.models import ProjectDict
2121

22-
23-
@pytest.fixture
24-
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
25-
mocker.patch(
26-
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
27-
spec=True,
28-
return_value=[],
29-
)
30-
mocker.patch(
31-
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
32-
spec=True,
33-
return_value=True,
34-
)
35-
36-
3722
_SEARCH_NAME_1 = "Quantum Solutions"
3823
_SEARCH_NAME_2 = "Orion solution"
3924
_SEARCH_NAME_3 = "Skyline solutions"

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__moving_folders_between_workspaces.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,6 @@ def user_role() -> UserRole:
2525
return UserRole.USER
2626

2727

28-
@pytest.fixture
29-
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
30-
mocker.patch(
31-
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
32-
spec=True,
33-
return_value=[],
34-
)
35-
mocker.patch(
36-
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
37-
spec=True,
38-
return_value=True,
39-
)
40-
41-
4228
@pytest.fixture
4329
async def moving_folder_id(
4430
client: TestClient,

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__moving_projects_between_workspaces.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,6 @@
2525
from simcore_service_webserver.projects.models import ProjectDict
2626

2727

28-
@pytest.fixture
29-
def mock_catalog_api_get_services_for_user_in_product(mocker: MockerFixture):
30-
mocker.patch(
31-
"simcore_service_webserver.projects._crud_api_read.catalog_service.get_services_for_user_in_product",
32-
spec=True,
33-
return_value=[],
34-
)
35-
mocker.patch(
36-
"simcore_service_webserver.projects._controller.projects_rest.project_uses_available_services",
37-
spec=True,
38-
return_value=True,
39-
)
40-
41-
4228
@pytest.mark.parametrize(*standard_role_response(), ids=str)
4329
async def test_moving_between_workspaces_user_role_permissions(
4430
client: TestClient,

0 commit comments

Comments
 (0)