Skip to content

Commit f2b8be9

Browse files
committed
fixes tests
1 parent 98afd5e commit f2b8be9

File tree

5 files changed

+39
-25
lines changed

5 files changed

+39
-25
lines changed

packages/models-library/tests/test_api_schemas_webserver_projects.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
@pytest.mark.parametrize(
3232
"api_call",
33-
(NEW_PROJECT, CREATE_FROM_SERVICE, CREATE_FROM_TEMPLATE),
33+
[NEW_PROJECT, CREATE_FROM_SERVICE, CREATE_FROM_TEMPLATE],
3434
ids=lambda c: c.name,
3535
)
3636
def test_create_project_schemas(api_call: HttpApiCallCapture):
@@ -45,7 +45,7 @@ def test_create_project_schemas(api_call: HttpApiCallCapture):
4545

4646
@pytest.mark.parametrize(
4747
"api_call",
48-
(LIST_PROJECTS,),
48+
[LIST_PROJECTS],
4949
ids=lambda c: c.name,
5050
)
5151
def test_list_project_schemas(api_call: HttpApiCallCapture):
@@ -59,7 +59,7 @@ def test_list_project_schemas(api_call: HttpApiCallCapture):
5959

6060
@pytest.mark.parametrize(
6161
"api_call",
62-
(GET_PROJECT, CREATE_FROM_TEMPLATE__TASK_RESULT),
62+
[GET_PROJECT, CREATE_FROM_TEMPLATE__TASK_RESULT],
6363
ids=lambda c: c.name,
6464
)
6565
def test_get_project_schemas(api_call: HttpApiCallCapture):
@@ -74,7 +74,7 @@ def test_get_project_schemas(api_call: HttpApiCallCapture):
7474

7575
@pytest.mark.parametrize(
7676
"api_call",
77-
(REPLACE_PROJECT, REPLACE_PROJECT_ON_MODIFIED),
77+
[REPLACE_PROJECT, REPLACE_PROJECT_ON_MODIFIED],
7878
ids=lambda c: c.name,
7979
)
8080
def test_replace_project_schemas(api_call: HttpApiCallCapture):

