Skip to content

Commit 7562533

Browse files
Ken LippoldKen Lippold
authored andcommitted
Load default roles and types
1 parent 81c1862 commit 7562533

File tree

5 files changed

+42
-53
lines changed

5 files changed

+42
-53
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Generated by Django 5.2b1 on 2025-02-27 18:38
2+
3+
from django.db import migrations
4+
from django.core.management import call_command
5+
6+
7+
def load_fixtures(apps, schema_editor):
8+
call_command("loaddata", "iam/fixtures/default_roles.json")
9+
call_command("loaddata", "iam/fixtures/default_types.json")
10+
11+
12+
class Migration(migrations.Migration):
13+
dependencies = [
14+
("iam", "0008_alter_collaborator_role_alter_collaborator_user_and_more"),
15+
]
16+
17+
operations = [
18+
migrations.RunPython(load_fixtures),
19+
]

tests/fixtures/test_collaborators.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,29 @@
33
pk: 1000000010
44
fields:
55
user: 1000000011
6-
role: a7701d22-e716-4584-a18c-055c8c4f2bd6
6+
role: 2f05f775-5d8a-4778-9942-3d13a64ec7a3
77
workspace: 6e0deaf2-a92b-421b-9ece-86783265596f
88

99
# Public Workspace Viewer
1010
- model: iam.collaborator
1111
pk: 1000000011
1212
fields:
1313
user: 1000000012
14-
role: 702e2156-baee-451a-b7ee-dca8baeda378
14+
role: 1d91bff7-edf6-4b69-bb26-674436335725
1515
workspace: 6e0deaf2-a92b-421b-9ece-86783265596f
1616

1717
# Private Workspace Editor
1818
- model: iam.collaborator
1919
pk: 1000000012
2020
fields:
2121
user: 1000000011
22-
role: a7701d22-e716-4584-a18c-055c8c4f2bd6
22+
role: 2f05f775-5d8a-4778-9942-3d13a64ec7a3
2323
workspace: b27c51a0-7374-462d-8a53-d97d47176c10
2424

2525
# Private Workspace Viewer
2626
- model: iam.collaborator
2727
pk: 1000000013
2828
fields:
2929
user: 1000000012
30-
role: 702e2156-baee-451a-b7ee-dca8baeda378
30+
role: 1d91bff7-edf6-4b69-bb26-674436335725
3131
workspace: b27c51a0-7374-462d-8a53-d97d47176c10

tests/fixtures/test_roles.yaml

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,3 @@
1-
# Editor Role
2-
- model: iam.role
3-
pk: a7701d22-e716-4584-a18c-055c8c4f2bd6
4-
fields:
5-
name: "Editor"
6-
description: "Editor"
7-
8-
# Editor Permissions
9-
- model: iam.permission
10-
pk: 1000000010
11-
fields:
12-
role: a7701d22-e716-4584-a18c-055c8c4f2bd6
13-
permission_type: "*"
14-
resource_type: "*"
15-
16-
# Viewer Role
17-
- model: iam.role
18-
pk: 702e2156-baee-451a-b7ee-dca8baeda378
19-
fields:
20-
name: "Viewer"
21-
description: "Viewer"
22-
23-
# Viewer Permissions
24-
- model: iam.permission
25-
pk: 1000000011
26-
fields:
27-
role: 702e2156-baee-451a-b7ee-dca8baeda378
28-
permission_type: "view"
29-
resource_type: "*"
30-
311
# Private Role
322
- model: iam.role
333
pk: 60b9d8b1-28d1-4d0d-9bee-4e47219d0118

tests/iam/services/test_collaborator.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ def test_list_collaborator(get_user, user, workspace, message, error_code):
3232

3333

