Spaces:
Running
Running
Download tests/test_collaboration.py from basyx/MediaRouter: direct link, hf CLI and curl.
- Browser
- Download file 1.4 kB
-
https://huggingface.co/spaces/basyx/MediaRouter/resolve/main/tests/test_collaboration.py
- Command line
-
hf download hf://spaces/basyx/MediaRouter/tests/test_collaboration.py
-
curl -L -o test_collaboration.py https://huggingface.co/spaces/basyx/MediaRouter/resolve/main/tests/test_collaboration.py
1.4 kB
| import pytest | |
| from app.projects.repositories.collaboration_repository import CollaborationRepository | |
| from app.projects.services.collaboration_service import CollaborationService | |
| from app.projects.errors import CollaborationUnauthorizedError | |
| async def test_collaboration_logic_admin_removal_constraint(db_session): | |
| # Setup test workspace and admin users | |
| repo = CollaborationRepository(db_session) | |
| service = CollaborationService(repo) | |
| workspace_id = "test_workspace" | |
| admin_user_id = "admin_user" | |
| target_user_id = "member_user" | |
| # 1. Mock memberships: 2 admins | |
| # Use actual DB insert here if needed for true integration test | |
| # ... setup DB state ... | |
| # 2. Test prevention of last admin removal | |
| with pytest.raises(CollaborationUnauthorizedError, match="Cannot remove the last administrator."): | |
| await service.remove_member(workspace_id, admin_user_id, target_user_id) | |
| async def test_collaboration_logic_self_elevation_prevention(db_session): | |
| repo = CollaborationRepository(db_session) | |
| service = CollaborationService(repo) | |
| workspace_id = "test_workspace" | |
| actor_user_id = "user_1" | |
| with pytest.raises(CollaborationUnauthorizedError, match="Cannot elevate your own privileges."): | |
| await service.update_member_role(workspace_id, actor_user_id, actor_user_id, "admin") | |