def test_role_grant(self, kc):
     request = construct_request(body='''
         {"action": "grant", "data": {"user_id": "user123",
         "role_id": "role123", "project_id": "project123"}}
     ''')
     response = keystone.Roles().post(request)
     self.assertStatusCode(response, 204)
     self.assertEqual(response.content, '')
     kc.add_tenant_user_role.assert_called_once_with(
         request, 'project123', 'user123', 'role123')
Beispiel #2
0
 def test_role_get_list(self):
     request = self.mock_rest_request(**{'GET': {}})
     self.mock_role_list.return_value = [
         mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}),
         mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}})
     ]
     response = keystone.Roles().get(request)
     self.assertStatusCode(response, 200)
     self.assertEqual(response.json,
                      {"items": [{"name": "Ni!"}, {"name": "Ptang!"}]})
     self.mock_role_list.assert_called_once_with(request)
Beispiel #3
0
    def test_role_delete_many(self, kc):
        request = self.mock_rest_request(body='''
            ["id1", "id2", "id3"]
        ''')

        response = keystone.Roles().delete(request)
        self.assertStatusCode(response, 204)
        self.assertEqual(response.content, '')
        kc.role_delete.assert_has_calls([
            mock.call(request, 'id1'),
            mock.call(request, 'id2'),
            mock.call(request, 'id3'),
        ])
 def test_role_get_for_user(self, kc):
     request = self.mock_rest_request(**{'GET': {'user_id': 'user123',
                                      'project_id': 'project123'}})
     kc.roles_for_user.return_value = [
         mock.Mock(**{'to_dict.return_value': {'name': 'Ni!'}}),
         mock.Mock(**{'to_dict.return_value': {'name': 'Ptang!'}})
     ]
     response = keystone.Roles().get(request)
     self.assertStatusCode(response, 200)
     self.assertEqual(response.content,
                      '{"items": [{"name": "Ni!"}, {"name": "Ptang!"}]}')
     kc.roles_for_user.assert_called_once_with(request, 'user123',
                                               'project123')
Beispiel #5
0
    def test_role_create(self):
        request = self.mock_rest_request(body='''
            {"name": "bob"}
        ''')
        self.mock_role_create.return_value.id = 'role123'
        self.mock_role_create.return_value.to_dict.return_value = {
            'id': 'role123',
            'name': 'bob'
        }

        response = keystone.Roles().post(request)
        self.assertStatusCode(response, 201)
        self.assertEqual(response['location'], '/api/keystone/roles/role123')
        self.assertEqual(response.json, {"id": "role123", "name": "bob"})
        self.mock_role_create.assert_called_once_with(request, 'bob')
    def test_role_create(self, kc):
        request = construct_request(body='''
            {"action": "create", "data": {"name": "bob"}}
        ''')
        kc.role_create.return_value.id = 'role123'
        kc.role_create.return_value.to_dict.return_value = {
            'id': 'role123',
            'name': 'bob'
        }

        response = keystone.Roles().post(request)
        self.assertStatusCode(response, 201)
        self.assertEqual(response['location'], '/api/keystone/roles/role123')
        self.assertEqual(response.content, '{"id": "role123", "name": "bob"}')
        kc.role_create.assert_called_once_with(request, 'bob')
    def test_role_delete_many(self, kc):
        request = construct_request(body='''
            {
                "action": "delete",
                "data": ["id1", "id2", "id3"]
            }
        ''')

        response = keystone.Roles().post(request)
        self.assertStatusCode(response, 204)
        self.assertEqual(response.content, '')
        kc.role_delete.assert_has_mock.calls([
            mock.call(request, 'id1'),
            mock.call(request, 'id2'),
            mock.call(request, 'id3'),
        ])