packages/pytest-simcore/src/pytest_simcore/simcore_webserver_projects_rest_api.py

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ def request_desc(self) -> str:
7676
"dev": None,
7777
"workspace_id": None,
7878
"folder_id": None,
79-
"trashed_at": None,
79+
"trashedAt": None,
80+
"trashed_by": None,
8081
},
8182
"error": None,
8283
},
@@ -102,7 +103,6 @@ def request_desc(self) -> str:
102103
"workbench": {},
103104
"workspaceId": 123,
104105
"folderId": 2,
105-
"trashedAt": "2021-12-06T10:13:18.100Z",
106106
"accessRights": {"2": {"read": True, "write": True, "delete": True}},
107107
"dev": {},
108108
"classifiers": [],
@@ -115,7 +115,8 @@ def request_desc(self) -> str:
115115
},
116116
"workspace_id": None,
117117
"folder_id": None,
118-
"trashed_at": None,
118+
"trashedAt": "2021-12-06T10:13:18.100Z",
119+
"trashedBy": 3,
119120
}
120121
},
121122
)
@@ -157,7 +158,8 @@ def request_desc(self) -> str:
157158
},
158159
"workspace_id": None,
159160
"folder_id": None,
160-
"trashed_at": None,
161+
"trashedAt": None,
162+
"trashed_by": None,
161163
}
162164
},
163165
)
@@ -287,7 +289,8 @@ def request_desc(self) -> str:
287289
},
288290
"workspace_id": None,
289291
"folder_id": None,
290-
"trashed_at": None,
292+
"trashedAt": None,
293+
"trashed_by": None,
291294
}
292295
},
293296
)
@@ -480,7 +483,8 @@ def request_desc(self) -> str:
480483
"dev": {},
481484
"workspace_id": None,
482485
"folder_id": None,
483-
"trashed_at": None,
486+
"trashedAt": None,
487+
"trashed_by": None,
484488
"classifiers": [],
485489
"ui": {
486490
"mode": "workbench",
@@ -681,7 +685,8 @@ def request_desc(self) -> str:
681685
"dev": {},
682686
"workspace_id": None,
683687
"folder_id": None,
684-
"trashed_at": None,
688+
"trashedAt": None,
689+
"trashed_by": None,
685690
"quality": {
686691
"enabled": True,
687692
"tsr_target": {
@@ -931,7 +936,8 @@ def request_desc(self) -> str:
931936
"dev": {},
932937
"workspace_id": None,
933938
"folder_id": None,
934-
"trashed_at": None,
939+
"trashedAt": None,
940+
"trashedBy": None,
935941
"quality": {
936942
"enabled": True,
937943
"tsr_target": {

services/api-server/tests/mocks/get_job_outputs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147
"workspaceId": 5,
148148
"folderId": 2,
149149
"trashedAt": null,
150+
"trashedBy": null,
150151
"workbench": {
151152
"dd875b4f-7663-529f-bd7f-3716b19e28af": {
152153
"key": "simcore/services/comp/itis/sleeper",

services/web/server/src/simcore_service_webserver/workspaces/_workspaces_repository.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ async def create_workspace(
8282
return Workspace.model_validate(row)
8383

8484

85-
def _create_base_query(caller_user_id: UserID, product_name: ProductName):
85+
def _create_base_select_query(caller_user_id: UserID, product_name: ProductName):
8686
# any other access
8787
access_rights_subquery = (
8888
select(
@@ -138,29 +138,34 @@ async def list_workspaces_for_user(
138138
limit: NonNegativeInt,
139139
order_by: OrderBy,
140140
) -> tuple[int, list[UserWorkspaceWithAccessRights]]:
141-
base_query = _create_base_query(caller_user_id=user_id, product_name=product_name)
141+
base_select_query = _create_base_select_query(
142+
caller_user_id=user_id, product_name=product_name
143+
)
142144

143145
if filter_trashed is not None:
144-
base_query = base_query.where(
146+
base_select_query = base_select_query.where(
145147
workspaces.c.trashed.is_not(None)
146148
if filter_trashed
147149
else workspaces.c.trashed.is_(None)
148150
)
149151
if filter_by_text is not None:
150-
base_query = base_query.where(
152+
base_select_query = base_select_query.where(
151153
(workspaces.c.name.ilike(f"%{filter_by_text}%"))
152154
| (workspaces.c.description.ilike(f"%{filter_by_text}%"))
153155
)
154156

155157
# Select total count from base_query
156-
subquery = base_query.subquery()
157-
count_query = select(func.count()).select_from(subquery)
158+
count_query = select(func.count()).select_from(base_select_query.subquery())
158159

159160
# Ordering and pagination
160161
if order_by.direction == OrderDirection.ASC:
161-
list_query = base_query.order_by(asc(getattr(workspaces.c, order_by.field)))
162+
list_query = base_select_query.order_by(
163+
asc(getattr(workspaces.c, order_by.field))
164+
)
162165
else:
163-
list_query = base_query.order_by(desc(getattr(workspaces.c, order_by.field)))
166+
list_query = base_select_query.order_by(
167+
desc(getattr(workspaces.c, order_by.field))
168+
)
164169
list_query = list_query.offset(offset).limit(limit)
165170

166171
async with pass_or_acquire_connection(get_asyncpg_engine(app), connection) as conn:
@@ -182,10 +187,12 @@ async def get_workspace_for_user(
182187
workspace_id: WorkspaceID,
183188
product_name: ProductName,
184189
) -> UserWorkspaceWithAccessRights:
185-
base_query = _create_base_query(caller_user_id=user_id, product_name=product_name)
190+
select_query = _create_base_select_query(
191+
caller_user_id=user_id, product_name=product_name
192+
)
186193

187194
async with pass_or_acquire_connection(get_asyncpg_engine(app), connection) as conn:
188-
result = await conn.stream(base_query)
195+
result = await conn.stream(select_query)
189196
row = await result.first()
190197
if row is None:
191198
raise WorkspaceAccessForbiddenError(

services/web/server/tests/unit/with_dbs/03/test_trash.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -513,12 +513,12 @@ async def workspace(
513513
# CREATE a workspace
514514
resp = await client.post("/v0/workspaces", json={"name": "My first workspace"})
515515
data, _ = await assert_status(resp, status.HTTP_201_CREATED)
516-
workspace = WorkspaceGet.model_validate(data)
516+
wks = WorkspaceGet.model_validate(data)
517517

518-
yield workspace
518+
yield wks
519519

520520
# DELETE a workspace
521-
resp = await client.delete(f"/v0/workspaces/{workspace.workspace_id}")
521+
resp = await client.delete(f"/v0/workspaces/{wks.workspace_id}")
522522
data, _ = await assert_status(resp, status.HTTP_204_NO_CONTENT)
523523

524524

0 commit comments

Comments
 (0)