3434
@pytest.mark.parametrize("user, collaborator, workspace, role, message, error_code", [
35-
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
36-
("admin", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
35+
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
36+
("admin", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
3737
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", None, None),
38-
("owner", "limited", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
39-
("editor", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
40-
("viewer", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "You do not have permission", 403),
41-
("anonymous", "anonymous", "6e0deaf2-a92b-421b-9ece-86783265596f", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "You do not have permission", 403),
42-
("anonymous", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "Workspace does not exist", 404),
43-
("owner", "fake", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "No account with email", 400),
44-
("owner", "owner", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "Account with email", 400),
45-
("owner", "viewer", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "Account with email", 400),
38+
("owner", "limited", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
39+
("editor", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
40+
("viewer", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "You do not have permission", 403),
41+
("anonymous", "anonymous", "6e0deaf2-a92b-421b-9ece-86783265596f", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "You do not have permission", 403),
42+
("anonymous", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "Workspace does not exist", 404),
43+
("owner", "fake", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "No account with email", 400),
44+
("owner", "owner", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "Account with email", 400),
45+
("owner", "viewer", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "Account with email", 400),
4646
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "00000000-0000-0000-0000-000000000000", "Role does not exist", 404),
4747
("owner", "anonymous", "6e0deaf2-a92b-421b-9ece-86783265596f", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", "Role does not exist", 404),
4848
])
@@ -65,15 +65,15 @@ def test_create_collaborator(get_user, user, collaborator, workspace, role, mess
6565

6666

6767
@pytest.mark.parametrize("user, collaborator, workspace, role, message, error_code", [
68-
("owner", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
69-
("admin", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
68+
("owner", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
69+
("admin", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
7070
("owner", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", None, None),
71-
("editor", "viewer", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", None, None),
72-
("viewer", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "You do not have permission", 403),
73-
("anonymous", "editor", "6e0deaf2-a92b-421b-9ece-86783265596f", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "You do not have permission", 403),
74-
("anonymous", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "Workspace does not exist", 404),
75-
("owner", "fake", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "No collaborator with email", 400),
76-
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "No collaborator with email", 400),
71+
("editor", "viewer", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", None, None),
72+
("viewer", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "You do not have permission", 403),
73+
("anonymous", "editor", "6e0deaf2-a92b-421b-9ece-86783265596f", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "You do not have permission", 403),
74+
("anonymous", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "Workspace does not exist", 404),
75+
("owner", "fake", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "No collaborator with email", 400),
76+
("owner", "anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "No collaborator with email", 400),
7777
("owner", "editor", "b27c51a0-7374-462d-8a53-d97d47176c10", "00000000-0000-0000-0000-000000000000", "Role does not exist", 404),
7878
("owner", "editor", "6e0deaf2-a92b-421b-9ece-86783265596f", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", "Role does not exist", 404),
7979
])

tests/iam/services/test_role.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def test_list_role(get_user, user, workspace, length, message, error_code):
3838
@pytest.mark.parametrize("user, workspace, role, message, error_code", [
3939
("owner", "b27c51a0-7374-462d-8a53-d97d47176c10", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", "Private", None),
4040
("admin", "b27c51a0-7374-462d-8a53-d97d47176c10", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", "Private", None),
41-
("anonymous", "6e0deaf2-a92b-421b-9ece-86783265596f", "a7701d22-e716-4584-a18c-055c8c4f2bd6", "Editor", None),
41+
("anonymous", "6e0deaf2-a92b-421b-9ece-86783265596f", "2f05f775-5d8a-4778-9942-3d13a64ec7a3", "Editor", None),
4242
("owner", "00000000-0000-0000-0000-000000000000", "6e0deaf2-a92b-421b-9ece-86783265596f", "Workspace does not exist", 404),
4343
("owner", "b27c51a0-7374-462d-8a53-d97d47176c10", "00000000-0000-0000-0000-000000000000", "Role does not exist", 404),
4444
("anonymous", "b27c51a0-7374-462d-8a53-d97d47176c10", "60b9d8b1-28d1-4d0d-9bee-4e47219d0118", "Workspace does not exist", 404),

0 commit comments

Comments
 (0)