Skip to content

Commit 139e3c7

Browse files
fix tests
1 parent 4286412 commit 139e3c7

File tree

4 files changed

+24
-18
lines changed

4 files changed

+24
-18
lines changed

services/web/server/src/simcore_service_webserver/conversations/_controller/_conversations_rest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
)
2626
from servicelib.mimetype_constants import MIMETYPE_APPLICATION_JSON
2727
from servicelib.rest_constants import RESPONSE_MODEL_POLICY
28-
from simcore_service_webserver.users import users_service
2928

3029
from ..._meta import API_VTAG as VTAG
3130
from ...login.decorators import login_required
3231
from ...models import AuthenticatedRequestContext
32+
from ...users import users_service
3333
from ...utils_aiohttp import envelope_json_response
3434
from .. import _conversation_service, conversations_service
3535
from ._common import ConversationPathParams, raise_unsupported_type

services/web/server/src/simcore_service_webserver/groups/_groups_repository.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -530,7 +530,7 @@ async def list_users_in_group_with_caller_check(
530530
]
531531

532532

533-
async def list_all_users_in_group(
533+
async def list_users_in_group(
534534
app: web.Application,
535535
connection: AsyncConnection | None = None,
536536
*,
@@ -550,13 +550,12 @@ async def list_all_users_in_group(
550550

551551
# Get all users in the group
552552
query = (
553-
sa.select(
554-
users.c.id,
555-
users.c.name,
556-
users.c.primary_gid,
557-
user_to_groups.c.access_rights,
553+
sa.select(*_GROUP_COLUMNS)
554+
.select_from(
555+
groups.join(
556+
user_to_groups, user_to_groups.c.gid == groups.c.gid, isouter=True
557+
).join(users, users.c.id == user_to_groups.c.uid)
558558
)
559-
.select_from(users.join(user_to_groups, users.c.id == user_to_groups.c.uid))
560559
.where(user_to_groups.c.gid == group_id)
561560
)
562561

services/web/server/src/simcore_service_webserver/groups/_groups_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ async def list_group_members_with_caller_check(
165165
async def list_group_members(
166166
app: web.Application, group_id: GroupID
167167
) -> list[GroupMember]:
168-
return await _groups_repository.list_all_users_in_group(app, group_id=group_id)
168+
return await _groups_repository.list_users_in_group(app, group_id=group_id)
169169

170170

171171
async def get_group_member(

services/web/server/tests/unit/with_dbs/04/conversations/test_conversations_rest.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from servicelib.aiohttp import status
2020
from simcore_service_webserver.conversations import _conversation_service
2121
from simcore_service_webserver.db.models import UserRole
22+
from simcore_service_webserver.projects.models import ProjectDict
2223

2324

2425
@pytest.fixture
@@ -411,34 +412,40 @@ async def test_conversations_error_handling(
411412
async def test_conversations_without_type_query_param(
412413
client: TestClient,
413414
logged_user: UserInfoDict,
415+
user_project: ProjectDict,
414416
):
415417
"""Test that endpoints require type query parameter"""
416-
base_url = client.app.router["list_conversations"].url_for()
417418

418-
# Create a conversation first
419-
body = {"name": "Test Conversation", "type": "SUPPORT"}
420-
resp = await client.post(f"{base_url}", json=body)
419+
# Create a conversation via project endpoint first
420+
project_id = f"{user_project['uuid']}"
421+
project_conversation_url = client.app.router["create_project_conversation"].url_for(
422+
project_id=f"{project_id}"
423+
)
424+
body = {"name": "Test Conversation", "type": "PROJECT_STATIC"}
425+
resp = await client.post(f"{project_conversation_url}", json=body)
421426
data, _ = await assert_status(resp, status.HTTP_201_CREATED)
422427
conversation_id = data["conversationId"]
423428

424-
# Test endpoints without type parameter should fail
425-
resp = await client.get(f"{base_url}")
429+
# Test list endpoint without type parameter should fail
430+
list_url = client.app.router["list_conversations"].url_for()
431+
resp = await client.get(f"{list_url}")
426432
await assert_status(resp, status.HTTP_422_UNPROCESSABLE_ENTITY)
427433

434+
# All other endpoints should be OK
428435
get_url = client.app.router["get_conversation"].url_for(
429436
conversation_id=conversation_id
430437
)
431438
resp = await client.get(f"{get_url}")
432-
await assert_status(resp, status.HTTP_422_UNPROCESSABLE_ENTITY)
439+
await assert_status(resp, status.HTTP_400_BAD_REQUEST)
433440

434441
update_url = client.app.router["update_conversation"].url_for(
435442
conversation_id=conversation_id
436443
)
437444
resp = await client.patch(f"{update_url}", json={"name": "Updated"})
438-
await assert_status(resp, status.HTTP_422_UNPROCESSABLE_ENTITY)
445+
await assert_status(resp, status.HTTP_400_BAD_REQUEST)
439446

440447
delete_url = client.app.router["delete_conversation"].url_for(
441448
conversation_id=conversation_id
442449
)
443450
resp = await client.delete(f"{delete_url}")
444-
await assert_status(resp, status.HTTP_422_UNPROCESSABLE_ENTITY)
451+
await assert_status(resp, status.HTTP_400_BAD_REQUEST)

0 commit comments

Comments
 (0)