예제 #1
0
    def test_get_resource_permission(self, mock_f, mock_resp):
        """
        Test specific resource permissions retrieval.
        """
        perm = {
            'resource': '/v2/some/',
            'id': '1234',
            'users': [{
                'username': '******',
                'permissions': [0]
            }]
        }

        mock_f.permission_query_manager.return_value.find_by_resource.return_value = perm
        mock_f.permission_manager.return_value.operation_value_to_name.return_value = 'READ'

        request = mock.MagicMock()
        request.body = json.dumps({'resource': '/v2/some/'})

        permission = PermissionView()
        response = permission.get(request)
        expected_cont = [{
            'id': '1234',
            'resource': '/v2/some/',
            'users': {
                'test-user': ['READ']
            }
        }]

        mock_resp.assert_called_once_with(expected_cont)
        self.assertTrue(response is mock_resp.return_value)