blob: 860a4654ce5ac954be5d5e85deb6b9fcc6985af0 [file] [log] [blame]
Matthew Treinish3787e4c2016-10-07 21:25:33 -04001# Copyright 2016 Hewlett Packard Enterprise Development LP
2# Licensed under the Apache License, Version 2.0 (the "License"); you may
3# not use this file except in compliance with the License. You may obtain
4# a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11# License for the specific language governing permissions and limitations
12# under the License.
13
Sean McGinniseed80742020-04-18 12:01:03 -050014from unittest import mock
Matthew Treinish3787e4c2016-10-07 21:25:33 -040015
16from tempest.lib.common import cred_client
17from tempest.tests import base
18
19
20class TestCredClientV2(base.TestCase):
21 def setUp(self):
22 super(TestCredClientV2, self).setUp()
23 self.identity_client = mock.MagicMock()
24 self.projects_client = mock.MagicMock()
25 self.users_client = mock.MagicMock()
26 self.roles_client = mock.MagicMock()
27 self.creds_client = cred_client.V2CredsClient(self.identity_client,
28 self.projects_client,
29 self.users_client,
30 self.roles_client)
31
32 def test_create_project(self):
33 self.projects_client.create_tenant.return_value = {
34 'tenant': 'a_tenant'
35 }
36 res = self.creds_client.create_project('fake_name', 'desc')
37 self.assertEqual('a_tenant', res)
38 self.projects_client.create_tenant.assert_called_once_with(
39 name='fake_name', description='desc')
40
41 def test_delete_project(self):
42 self.creds_client.delete_project('fake_id')
43 self.projects_client.delete_tenant.assert_called_once_with(
44 'fake_id')
45
46
47class TestCredClientV3(base.TestCase):
48 def setUp(self):
49 super(TestCredClientV3, self).setUp()
50 self.identity_client = mock.MagicMock()
51 self.projects_client = mock.MagicMock()
52 self.users_client = mock.MagicMock()
53 self.roles_client = mock.MagicMock()
54 self.domains_client = mock.MagicMock()
55 self.domains_client.list_domains.return_value = {
56 'domains': [{'id': 'fake_domain_id'}]
57 }
58 self.creds_client = cred_client.V3CredsClient(self.identity_client,
59 self.projects_client,
60 self.users_client,
61 self.roles_client,
62 self.domains_client,
63 'fake_domain')
64
65 def test_create_project(self):
66 self.projects_client.create_project.return_value = {
67 'project': 'a_tenant'
68 }
69 res = self.creds_client.create_project('fake_name', 'desc')
70 self.assertEqual('a_tenant', res)
71 self.projects_client.create_project.assert_called_once_with(
72 name='fake_name', description='desc', domain_id='fake_domain_id')
73
74 def test_delete_project(self):
75 self.creds_client.delete_project('fake_id')
Matthew Treinish3787e4c2016-10-07 21:25:33 -040076 self.projects_client.delete_project.assert_called_once_with(
77 'fake_id')