|
5 | 5 | from ansible_base.lib.utils.response import get_relative_url |
6 | 6 | from ansible_base.rbac import permission_registry |
7 | 7 | from ansible_base.rbac.remote import RemoteObject |
| 8 | +from ansible_base.rbac.models import RoleUserAssignment |
8 | 9 | from test_app.models import Organization |
9 | 10 |
|
10 | 11 | # Role Definitions |
@@ -111,5 +112,28 @@ def test_give_permission_to_remote_object_uuid(admin_api_client, rando, foo_type |
111 | 112 | data = {"role_definition": foo_rd_uuid.id, "user": rando.pk, "object_id": pk_value} |
112 | 113 | response = admin_api_client.post(path=url, data=data) |
113 | 114 | assert response.status_code == 201, response.data |
| 115 | + assignment = RoleUserAssignment.objects.get(pk=response.data['id']) |
| 116 | + |
| 117 | + # Test that we can serialize the assignment in a GET |
| 118 | + response = admin_api_client.get(url) |
| 119 | + assert response.status_code == 200, response.data |
| 120 | + valid_items = [item for item in response.data['results'] if item['id'] == assignment.id] |
| 121 | + assert len(valid_items) == 1 |
| 122 | + assignment_data = valid_items[0] |
| 123 | + import pdb; pdb.set_trace() |
| 124 | + assert 'content_object' in assignment_data |
| 125 | + assert assignment_data['content_object']['object_id'] == str(a_foo.object_id) |
114 | 126 |
|
115 | 127 | assert rando.has_obj_perm(a_foo, 'foo') |
| 128 | + |
| 129 | + service_url = get_relative_url('serviceuserassignment-list') |
| 130 | + response = admin_api_client.get(service_url + f'?user={rando.id}', format="json") |
| 131 | + assert response.status_code == 200, response.data |
| 132 | + assert response.data['count'] == 1 |
| 133 | + assignment_data = response.data['results'][0] |
| 134 | + assert assignment_data['object_id'] == str(assignment.object_id) |
| 135 | + |
| 136 | + from ansible_base.rbac.service_api.serializers import ServiceRoleTeamAssignmentSerializer, ServiceRoleUserAssignmentSerializer |
| 137 | + serializer = ServiceRoleUserAssignmentSerializer(assignment) |
| 138 | + assignment_data = serializer.data |
| 139 | + assert assignment_data['object_id'] == str(assignment.object_id) |
0 commit comments