| 
6 | 6 | from ansible_base.rbac import permission_registry  | 
7 | 7 | from ansible_base.rbac.models import RoleUserAssignment  | 
8 | 8 | from ansible_base.rbac.remote import RemoteObject  | 
 | 9 | +from ansible_base.rbac.service_api.serializers import ServiceRoleUserAssignmentSerializer  | 
9 | 10 | from test_app.models import Organization  | 
10 | 11 | 
 
  | 
11 | 12 | # Role Definitions  | 
@@ -120,9 +121,20 @@ def test_give_permission_to_remote_object_uuid(admin_api_client, rando, foo_type  | 
120 | 121 |     valid_items = [item for item in response.data['results'] if item['id'] == assignment.id]  | 
121 | 122 |     assert len(valid_items) == 1  | 
122 | 123 |     assignment_data = valid_items[0]  | 
123 |  | -    assert 'summary_fields' in assignment_data  | 
124 |  | -    sf = assignment_data['summary_fields']  | 
125 |  | -    assert 'content_object' in sf  | 
126 |  | -    assert str(sf['content_object']['pk']) == str(a_foo.object_id)  | 
 | 124 | +    assert 'content_object' in assignment_data['summary_fields']  | 
 | 125 | +    assert assignment_data['summary_fields']['content_object']['pk'] == str(a_foo.object_id)  | 
127 | 126 | 
 
  | 
128 | 127 |     assert rando.has_obj_perm(a_foo, 'foo')  | 
 | 128 | + | 
 | 129 | +    # Test that we can serialize the assignment in a GET to the service-index endpoint  | 
 | 130 | +    service_url = get_relative_url('serviceuserassignment-list')  | 
 | 131 | +    response = admin_api_client.get(service_url + f'?user={rando.id}', format="json")  | 
 | 132 | +    assert response.status_code == 200, response.data  | 
 | 133 | +    assert response.data['count'] == 1  | 
 | 134 | +    assignment_data = response.data['results'][0]  | 
 | 135 | +    assert assignment_data['object_id'] == str(assignment.object_id)  | 
 | 136 | + | 
 | 137 | +    # Direct serialization is used for synchronizing, so test that as well here  | 
 | 138 | +    serializer = ServiceRoleUserAssignmentSerializer(assignment)  | 
 | 139 | +    assignment_data = serializer.data  | 
 | 140 | +    assert assignment_data['object_id'] == str(assignment.object_id)  | 
0 commit comments