summaryrefslogtreecommitdiff
path: root/openstackclient/tests/identity
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests/identity')
-rw-r--r--openstackclient/tests/identity/v2_0/fakes.py300
-rw-r--r--openstackclient/tests/identity/v2_0/test_catalog.py39
-rw-r--r--openstackclient/tests/identity/v2_0/test_endpoint.py158
-rw-r--r--openstackclient/tests/identity/v2_0/test_project.py234
-rw-r--r--openstackclient/tests/identity/v2_0/test_role.py249
-rw-r--r--openstackclient/tests/identity/v2_0/test_service.py121
-rw-r--r--openstackclient/tests/identity/v2_0/test_token.py9
-rw-r--r--openstackclient/tests/identity/v2_0/test_user.py269
-rw-r--r--openstackclient/tests/identity/v3/fakes.py64
-rw-r--r--openstackclient/tests/identity/v3/test_domain.py136
-rw-r--r--openstackclient/tests/identity/v3/test_identity_provider.py2
-rw-r--r--openstackclient/tests/identity/v3/test_project.py446
-rw-r--r--openstackclient/tests/identity/v3/test_service_provider.py3
13 files changed, 1084 insertions, 946 deletions
diff --git a/openstackclient/tests/identity/v2_0/fakes.py b/openstackclient/tests/identity/v2_0/fakes.py
index c613ad82..662d56b6 100644
--- a/openstackclient/tests/identity/v2_0/fakes.py
+++ b/openstackclient/tests/identity/v2_0/fakes.py
@@ -76,19 +76,19 @@ USER = {
}
token_expires = '2014-01-01T00:00:00Z'
-token_id = 'tttttttt-tttt-tttt-tttt-tttttttttttt'
+token_id = 'token-id-' + uuid.uuid4().hex
TOKEN = {
'expires': token_expires,
'id': token_id,
- 'tenant_id': project_id,
- 'user_id': user_id,
+ 'tenant_id': 'project-id',
+ 'user_id': 'user-id',
}
UNSCOPED_TOKEN = {
'expires': token_expires,
'id': token_id,
- 'user_id': user_id,
+ 'user_id': 'user-id',
}
endpoint_name = service_name
@@ -123,12 +123,12 @@ def fake_auth_ref(fake_token, fake_service=None):
# Create a service catalog
if fake_service:
service = token.add_service(
- fake_service['type'],
- fake_service['name'],
+ fake_service.type,
+ fake_service.name,
)
# TODO(dtroyer): Add an 'id' element to KSA's _Service fixure
- service['id'] = fake_service['id']
- for e in fake_service['endpoints']:
+ service['id'] = fake_service.id
+ for e in fake_service.endpoints:
# KSA's _Service fixture copies publicURL to internalURL and
# adminURL if they do not exist. Soooo helpful...
internal = e.get('internalURL', None)
@@ -224,3 +224,287 @@ class FakeExtension(object):
info=copy.deepcopy(extension_info),
loaded=True)
return extension
+
+
+class FakeCatalog(object):
+ """Fake one or more catalog."""
+
+ @staticmethod
+ def create_catalog(attrs=None):
+ """Create a fake catalog.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object with id, name, type and so on.
+ """
+ attrs = attrs or {}
+
+ # Set default attributes.
+ catalog_info = {
+ 'id': 'service-id-' + uuid.uuid4().hex,
+ 'type': 'compute',
+ 'name': 'supernova',
+ 'endpoints': [
+ {
+ 'region': 'one',
+ 'publicURL': 'https://public.one.example.com',
+ 'internalURL': 'https://internal.one.example.com',
+ 'adminURL': 'https://admin.one.example.com',
+ },
+ {
+ 'region': 'two',
+ 'publicURL': 'https://public.two.example.com',
+ 'internalURL': 'https://internal.two.example.com',
+ 'adminURL': 'https://admin.two.example.com',
+ },
+ {
+ 'region': None,
+ 'publicURL': 'https://public.none.example.com',
+ 'internalURL': 'https://internal.none.example.com',
+ 'adminURL': 'https://admin.none.example.com',
+ },
+ ],
+ }
+ # Overwrite default attributes.
+ catalog_info.update(attrs)
+
+ catalog = fakes.FakeResource(
+ info=copy.deepcopy(catalog_info),
+ loaded=True)
+
+ return catalog
+
+
+class FakeProject(object):
+ """Fake one or more project."""
+
+ @staticmethod
+ def create_one_project(attrs=None):
+ """Create a fake project.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ project_info = {
+ 'id': 'project-id-' + uuid.uuid4().hex,
+ 'name': 'project-name-' + uuid.uuid4().hex,
+ 'description': 'project_description',
+ 'enabled': True,
+ }
+ project_info.update(attrs)
+
+ project = fakes.FakeResource(info=copy.deepcopy(project_info),
+ loaded=True)
+ return project
+
+ @staticmethod
+ def create_projects(attrs=None, count=2):
+ """Create multiple fake projects.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param int count:
+ The number of projects to fake
+ :return:
+ A list of FakeResource objects faking the projects
+ """
+ projects = []
+ for i in range(0, count):
+ projects.append(FakeProject.create_one_project(attrs))
+
+ return projects
+
+
+class FakeEndpoint(object):
+ """Fake one or more endpoint."""
+
+ @staticmethod
+ def create_one_endpoint(attrs=None):
+ """Create a fake agent.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, region, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ endpoint_info = {
+ 'service_name': 'service-name-' + uuid.uuid4().hex,
+ 'adminurl': 'http://endpoint_adminurl',
+ 'region': 'endpoint_region',
+ 'internalurl': 'http://endpoint_internalurl',
+ 'service_type': 'service_type',
+ 'id': 'endpoint-id-' + uuid.uuid4().hex,
+ 'publicurl': 'http://endpoint_publicurl',
+ 'service_id': 'service-name-' + uuid.uuid4().hex,
+
+ }
+ endpoint_info.update(attrs)
+
+ endpoint = fakes.FakeResource(info=copy.deepcopy(endpoint_info),
+ loaded=True)
+ return endpoint
+
+ @staticmethod
+ def create_endpoints(attrs=None, count=2):
+ """Create multiple fake endpoints.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param int count:
+ The number of endpoints to fake
+ :return:
+ A list of FakeResource objects faking the endpoints
+ """
+ endpoints = []
+ for i in range(0, count):
+ endpoints.append(FakeEndpoint.create_one_endpoint(attrs))
+
+ return endpoints
+
+
+class FakeService(object):
+ """Fake one or more service."""
+
+ @staticmethod
+ def create_one_service(attrs=None):
+ """Create a fake service.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, type, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ service_info = {
+ 'id': 'service-id-' + uuid.uuid4().hex,
+ 'name': 'service-name-' + uuid.uuid4().hex,
+ 'description': 'service_description',
+ 'type': 'service_type',
+
+ }
+ service_info.update(attrs)
+
+ service = fakes.FakeResource(info=copy.deepcopy(service_info),
+ loaded=True)
+ return service
+
+ @staticmethod
+ def create_services(attrs=None, count=2):
+ """Create multiple fake services.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param int count:
+ The number of services to fake
+ :return:
+ A list of FakeResource objects faking the services
+ """
+ services = []
+ for i in range(0, count):
+ services.append(FakeService.create_one_service(attrs))
+
+ return services
+
+
+class FakeRole(object):
+ """Fake one or more role."""
+
+ @staticmethod
+ def create_one_role(attrs=None):
+ """Create a fake role.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ role_info = {
+ 'id': 'role-id' + uuid.uuid4().hex,
+ 'name': 'role-name' + uuid.uuid4().hex,
+ }
+ role_info.update(attrs)
+
+ role = fakes.FakeResource(info=copy.deepcopy(role_info),
+ loaded=True)
+ return role
+
+ @staticmethod
+ def create_roles(attrs=None, count=2):
+ """Create multiple fake roles.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param int count:
+ The number of roles to fake
+ :return:
+ A list of FakeResource objects faking the roles
+ """
+ roles = []
+ for i in range(0, count):
+ roles.append(FakeRole.create_one_role(attrs))
+
+ return roles
+
+
+class FakeUser(object):
+ """Fake one or more user."""
+
+ @staticmethod
+ def create_one_user(attrs=None):
+ """Create a fake user.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, and so on
+ """
+ attrs = attrs or {}
+
+ # set default attributes.
+ user_info = {
+ 'id': 'user-id-' + uuid.uuid4().hex,
+ 'name': 'user-name-' + uuid.uuid4().hex,
+ 'tenantId': 'project-id-' + uuid.uuid4().hex,
+ 'email': 'admin@openstack.org',
+ 'enabled': True,
+ }
+ user_info.update(attrs)
+
+ user = fakes.FakeResource(info=copy.deepcopy(user_info),
+ loaded=True)
+ return user
+
+ @staticmethod
+ def create_users(attrs=None, count=2):
+ """Create multiple fake users.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param int count:
+ The number of users to fake
+ :return:
+ A list of FakeResource objects faking the users
+ """
+ users = []
+ for i in range(0, count):
+ users.append(FakeUser.create_one_user(attrs))
+
+ return users
diff --git a/openstackclient/tests/identity/v2_0/test_catalog.py b/openstackclient/tests/identity/v2_0/test_catalog.py
index 2fdbafbe..487d8f31 100644
--- a/openstackclient/tests/identity/v2_0/test_catalog.py
+++ b/openstackclient/tests/identity/v2_0/test_catalog.py
@@ -20,38 +20,14 @@ from openstackclient.tests import utils
class TestCatalog(utils.TestCommand):
- fake_service = {
- 'id': 'qwertyuiop',
- 'type': 'compute',
- 'name': 'supernova',
- 'endpoints': [
- {
- 'region': 'one',
- 'publicURL': 'https://public.one.example.com',
- 'internalURL': 'https://internal.one.example.com',
- 'adminURL': 'https://admin.one.example.com',
- },
- {
- 'region': 'two',
- 'publicURL': 'https://public.two.example.com',
- 'internalURL': 'https://internal.two.example.com',
- 'adminURL': 'https://admin.two.example.com',
- },
- {
- 'region': None,
- 'publicURL': 'https://public.none.example.com',
- 'internalURL': 'https://internal.none.example.com',
- 'adminURL': 'https://admin.none.example.com',
- },
- ],
- }
+ service_catalog = identity_fakes.FakeCatalog.create_catalog()
def setUp(self):
super(TestCatalog, self).setUp()
self.sc_mock = mock.MagicMock()
self.sc_mock.service_catalog.catalog.return_value = [
- self.fake_service,
+ self.service_catalog,
]
self.auth_mock = mock.MagicMock()
@@ -77,7 +53,7 @@ class TestCatalogList(TestCatalog):
def test_catalog_list(self):
auth_ref = identity_fakes.fake_auth_ref(
identity_fakes.TOKEN,
- fake_service=self.fake_service,
+ fake_service=self.service_catalog,
)
self.ar_mock = mock.PropertyMock(return_value=auth_ref)
type(self.app.client_manager).auth_ref = self.ar_mock
@@ -108,7 +84,7 @@ class TestCatalogList(TestCatalog):
self.assertEqual(datalist, tuple(data))
def test_catalog_list_with_endpoint_url(self):
- fake_service = {
+ attr = {
'id': 'qwertyuiop',
'type': 'compute',
'name': 'supernova',
@@ -124,9 +100,10 @@ class TestCatalogList(TestCatalog):
},
],
}
+ service_catalog = identity_fakes.FakeCatalog.create_catalog(attr)
auth_ref = identity_fakes.fake_auth_ref(
identity_fakes.TOKEN,
- fake_service=fake_service,
+ fake_service=service_catalog,
)
self.ar_mock = mock.PropertyMock(return_value=auth_ref)
type(self.app.client_manager).auth_ref = self.ar_mock
@@ -162,7 +139,7 @@ class TestCatalogShow(TestCatalog):
def test_catalog_show(self):
auth_ref = identity_fakes.fake_auth_ref(
identity_fakes.UNSCOPED_TOKEN,
- fake_service=self.fake_service,
+ fake_service=self.service_catalog,
)
self.ar_mock = mock.PropertyMock(return_value=auth_ref)
type(self.app.client_manager).auth_ref = self.ar_mock
@@ -192,7 +169,7 @@ class TestCatalogShow(TestCatalog):
'<none>\n publicURL: https://public.none.example.com\n '
'internalURL: https://internal.none.example.com\n '
'adminURL: https://admin.none.example.com\n',
- 'qwertyuiop',
+ self.service_catalog.id,
'supernova',
'compute',
)
diff --git a/openstackclient/tests/identity/v2_0/test_endpoint.py b/openstackclient/tests/identity/v2_0/test_endpoint.py
index 45ece45a..b2b6d0f1 100644
--- a/openstackclient/tests/identity/v2_0/test_endpoint.py
+++ b/openstackclient/tests/identity/v2_0/test_endpoint.py
@@ -11,15 +11,19 @@
# under the License.
#
-import copy
-
from openstackclient.identity.v2_0 import endpoint
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestEndpoint(identity_fakes.TestIdentityv2):
+ fake_service = identity_fakes.FakeService.create_one_service()
+ attr = {
+ 'service_name': fake_service.name,
+ 'service_id': fake_service.id,
+ }
+ fake_endpoint = identity_fakes.FakeEndpoint.create_one_endpoint(attr)
+
def setUp(self):
super(TestEndpoint, self).setUp()
@@ -37,35 +41,27 @@ class TestEndpointCreate(TestEndpoint):
def setUp(self):
super(TestEndpointCreate, self).setUp()
- self.endpoints_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ENDPOINT),
- loaded=True,
- )
+ self.endpoints_mock.create.return_value = self.fake_endpoint
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
# Get the command object to test
self.cmd = endpoint.CreateEndpoint(self.app, None)
def test_endpoint_create(self):
arglist = [
- '--publicurl', identity_fakes.endpoint_publicurl,
- '--internalurl', identity_fakes.endpoint_internalurl,
- '--adminurl', identity_fakes.endpoint_adminurl,
- '--region', identity_fakes.endpoint_region,
- identity_fakes.endpoint_name,
+ '--publicurl', self.fake_endpoint.publicurl,
+ '--internalurl', self.fake_endpoint.internalurl,
+ '--adminurl', self.fake_endpoint.adminurl,
+ '--region', self.fake_endpoint.region,
+ self.fake_service.id,
]
verifylist = [
- ('adminurl', identity_fakes.endpoint_adminurl),
- ('internalurl', identity_fakes.endpoint_internalurl),
- ('publicurl', identity_fakes.endpoint_publicurl),
- ('region', identity_fakes.endpoint_region),
- ('service', identity_fakes.service_name),
+ ('adminurl', self.fake_endpoint.adminurl),
+ ('internalurl', self.fake_endpoint.internalurl),
+ ('publicurl', self.fake_endpoint.publicurl),
+ ('region', self.fake_endpoint.region),
+ ('service', self.fake_service.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -77,25 +73,25 @@ class TestEndpointCreate(TestEndpoint):
# EndpointManager.create(region, service_id, publicurl, adminurl,
# internalurl)
self.endpoints_mock.create.assert_called_with(
- identity_fakes.endpoint_region,
- identity_fakes.service_id,
- identity_fakes.endpoint_publicurl,
- identity_fakes.endpoint_adminurl,
- identity_fakes.endpoint_internalurl,
+ self.fake_endpoint.region,
+ self.fake_service.id,
+ self.fake_endpoint.publicurl,
+ self.fake_endpoint.adminurl,
+ self.fake_endpoint.internalurl,
)
collist = ('adminurl', 'id', 'internalurl', 'publicurl',
'region', 'service_id', 'service_name', 'service_type')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.endpoint_adminurl,
- identity_fakes.endpoint_id,
- identity_fakes.endpoint_internalurl,
- identity_fakes.endpoint_publicurl,
- identity_fakes.endpoint_region,
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_endpoint.adminurl,
+ self.fake_endpoint.id,
+ self.fake_endpoint.internalurl,
+ self.fake_endpoint.publicurl,
+ self.fake_endpoint.region,
+ self.fake_endpoint.service_id,
+ self.fake_endpoint.service_name,
+ self.fake_endpoint.service_type,
)
self.assertEqual(datalist, data)
@@ -106,17 +102,9 @@ class TestEndpointDelete(TestEndpoint):
def setUp(self):
super(TestEndpointDelete, self).setUp()
- self.endpoints_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ENDPOINT),
- loaded=True,
- )
+ self.endpoints_mock.get.return_value = self.fake_endpoint
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
self.endpoints_mock.delete.return_value = None
@@ -125,17 +113,17 @@ class TestEndpointDelete(TestEndpoint):
def test_endpoint_delete_no_options(self):
arglist = [
- identity_fakes.endpoint_id,
+ self.fake_endpoint.id,
]
verifylist = [
- ('endpoint', identity_fakes.endpoint_id),
+ ('endpoints', [self.fake_endpoint.id]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.endpoints_mock.delete.assert_called_with(
- identity_fakes.endpoint_id,
+ self.fake_endpoint.id,
)
self.assertIsNone(result)
@@ -145,19 +133,9 @@ class TestEndpointList(TestEndpoint):
def setUp(self):
super(TestEndpointList, self).setUp()
- self.endpoints_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ENDPOINT),
- loaded=True,
- ),
- ]
+ self.endpoints_mock.list.return_value = [self.fake_endpoint]
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
# Get the command object to test
self.cmd = endpoint.ListEndpoint(self.app, None)
@@ -177,10 +155,10 @@ class TestEndpointList(TestEndpoint):
collist = ('ID', 'Region', 'Service Name', 'Service Type')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.endpoint_id,
- identity_fakes.endpoint_region,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_endpoint.id,
+ self.fake_endpoint.region,
+ self.fake_endpoint.service_name,
+ self.fake_endpoint.service_type,
), )
self.assertEqual(datalist, tuple(data))
@@ -204,13 +182,13 @@ class TestEndpointList(TestEndpoint):
'PublicURL', 'AdminURL', 'InternalURL')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.endpoint_id,
- identity_fakes.endpoint_region,
- identity_fakes.service_name,
- identity_fakes.service_type,
- identity_fakes.endpoint_publicurl,
- identity_fakes.endpoint_adminurl,
- identity_fakes.endpoint_internalurl,
+ self.fake_endpoint.id,
+ self.fake_endpoint.region,
+ self.fake_endpoint.service_name,
+ self.fake_endpoint.service_type,
+ self.fake_endpoint.publicurl,
+ self.fake_endpoint.adminurl,
+ self.fake_endpoint.internalurl,
), )
self.assertEqual(datalist, tuple(data))
@@ -220,29 +198,19 @@ class TestEndpointShow(TestEndpoint):
def setUp(self):
super(TestEndpointShow, self).setUp()
- self.endpoints_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ENDPOINT),
- loaded=True,
- ),
- ]
+ self.endpoints_mock.list.return_value = [self.fake_endpoint]
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
# Get the command object to test
self.cmd = endpoint.ShowEndpoint(self.app, None)
def test_endpoint_show(self):
arglist = [
- identity_fakes.endpoint_name,
+ self.fake_endpoint.id,
]
verifylist = [
- ('endpoint_or_service', identity_fakes.endpoint_name),
+ ('endpoint_or_service', self.fake_endpoint.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -255,20 +223,20 @@ class TestEndpointShow(TestEndpoint):
self.endpoints_mock.list.assert_called_with()
# ServiceManager.get(name)
self.services_mock.get.assert_called_with(
- identity_fakes.service_name,
+ self.fake_endpoint.service_id,
)
collist = ('adminurl', 'id', 'internalurl', 'publicurl',
'region', 'service_id', 'service_name', 'service_type')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.endpoint_adminurl,
- identity_fakes.endpoint_id,
- identity_fakes.endpoint_internalurl,
- identity_fakes.endpoint_publicurl,
- identity_fakes.endpoint_region,
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_endpoint.adminurl,
+ self.fake_endpoint.id,
+ self.fake_endpoint.internalurl,
+ self.fake_endpoint.publicurl,
+ self.fake_endpoint.region,
+ self.fake_endpoint.service_id,
+ self.fake_endpoint.service_name,
+ self.fake_endpoint.service_type,
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v2_0/test_project.py b/openstackclient/tests/identity/v2_0/test_project.py
index 1eb12604..96731c0c 100644
--- a/openstackclient/tests/identity/v2_0/test_project.py
+++ b/openstackclient/tests/identity/v2_0/test_project.py
@@ -13,27 +13,16 @@
# under the License.
#
-import copy
-
from keystoneauth1 import exceptions as ks_exc
from osc_lib import exceptions
from openstackclient.identity.v2_0 import project
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestProject(identity_fakes.TestIdentityv2):
- def setUp(self):
- super(TestProject, self).setUp()
-
- # Get a shortcut to the TenantManager Mock
- self.projects_mock = self.app.client_manager.identity.tenants
- self.projects_mock.reset_mock()
-
-
-class TestProjectCreate(TestProject):
+ fake_project = identity_fakes.FakeProject.create_one_project()
columns = (
'description',
@@ -42,32 +31,38 @@ class TestProjectCreate(TestProject):
'name',
)
datalist = (
- identity_fakes.project_description,
+ fake_project.description,
True,
- identity_fakes.project_id,
- identity_fakes.project_name,
+ fake_project.id,
+ fake_project.name,
)
def setUp(self):
+ super(TestProject, self).setUp()
+
+ # Get a shortcut to the TenantManager Mock
+ self.projects_mock = self.app.client_manager.identity.tenants
+ self.projects_mock.reset_mock()
+
+
+class TestProjectCreate(TestProject):
+
+ def setUp(self):
super(TestProjectCreate, self).setUp()
- self.projects_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.create.return_value = self.fake_project
# Get the command object to test
self.cmd = project.CreateProject(self.app, None)
def test_project_create_no_options(self):
arglist = [
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -82,7 +77,7 @@ class TestProjectCreate(TestProject):
'enabled': True,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
self.assertEqual(self.columns, columns)
@@ -91,11 +86,11 @@ class TestProjectCreate(TestProject):
def test_project_create_description(self):
arglist = [
'--description', 'new desc',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('description', 'new desc'),
- ('name', identity_fakes.project_name),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -110,7 +105,7 @@ class TestProjectCreate(TestProject):
'enabled': True,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -120,12 +115,12 @@ class TestProjectCreate(TestProject):
def test_project_create_enable(self):
arglist = [
'--enable',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('enable', True),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -140,7 +135,7 @@ class TestProjectCreate(TestProject):
'enabled': True,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -150,12 +145,12 @@ class TestProjectCreate(TestProject):
def test_project_create_disable(self):
arglist = [
'--disable',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('enable', False),
('disable', True),
- ('name', identity_fakes.project_name),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -170,7 +165,7 @@ class TestProjectCreate(TestProject):
'enabled': False,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -181,11 +176,11 @@ class TestProjectCreate(TestProject):
arglist = [
'--property', 'fee=fi',
'--property', 'fo=fum',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('property', {'fee': 'fi', 'fo': 'fum'}),
- ('name', identity_fakes.project_name),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -202,7 +197,7 @@ class TestProjectCreate(TestProject):
'fo': 'fum',
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -216,19 +211,15 @@ class TestProjectCreate(TestProject):
# need to make this throw an exception...
self.projects_mock.create.side_effect = _raise_conflict
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
arglist = [
'--or-show',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
- ('name', identity_fakes.project_name),
('or_show', True),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -238,7 +229,7 @@ class TestProjectCreate(TestProject):
columns, data = self.cmd.take_action(parsed_args)
# ProjectManager.create(name, description, enabled)
- self.projects_mock.get.assert_called_with(identity_fakes.project_name)
+ self.projects_mock.get.assert_called_with(self.fake_project.name)
# Set expected values
kwargs = {
@@ -246,7 +237,7 @@ class TestProjectCreate(TestProject):
'enabled': True,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -256,11 +247,11 @@ class TestProjectCreate(TestProject):
def test_project_create_or_show_not_exists(self):
arglist = [
'--or-show',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
- ('name', identity_fakes.project_name),
('or_show', True),
+ ('name', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -275,7 +266,7 @@ class TestProjectCreate(TestProject):
'enabled': True,
}
self.projects_mock.create.assert_called_with(
- identity_fakes.project_name,
+ self.fake_project.name,
**kwargs
)
@@ -289,11 +280,7 @@ class TestProjectDelete(TestProject):
super(TestProjectDelete, self).setUp()
# This is the return value for utils.find_resource()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
self.projects_mock.delete.return_value = None
# Get the command object to test
@@ -301,17 +288,17 @@ class TestProjectDelete(TestProject):
def test_project_delete_no_options(self):
arglist = [
- identity_fakes.project_id,
+ self.fake_project.id,
]
verifylist = [
- ('projects', [identity_fakes.project_id]),
+ ('projects', [self.fake_project.id]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.projects_mock.delete.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
)
self.assertIsNone(result)
@@ -321,13 +308,7 @@ class TestProjectList(TestProject):
def setUp(self):
super(TestProjectList, self).setUp()
- self.projects_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- ),
- ]
+ self.projects_mock.list.return_value = [self.fake_project]
# Get the command object to test
self.cmd = project.ListProject(self.app, None)
@@ -346,8 +327,8 @@ class TestProjectList(TestProject):
collist = ('ID', 'Name')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.project_id,
- identity_fakes.project_name,
+ self.fake_project.id,
+ self.fake_project.name,
), )
self.assertEqual(datalist, tuple(data))
@@ -369,9 +350,9 @@ class TestProjectList(TestProject):
collist = ('ID', 'Name', 'Description', 'Enabled')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.project_id,
- identity_fakes.project_name,
- identity_fakes.project_description,
+ self.fake_project.id,
+ self.fake_project.name,
+ self.fake_project.description,
True,
), )
self.assertEqual(datalist, tuple(data))
@@ -382,26 +363,18 @@ class TestProjectSet(TestProject):
def setUp(self):
super(TestProjectSet, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
- self.projects_mock.update.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
+ self.projects_mock.update.return_value = self.fake_project
# Get the command object to test
self.cmd = project.SetProject(self.app, None)
def test_project_set_no_options(self):
arglist = [
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
('enable', False),
('disable', False),
]
@@ -433,14 +406,14 @@ class TestProjectSet(TestProject):
def test_project_set_name(self):
arglist = [
- '--name', 'qwerty',
- identity_fakes.project_name,
+ '--name', self.fake_project.name,
+ self.fake_project.name,
]
verifylist = [
- ('name', 'qwerty'),
+ ('name', self.fake_project.name),
('enable', False),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -448,26 +421,26 @@ class TestProjectSet(TestProject):
# Set expected values
kwargs = {
- 'description': identity_fakes.project_description,
+ 'description': self.fake_project.description,
'enabled': True,
- 'tenant_name': 'qwerty',
+ 'tenant_name': self.fake_project.name,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
**kwargs
)
self.assertIsNone(result)
def test_project_set_description(self):
arglist = [
- '--description', 'new desc',
- identity_fakes.project_name,
+ '--description', self.fake_project.description,
+ self.fake_project.name,
]
verifylist = [
- ('description', 'new desc'),
+ ('description', self.fake_project.description),
('enable', False),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -475,12 +448,12 @@ class TestProjectSet(TestProject):
# Set expected values
kwargs = {
- 'description': 'new desc',
+ 'description': self.fake_project.description,
'enabled': True,
- 'tenant_name': identity_fakes.project_name,
+ 'tenant_name': self.fake_project.name,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
**kwargs
)
self.assertIsNone(result)
@@ -488,12 +461,12 @@ class TestProjectSet(TestProject):
def test_project_set_enable(self):
arglist = [
'--enable',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('enable', True),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -501,12 +474,12 @@ class TestProjectSet(TestProject):
# Set expected values
kwargs = {
- 'description': identity_fakes.project_description,
+ 'description': self.fake_project.description,
'enabled': True,
- 'tenant_name': identity_fakes.project_name,
+ 'tenant_name': self.fake_project.name,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
**kwargs
)
self.assertIsNone(result)
@@ -514,12 +487,12 @@ class TestProjectSet(TestProject):
def test_project_set_disable(self):
arglist = [
'--disable',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('enable', False),
('disable', True),
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -527,12 +500,12 @@ class TestProjectSet(TestProject):
# Set expected values
kwargs = {
- 'description': identity_fakes.project_description,
+ 'description': self.fake_project.description,
'enabled': False,
- 'tenant_name': identity_fakes.project_name,
+ 'tenant_name': self.fake_project.name,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
**kwargs
)
self.assertIsNone(result)
@@ -541,11 +514,11 @@ class TestProjectSet(TestProject):
arglist = [
'--property', 'fee=fi',
'--property', 'fo=fum',
- identity_fakes.project_name,
+ self.fake_project.name,
]
verifylist = [
('property', {'fee': 'fi', 'fo': 'fum'}),
- ('project', identity_fakes.project_name),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -553,14 +526,14 @@ class TestProjectSet(TestProject):
# Set expected values
kwargs = {
- 'description': identity_fakes.project_description,
+ 'description': self.fake_project.description,
'enabled': True,
- 'tenant_name': identity_fakes.project_name,
+ 'tenant_name': self.fake_project.name,
'fee': 'fi',
'fo': 'fum',
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_project.id,
**kwargs
)
self.assertIsNone(result)
@@ -568,24 +541,22 @@ class TestProjectSet(TestProject):
class TestProjectShow(TestProject):
+ fake_proj_show = identity_fakes.FakeProject.create_one_project()
+
def setUp(self):
super(TestProjectShow, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_proj_show
# Get the command object to test
self.cmd = project.ShowProject(self.app, None)
def test_project_show(self):
arglist = [
- identity_fakes.project_id,
+ self.fake_proj_show.id,
]
verifylist = [
- ('project', identity_fakes.project_id),
+ ('project', self.fake_proj_show.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -594,16 +565,16 @@ class TestProjectShow(TestProject):
# data to be shown.
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.get.assert_called_with(
- identity_fakes.project_id,
+ self.fake_proj_show.id,
)
collist = ('description', 'enabled', 'id', 'name', 'properties')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.project_description,
+ self.fake_proj_show.description,
True,
- identity_fakes.project_id,
- identity_fakes.project_name,
+ self.fake_proj_show.id,
+ self.fake_proj_show.name,
'',
)
self.assertEqual(datalist, data)
@@ -611,26 +582,23 @@ class TestProjectShow(TestProject):
class TestProjectUnset(TestProject):
+ attr = {'fee': 'fi', 'fo': 'fum'}
+ fake_proj = identity_fakes.FakeProject.create_one_project(attr)
+
def setUp(self):
super(TestProjectUnset, self).setUp()
- project_dict = {'fee': 'fi', 'fo': 'fum'}
- project_dict.update(identity_fakes.PROJECT)
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(project_dict),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_proj
# Get the command object to test
self.cmd = project.UnsetProject(self.app, None)
def test_project_unset_no_options(self):
arglist = [
- identity_fakes.project_name,
+ self.fake_proj.name,
]
verifylist = [
- ('project', identity_fakes.project_name),
+ ('project', self.fake_proj.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -642,7 +610,7 @@ class TestProjectUnset(TestProject):
arglist = [
'--property', 'fee',
'--property', 'fo',
- identity_fakes.project_name,
+ self.fake_proj.name,
]
verifylist = [
('property', ['fee', 'fo']),
@@ -652,16 +620,16 @@ class TestProjectUnset(TestProject):
result = self.cmd.take_action(parsed_args)
# Set expected values
kwargs = {
- 'description': identity_fakes.project_description,
+ 'description': self.fake_proj.description,
'enabled': True,
'fee': None,
'fo': None,
- 'id': identity_fakes.project_id,
- 'name': identity_fakes.project_name,
+ 'id': self.fake_proj.id,
+ 'name': self.fake_proj.name,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.fake_proj.id,
**kwargs
)
self.assertIsNone(result)
diff --git a/openstackclient/tests/identity/v2_0/test_role.py b/openstackclient/tests/identity/v2_0/test_role.py
index 7241c7bd..3d379356 100644
--- a/openstackclient/tests/identity/v2_0/test_role.py
+++ b/openstackclient/tests/identity/v2_0/test_role.py
@@ -13,25 +13,31 @@
# under the License.
#
-import copy
import mock
from keystoneauth1 import exceptions as ks_exc
from osc_lib import exceptions
from openstackclient.identity.v2_0 import role
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestRole(identity_fakes.TestIdentityv2):
- fake_service = copy.deepcopy(identity_fakes.SERVICE)
- fake_service['endpoints'] = [
+ attr = {}
+ attr['endpoints'] = [
{
'publicURL': identity_fakes.ENDPOINT['publicurl'],
},
]
+ fake_service = identity_fakes.FakeService.create_one_service(attr)
+ fake_role = identity_fakes.FakeRole.create_one_role()
+ fake_project = identity_fakes.FakeProject.create_one_project()
+ attr = {}
+ attr = {
+ 'tenantId': fake_project.id,
+ }
+ fake_user = identity_fakes.FakeUser.create_one_user(attr)
def setUp(self):
super(TestRole, self).setUp()
@@ -61,42 +67,26 @@ class TestRoleAdd(TestRole):
def setUp(self):
super(TestRoleAdd, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
- self.roles_mock.add_user_role.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.get.return_value = self.fake_role
+ self.roles_mock.add_user_role.return_value = self.fake_role
# Get the command object to test
self.cmd = role.AddRole(self.app, None)
def test_role_add(self):
arglist = [
- '--project', identity_fakes.project_name,
- '--user', identity_fakes.user_name,
- identity_fakes.role_name,
+ '--project', self.fake_project.name,
+ '--user', self.fake_user.name,
+ self.fake_role.name,
]
verifylist = [
- ('project', identity_fakes.project_name),
- ('user', identity_fakes.user_name),
- ('role', identity_fakes.role_name),
+ ('project', self.fake_project.name),
+ ('user', self.fake_user.name),
+ ('role', self.fake_role.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -107,49 +97,46 @@ class TestRoleAdd(TestRole):
# RoleManager.add_user_role(user, role, tenant=None)
self.roles_mock.add_user_role.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.role_id,
- identity_fakes.project_id,
+ self.fake_user.id,
+ self.fake_role.id,
+ self.fake_project.id,
)
collist = ('id', 'name')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.role_id,
- identity_fakes.role_name,
+ self.fake_role.id,
+ self.fake_role.name,
)
self.assertEqual(datalist, data)
class TestRoleCreate(TestRole):
+ fake_role_c = identity_fakes.FakeRole.create_one_role()
columns = (
'id',
'name'
)
datalist = (
- identity_fakes.role_id,
- identity_fakes.role_name,
+ fake_role_c.id,
+ fake_role_c.name,
)
def setUp(self):
super(TestRoleCreate, self).setUp()
- self.roles_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.create.return_value = self.fake_role_c
# Get the command object to test
self.cmd = role.CreateRole(self.app, None)
def test_role_create_no_options(self):
arglist = [
- identity_fakes.role_name,
+ self.fake_role_c.name,
]
verifylist = [
- ('role_name', identity_fakes.role_name),
+ ('role_name', self.fake_role_c.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -160,7 +147,7 @@ class TestRoleCreate(TestRole):
# RoleManager.create(name)
self.roles_mock.create.assert_called_with(
- identity_fakes.role_name,
+ self.fake_role_c.name,
)
self.assertEqual(self.columns, columns)
@@ -173,18 +160,14 @@ class TestRoleCreate(TestRole):
# need to make this throw an exception...
self.roles_mock.create.side_effect = _raise_conflict
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.get.return_value = self.fake_role_c
arglist = [
'--or-show',
- identity_fakes.role_name,
+ self.fake_role_c.name,
]
verifylist = [
- ('role_name', identity_fakes.role_name),
+ ('role_name', self.fake_role_c.name),
('or_show', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -195,11 +178,11 @@ class TestRoleCreate(TestRole):
columns, data = self.cmd.take_action(parsed_args)
# RoleManager.get(name, description, enabled)
- self.roles_mock.get.assert_called_with(identity_fakes.role_name)
+ self.roles_mock.get.assert_called_with(self.fake_role_c.name)
# RoleManager.create(name)
self.roles_mock.create.assert_called_with(
- identity_fakes.role_name,
+ self.fake_role_c.name,
)
self.assertEqual(self.columns, columns)
@@ -208,10 +191,10 @@ class TestRoleCreate(TestRole):
def test_role_create_or_show_not_exists(self):
arglist = [
'--or-show',
- identity_fakes.role_name,
+ self.fake_role_c.name,
]
verifylist = [
- ('role_name', identity_fakes.role_name),
+ ('role_name', self.fake_role_c.name),
('or_show', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -223,7 +206,7 @@ class TestRoleCreate(TestRole):
# RoleManager.create(name)
self.roles_mock.create.assert_called_with(
- identity_fakes.role_name,
+ self.fake_role_c.name,
)
self.assertEqual(self.columns, columns)
@@ -235,11 +218,7 @@ class TestRoleDelete(TestRole):
def setUp(self):
super(TestRoleDelete, self).setUp()
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.get.return_value = self.fake_role
self.roles_mock.delete.return_value = None
# Get the command object to test
@@ -247,17 +226,17 @@ class TestRoleDelete(TestRole):
def test_role_delete_no_options(self):
arglist = [
- identity_fakes.role_name,
+ self.fake_role.name,
]
verifylist = [
- ('roles', [identity_fakes.role_name]),
+ ('roles', [self.fake_role.name]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.roles_mock.delete.assert_called_with(
- identity_fakes.role_id,
+ self.fake_role.id,
)
self.assertIsNone(result)
@@ -267,13 +246,7 @@ class TestRoleList(TestRole):
def setUp(self):
super(TestRoleList, self).setUp()
- self.roles_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- ),
- ]
+ self.roles_mock.list.return_value = [self.fake_role]
# Get the command object to test
self.cmd = role.ListRole(self.app, None)
@@ -293,8 +266,8 @@ class TestRoleList(TestRole):
collist = ('ID', 'Name')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
+ self.fake_role.id,
+ self.fake_role.name,
), )
self.assertEqual(datalist, tuple(data))
@@ -311,25 +284,11 @@ class TestUserRoleList(TestRole):
def setUp(self):
super(TestUserRoleList, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user
- self.roles_mock.roles_for_user.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- ),
- ]
+ self.roles_mock.roles_for_user.return_value = [self.fake_role]
# Get the command object to test
self.cmd = role.ListUserRole(self.app, None)
@@ -364,17 +323,17 @@ class TestUserRoleList(TestRole):
columns, data = self.cmd.take_action(parsed_args)
self.roles_mock.roles_for_user.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.project_id,
+ self.fake_user.id,
+ self.fake_project.id,
)
collist = ('ID', 'Name', 'Project', 'User')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.project_name,
- identity_fakes.user_name,
+ self.fake_role.id,
+ self.fake_role.name,
+ self.fake_project.name,
+ self.fake_user.name,
), )
self.assertEqual(datalist, tuple(data))
@@ -386,16 +345,12 @@ class TestUserRoleList(TestRole):
self.ar_mock = mock.PropertyMock(return_value=auth_ref)
type(self.app.client_manager).auth_ref = self.ar_mock
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT_2),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
arglist = [
- '--project', identity_fakes.PROJECT_2['name'],
+ '--project', self.fake_project.name,
]
verifylist = [
- ('project', identity_fakes.PROJECT_2['name']),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -405,30 +360,26 @@ class TestUserRoleList(TestRole):
columns, data = self.cmd.take_action(parsed_args)
self.roles_mock.roles_for_user.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.PROJECT_2['id'],
+ self.fake_user.id,
+ self.fake_project.id,
)
self.assertEqual(columns, columns)
datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.PROJECT_2['name'],
- identity_fakes.user_name,
+ self.fake_role.id,
+ self.fake_role.name,
+ self.fake_project.name,
+ self.fake_user.name,
), )
self.assertEqual(datalist, tuple(data))
def test_user_role_list_project_scoped_token(self):
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT_2),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
arglist = [
- '--project', identity_fakes.PROJECT_2['name'],
+ '--project', self.fake_project.name,
]
verifylist = [
- ('project', identity_fakes.PROJECT_2['name']),
+ ('project', self.fake_project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -438,16 +389,16 @@ class TestUserRoleList(TestRole):
columns, data = self.cmd.take_action(parsed_args)
self.roles_mock.roles_for_user.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.PROJECT_2['id'],
+ self.fake_user.id,
+ self.fake_project.id,
)
self.assertEqual(columns, columns)
datalist = ((
- identity_fakes.role_id,
- identity_fakes.role_name,
- identity_fakes.PROJECT_2['name'],
- identity_fakes.user_name,
+ self.fake_role.id,
+ self.fake_role.name,
+ self.fake_project.name,
+ self.fake_user.name,
), )
self.assertEqual(datalist, tuple(data))
@@ -457,23 +408,11 @@ class TestRoleRemove(TestRole):
def setUp(self):
super(TestRoleRemove, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.get.return_value = self.fake_role
self.roles_mock.remove_user_role.return_value = None
# Get the command object to test
@@ -481,14 +420,14 @@ class TestRoleRemove(TestRole):
def test_role_remove(self):
arglist = [
- '--project', identity_fakes.project_name,
- '--user', identity_fakes.user_name,
- identity_fakes.role_name,
+ '--project', self.fake_project.name,
+ '--user', self.fake_user.name,
+ self.fake_role.name,
]
verifylist = [
- ('role', identity_fakes.role_name),
- ('project', identity_fakes.project_name),
- ('user', identity_fakes.user_name),
+ ('role', self.fake_role.name),
+ ('project', self.fake_project.name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -496,9 +435,9 @@ class TestRoleRemove(TestRole):
# RoleManager.remove_user_role(user, role, tenant=None)
self.roles_mock.remove_user_role.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.role_id,
- identity_fakes.project_id,
+ self.fake_user.id,
+ self.fake_role.id,
+ self.fake_project.id,
)
self.assertIsNone(result)
@@ -508,21 +447,17 @@ class TestRoleShow(TestRole):
def setUp(self):
super(TestRoleShow, self).setUp()
- self.roles_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.ROLE),
- loaded=True,
- )
+ self.roles_mock.get.return_value = self.fake_role
# Get the command object to test
self.cmd = role.ShowRole(self.app, None)
def test_service_show(self):
arglist = [
- identity_fakes.role_name,
+ self.fake_role.name,
]
verifylist = [
- ('role', identity_fakes.role_name),
+ ('role', self.fake_role.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -533,13 +468,13 @@ class TestRoleShow(TestRole):
# RoleManager.get(role)
self.roles_mock.get.assert_called_with(
- identity_fakes.role_name,
+ self.fake_role.name,
)
collist = ('id', 'name')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.role_id,
- identity_fakes.role_name,
+ self.fake_role.id,
+ self.fake_role.name,
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v2_0/test_service.py b/openstackclient/tests/identity/v2_0/test_service.py
index dc0fbcd1..318fa83d 100644
--- a/openstackclient/tests/identity/v2_0/test_service.py
+++ b/openstackclient/tests/identity/v2_0/test_service.py
@@ -13,14 +13,12 @@
# under the License.
#
-import copy
-
from openstackclient.identity.v2_0 import service
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestService(identity_fakes.TestIdentityv2):
+ fake_service = identity_fakes.FakeService.create_one_service()
def setUp(self):
super(TestService, self).setUp()
@@ -32,6 +30,7 @@ class TestService(identity_fakes.TestIdentityv2):
class TestServiceCreate(TestService):
+ fake_service_c = identity_fakes.FakeService.create_one_service()
columns = (
'description',
'id',
@@ -39,30 +38,26 @@ class TestServiceCreate(TestService):
'type',
)
datalist = (
- identity_fakes.service_description,
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ fake_service_c.description,
+ fake_service_c.id,
+ fake_service_c.name,
+ fake_service_c.type,
)
def setUp(self):
super(TestServiceCreate, self).setUp()
- self.services_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.create.return_value = self.fake_service_c
# Get the command object to test
self.cmd = service.CreateService(self.app, None)
def test_service_create_with_type_positional(self):
arglist = [
- identity_fakes.service_type,
+ self.fake_service_c.type,
]
verifylist = [
- ('type_or_name', identity_fakes.service_type),
+ ('type_or_name', self.fake_service_c.type),
('type', None),
('description', None),
('name', None),
@@ -77,7 +72,7 @@ class TestServiceCreate(TestService):
# ServiceManager.create(name, service_type, description)
self.services_mock.create.assert_called_with(
None,
- identity_fakes.service_type,
+ self.fake_service_c.type,
None,
)
@@ -86,12 +81,12 @@ class TestServiceCreate(TestService):
def test_service_create_with_type_option(self):
arglist = [
- '--type', identity_fakes.service_type,
- identity_fakes.service_name,
+ '--type', self.fake_service_c.type,
+ self.fake_service_c.name,
]
verifylist = [
- ('type_or_name', identity_fakes.service_name),
- ('type', identity_fakes.service_type),
+ ('type_or_name', self.fake_service_c.name),
+ ('type', self.fake_service_c.type),
('description', None),
('name', None),
]
@@ -104,8 +99,8 @@ class TestServiceCreate(TestService):
# ServiceManager.create(name, service_type, description)
self.services_mock.create.assert_called_with(
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_service_c.name,
+ self.fake_service_c.type,
None,
)
@@ -114,14 +109,14 @@ class TestServiceCreate(TestService):
def test_service_create_with_name_option(self):
arglist = [
- '--name', identity_fakes.service_name,
- identity_fakes.service_type,
+ '--name', self.fake_service_c.name,
+ self.fake_service_c.type,
]
verifylist = [
- ('type_or_name', identity_fakes.service_type),
+ ('type_or_name', self.fake_service_c.type),
('type', None),
('description', None),
- ('name', identity_fakes.service_name),
+ ('name', self.fake_service_c.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -132,8 +127,8 @@ class TestServiceCreate(TestService):
# ServiceManager.create(name, service_type, description)
self.services_mock.create.assert_called_with(
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_service_c.name,
+ self.fake_service_c.type,
None,
)
@@ -142,15 +137,15 @@ class TestServiceCreate(TestService):
def test_service_create_description(self):
arglist = [
- '--name', identity_fakes.service_name,
- '--description', identity_fakes.service_description,
- identity_fakes.service_type,
+ '--name', self.fake_service_c.name,
+ '--description', self.fake_service_c.description,
+ self.fake_service_c.type,
]
verifylist = [
- ('type_or_name', identity_fakes.service_type),
+ ('type_or_name', self.fake_service_c.type),
('type', None),
- ('description', identity_fakes.service_description),
- ('name', identity_fakes.service_name),
+ ('description', self.fake_service_c.description),
+ ('name', self.fake_service_c.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -161,9 +156,9 @@ class TestServiceCreate(TestService):
# ServiceManager.create(name, service_type, description)
self.services_mock.create.assert_called_with(
- identity_fakes.service_name,
- identity_fakes.service_type,
- identity_fakes.service_description,
+ self.fake_service_c.name,
+ self.fake_service_c.type,
+ self.fake_service_c.description,
)
self.assertEqual(self.columns, columns)
@@ -175,11 +170,7 @@ class TestServiceDelete(TestService):
def setUp(self):
super(TestServiceDelete, self).setUp()
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
self.services_mock.delete.return_value = None
# Get the command object to test
@@ -187,17 +178,17 @@ class TestServiceDelete(TestService):
def test_service_delete_no_options(self):
arglist = [
- identity_fakes.service_name,
+ self.fake_service.name,
]
verifylist = [
- ('service', identity_fakes.service_name),
+ ('services', [self.fake_service.name]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.services_mock.delete.assert_called_with(
- identity_fakes.service_id,
+ self.fake_service.id,
)
self.assertIsNone(result)
@@ -207,13 +198,7 @@ class TestServiceList(TestService):
def setUp(self):
super(TestServiceList, self).setUp()
- self.services_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- ),
- ]
+ self.services_mock.list.return_value = [self.fake_service]
# Get the command object to test
self.cmd = service.ListService(self.app, None)
@@ -233,9 +218,9 @@ class TestServiceList(TestService):
collist = ('ID', 'Name', 'Type')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_service.id,
+ self.fake_service.name,
+ self.fake_service.type,
), )
self.assertEqual(datalist, tuple(data))
@@ -258,10 +243,10 @@ class TestServiceList(TestService):
collist = ('ID', 'Name', 'Type', 'Description')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
- identity_fakes.service_description,
+ self.fake_service.id,
+ self.fake_service.name,
+ self.fake_service.type,
+ self.fake_service.description,
), )
self.assertEqual(datalist, tuple(data))
@@ -271,21 +256,17 @@ class TestServiceShow(TestService):
def setUp(self):
super(TestServiceShow, self).setUp()
- self.services_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.SERVICE),
- loaded=True,
- )
+ self.services_mock.get.return_value = self.fake_service
# Get the command object to test
self.cmd = service.ShowService(self.app, None)
def test_service_show(self):
arglist = [
- identity_fakes.service_name,
+ self.fake_service.name,
]
verifylist = [
- ('service', identity_fakes.service_name),
+ ('service', self.fake_service.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -296,15 +277,15 @@ class TestServiceShow(TestService):
# ServiceManager.get(id)
self.services_mock.get.assert_called_with(
- identity_fakes.service_name,
+ self.fake_service.name,
)
collist = ('description', 'id', 'name', 'type')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.service_description,
- identity_fakes.service_id,
- identity_fakes.service_name,
- identity_fakes.service_type,
+ self.fake_service.description,
+ self.fake_service.id,
+ self.fake_service.name,
+ self.fake_service.type,
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v2_0/test_token.py b/openstackclient/tests/identity/v2_0/test_token.py
index 96f08e87..bb776707 100644
--- a/openstackclient/tests/identity/v2_0/test_token.py
+++ b/openstackclient/tests/identity/v2_0/test_token.py
@@ -21,6 +21,9 @@ from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestToken(identity_fakes.TestIdentityv2):
+ fake_user = identity_fakes.FakeUser.create_one_user()
+ fake_project = identity_fakes.FakeProject.create_one_project()
+
def setUp(self):
super(TestToken, self).setUp()
@@ -57,8 +60,8 @@ class TestTokenIssue(TestToken):
datalist = (
auth_ref.expires,
identity_fakes.token_id,
- identity_fakes.project_id,
- identity_fakes.user_id,
+ 'project-id',
+ 'user-id',
)
self.assertEqual(datalist, data)
@@ -85,7 +88,7 @@ class TestTokenIssue(TestToken):
datalist = (
auth_ref.expires,
identity_fakes.token_id,
- identity_fakes.user_id,
+ 'user-id',
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v2_0/test_user.py b/openstackclient/tests/identity/v2_0/test_user.py
index f7a7b08c..ba871247 100644
--- a/openstackclient/tests/identity/v2_0/test_user.py
+++ b/openstackclient/tests/identity/v2_0/test_user.py
@@ -13,19 +13,23 @@
# under the License.
#
-import copy
import mock
from keystoneauth1 import exceptions as ks_exc
from osc_lib import exceptions
from openstackclient.identity.v2_0 import user
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v2_0 import fakes as identity_fakes
class TestUser(identity_fakes.TestIdentityv2):
+ fake_project = identity_fakes.FakeProject.create_one_project()
+ attr = {
+ 'tenantId': fake_project.id,
+ }
+ fake_user = identity_fakes.FakeUser.create_one_user(attr)
+
def setUp(self):
super(TestUser, self).setUp()
@@ -40,6 +44,12 @@ class TestUser(identity_fakes.TestIdentityv2):
class TestUserCreate(TestUser):
+ fake_project_c = identity_fakes.FakeProject.create_one_project()
+ attr = {
+ 'tenantId': fake_project_c.id,
+ }
+ fake_user_c = identity_fakes.FakeUser.create_one_user(attr)
+
columns = (
'email',
'enabled',
@@ -48,39 +58,31 @@ class TestUserCreate(TestUser):
'project_id',
)
datalist = (
- identity_fakes.user_email,
+ fake_user_c.email,
True,
- identity_fakes.user_id,
- identity_fakes.user_name,
- identity_fakes.project_id,
+ fake_user_c.id,
+ fake_user_c.name,
+ fake_project_c.id,
)
def setUp(self):
super(TestUserCreate, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project_c
- self.users_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.create.return_value = self.fake_user_c
# Get the command object to test
self.cmd = user.CreateUser(self.app, None)
def test_user_create_no_options(self):
arglist = [
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
('enable', False),
('disable', False),
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -96,7 +98,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
None,
None,
**kwargs
@@ -108,10 +110,10 @@ class TestUserCreate(TestUser):
def test_user_create_password(self):
arglist = [
'--password', 'secret',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('password_prompt', False),
('password', 'secret')
]
@@ -129,7 +131,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
'secret',
None,
**kwargs
@@ -140,10 +142,10 @@ class TestUserCreate(TestUser):
def test_user_create_password_prompt(self):
arglist = [
'--password-prompt',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('password_prompt', True)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -163,7 +165,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
'abc123',
None,
**kwargs
@@ -175,10 +177,10 @@ class TestUserCreate(TestUser):
def test_user_create_email(self):
arglist = [
'--email', 'barney@example.com',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('email', 'barney@example.com'),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -195,7 +197,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
None,
'barney@example.com',
**kwargs
@@ -206,27 +208,22 @@ class TestUserCreate(TestUser):
def test_user_create_project(self):
# Return the new project
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT_2),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project_c
+
# Set up to return an updated user
- USER_2 = copy.deepcopy(identity_fakes.USER)
- USER_2['tenantId'] = identity_fakes.PROJECT_2['id']
- self.users_mock.create.return_value = fakes.FakeResource(
- None,
- USER_2,
- loaded=True,
- )
+ attr = {
+ 'tenantId': self.fake_project_c.id,
+ }
+ user_2 = identity_fakes.FakeUser.create_one_user(attr)
+ self.users_mock.create.return_value = user_2
arglist = [
- '--project', identity_fakes.PROJECT_2['name'],
- identity_fakes.user_name,
+ '--project', self.fake_project_c.name,
+ user_2.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
- ('project', identity_fakes.PROJECT_2['name']),
+ ('name', user_2.name),
+ ('project', self.fake_project_c.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -238,11 +235,11 @@ class TestUserCreate(TestUser):
# Set expected values
kwargs = {
'enabled': True,
- 'tenant_id': identity_fakes.PROJECT_2['id'],
+ 'tenant_id': self.fake_project_c.id,
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ user_2.name,
None,
None,
**kwargs
@@ -250,21 +247,21 @@ class TestUserCreate(TestUser):
self.assertEqual(self.columns, columns)
datalist = (
- identity_fakes.user_email,
+ user_2.email,
True,
- identity_fakes.user_id,
- identity_fakes.user_name,
- identity_fakes.PROJECT_2['id'],
+ user_2.id,
+ user_2.name,
+ self.fake_project_c.id,
)
self.assertEqual(datalist, data)
def test_user_create_enable(self):
arglist = [
'--enable',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('enable', True),
('disable', False),
]
@@ -282,7 +279,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
None,
None,
**kwargs
@@ -294,10 +291,10 @@ class TestUserCreate(TestUser):
def test_user_create_disable(self):
arglist = [
'--disable',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('enable', False),
('disable', True),
]
@@ -315,7 +312,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
None,
None,
**kwargs
@@ -331,18 +328,14 @@ class TestUserCreate(TestUser):
# need to make this throw an exception...
self.users_mock.create.side_effect = _raise_conflict
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user_c
arglist = [
'--or-show',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('or_show', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -353,7 +346,7 @@ class TestUserCreate(TestUser):
columns, data = self.cmd.take_action(parsed_args)
# UserManager.create(name, password, email, tenant_id=, enabled=)
- self.users_mock.get.assert_called_with(identity_fakes.user_name)
+ self.users_mock.get.assert_called_with(self.fake_user_c.name)
self.assertEqual(self.columns, columns)
self.assertEqual(self.datalist, data)
@@ -361,10 +354,10 @@ class TestUserCreate(TestUser):
def test_user_create_or_show_not_exists(self):
arglist = [
'--or-show',
- identity_fakes.user_name,
+ self.fake_user_c.name,
]
verifylist = [
- ('name', identity_fakes.user_name),
+ ('name', self.fake_user_c.name),
('or_show', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -381,7 +374,7 @@ class TestUserCreate(TestUser):
}
# UserManager.create(name, password, email, tenant_id=, enabled=)
self.users_mock.create.assert_called_with(
- identity_fakes.user_name,
+ self.fake_user_c.name,
None,
None,
**kwargs
@@ -396,11 +389,7 @@ class TestUserDelete(TestUser):
super(TestUserDelete, self).setUp()
# This is the return value for utils.find_resource()
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user
self.users_mock.delete.return_value = None
# Get the command object to test
@@ -408,57 +397,47 @@ class TestUserDelete(TestUser):
def test_user_delete_no_options(self):
arglist = [
- identity_fakes.user_id,
+ self.fake_user.id,
]
verifylist = [
- ('users', [identity_fakes.user_id]),
+ ('users', [self.fake_user.id]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.users_mock.delete.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
)
self.assertIsNone(result)
class TestUserList(TestUser):
+ fake_project_l = identity_fakes.FakeProject.create_one_project()
+ attr = {
+ 'tenantId': fake_project_l.id,
+ }
+ fake_user_l = identity_fakes.FakeUser.create_one_user(attr)
+
columns = (
'ID',
'Name',
)
datalist = (
(
- identity_fakes.user_id,
- identity_fakes.user_name,
+ fake_user_l.id,
+ fake_user_l.name,
),
)
def setUp(self):
super(TestUserList, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT_2),
- loaded=True,
- )
- self.projects_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- ),
- ]
+ self.projects_mock.get.return_value = self.fake_project_l
+ self.projects_mock.list.return_value = [self.fake_project_l]
- self.users_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- ),
- ]
+ self.users_mock.list.return_value = [self.fake_user_l]
# Get the command object to test
self.cmd = user.ListUser(self.app, None)
@@ -480,13 +459,13 @@ class TestUserList(TestUser):
def test_user_list_project(self):
arglist = [
- '--project', identity_fakes.project_id,
+ '--project', self.fake_project_l.id,
]
verifylist = [
- ('project', identity_fakes.project_id),
+ ('project', self.fake_project_l.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
- project_id = identity_fakes.PROJECT_2['id']
+ project_id = self.fake_project_l.id
# In base command class Lister in cliff, abstract method take_action()
# returns a tuple containing the column names and an iterable
@@ -517,10 +496,10 @@ class TestUserList(TestUser):
collist = ('ID', 'Name', 'Project', 'Email', 'Enabled')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.user_id,
- identity_fakes.user_name,
- identity_fakes.project_name,
- identity_fakes.user_email,
+ self.fake_user_l.id,
+ self.fake_user_l.name,
+ self.fake_project_l.name,
+ self.fake_user_l.email,
True,
), )
self.assertEqual(datalist, tuple(data))
@@ -531,23 +510,15 @@ class TestUserSet(TestUser):
def setUp(self):
super(TestUserSet, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.fake_project
+ self.users_mock.get.return_value = self.fake_user
# Get the command object to test
self.cmd = user.SetUser(self.app, None)
def test_user_set_no_options(self):
arglist = [
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -556,7 +527,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -588,7 +559,7 @@ class TestUserSet(TestUser):
def test_user_set_name(self):
arglist = [
'--name', 'qwerty',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', 'qwerty'),
@@ -597,7 +568,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -610,7 +581,7 @@ class TestUserSet(TestUser):
}
# UserManager.update(user, **kwargs)
self.users_mock.update.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
**kwargs
)
self.assertIsNone(result)
@@ -618,7 +589,7 @@ class TestUserSet(TestUser):
def test_user_set_password(self):
arglist = [
'--password', 'secret',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -628,7 +599,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -636,7 +607,7 @@ class TestUserSet(TestUser):
# UserManager.update_password(user, password)
self.users_mock.update_password.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
'secret',
)
self.assertIsNone(result)
@@ -644,7 +615,7 @@ class TestUserSet(TestUser):
def test_user_set_password_prompt(self):
arglist = [
'--password-prompt',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -654,7 +625,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -665,7 +636,7 @@ class TestUserSet(TestUser):
# UserManager.update_password(user, password)
self.users_mock.update_password.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
'abc123',
)
self.assertIsNone(result)
@@ -673,7 +644,7 @@ class TestUserSet(TestUser):
def test_user_set_email(self):
arglist = [
'--email', 'barney@example.com',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -682,7 +653,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -695,24 +666,24 @@ class TestUserSet(TestUser):
}
# UserManager.update(user, **kwargs)
self.users_mock.update.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
**kwargs
)
self.assertIsNone(result)
def test_user_set_project(self):
arglist = [
- '--project', identity_fakes.project_id,
- identity_fakes.user_name,
+ '--project', self.fake_project.id,
+ self.fake_user.name,
]
verifylist = [
('name', None),
('password', None),
('email', None),
- ('project', identity_fakes.project_id),
+ ('project', self.fake_project.id),
('enable', False),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -720,15 +691,15 @@ class TestUserSet(TestUser):
# UserManager.update_tenant(user, tenant)
self.users_mock.update_tenant.assert_called_with(
- identity_fakes.user_id,
- identity_fakes.project_id,
+ self.fake_user.id,
+ self.fake_project.id,
)
self.assertIsNone(result)
def test_user_set_enable(self):
arglist = [
'--enable',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -737,7 +708,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', True),
('disable', False),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -749,7 +720,7 @@ class TestUserSet(TestUser):
}
# UserManager.update(user, **kwargs)
self.users_mock.update.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
**kwargs
)
self.assertIsNone(result)
@@ -757,7 +728,7 @@ class TestUserSet(TestUser):
def test_user_set_disable(self):
arglist = [
'--disable',
- identity_fakes.user_name,
+ self.fake_user.name,
]
verifylist = [
('name', None),
@@ -766,7 +737,7 @@ class TestUserSet(TestUser):
('project', None),
('enable', False),
('disable', True),
- ('user', identity_fakes.user_name),
+ ('user', self.fake_user.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -778,7 +749,7 @@ class TestUserSet(TestUser):
}
# UserManager.update(user, **kwargs)
self.users_mock.update.assert_called_with(
- identity_fakes.user_id,
+ self.fake_user.id,
**kwargs
)
self.assertIsNone(result)
@@ -789,21 +760,17 @@ class TestUserShow(TestUser):
def setUp(self):
super(TestUserShow, self).setUp()
- self.users_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.USER),
- loaded=True,
- )
+ self.users_mock.get.return_value = self.fake_user
# Get the command object to test
self.cmd = user.ShowUser(self.app, None)
def test_user_show(self):
arglist = [
- identity_fakes.user_id,
+ self.fake_user.id,
]
verifylist = [
- ('user', identity_fakes.user_id),
+ ('user', self.fake_user.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -812,15 +779,15 @@ class TestUserShow(TestUser):
# data to be shown.
columns, data = self.cmd.take_action(parsed_args)
- self.users_mock.get.assert_called_with(identity_fakes.user_id)
+ self.users_mock.get.assert_called_with(self.fake_user.id)
collist = ('email', 'enabled', 'id', 'name', 'project_id')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.user_email,
+ self.fake_user.email,
True,
- identity_fakes.user_id,
- identity_fakes.user_name,
- identity_fakes.project_id,
+ self.fake_user.id,
+ self.fake_user.name,
+ self.fake_project.id,
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v3/fakes.py b/openstackclient/tests/identity/v3/fakes.py
index dd918616..df532df4 100644
--- a/openstackclient/tests/identity/v3/fakes.py
+++ b/openstackclient/tests/identity/v3/fakes.py
@@ -15,6 +15,7 @@
import copy
import mock
+import uuid
from keystoneauth1 import access
from keystoneauth1 import fixture
@@ -575,3 +576,66 @@ class TestOAuth1(utils.TestCommand):
endpoint=fakes.AUTH_URL,
token=fakes.AUTH_TOKEN
)
+
+
+class FakeProject(object):
+ """Fake one or more project."""
+
+ @staticmethod
+ def create_one_project(attrs=None):
+ """Create a fake project.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ project_info = {
+ 'id': 'project-id-' + uuid.uuid4().hex,
+ 'name': 'project-name-' + uuid.uuid4().hex,
+ 'description': 'project-description-' + uuid.uuid4().hex,
+ 'enabled': True,
+ 'is_domain': False,
+ 'domain_id': 'domain-id-' + uuid.uuid4().hex,
+ 'parent_id': 'parent-id-' + uuid.uuid4().hex,
+ 'links': 'links-' + uuid.uuid4().hex,
+ }
+ project_info.update(attrs)
+
+ project = fakes.FakeResource(info=copy.deepcopy(project_info),
+ loaded=True)
+ return project
+
+
+class FakeDomain(object):
+ """Fake one or more domain."""
+
+ @staticmethod
+ def create_one_domain(attrs=None):
+ """Create a fake domain.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :return:
+ A FakeResource object, with id, name, and so on
+ """
+
+ attrs = attrs or {}
+
+ # set default attributes.
+ domain_info = {
+ 'id': 'domain-id-' + uuid.uuid4().hex,
+ 'name': 'domain-name-' + uuid.uuid4().hex,
+ 'description': 'domain-description-' + uuid.uuid4().hex,
+ 'enabled': True,
+ 'links': 'links-' + uuid.uuid4().hex,
+ }
+ domain_info.update(attrs)
+
+ domain = fakes.FakeResource(info=copy.deepcopy(domain_info),
+ loaded=True)
+ return domain
diff --git a/openstackclient/tests/identity/v3/test_domain.py b/openstackclient/tests/identity/v3/test_domain.py
index e06e0681..9229ddd0 100644
--- a/openstackclient/tests/identity/v3/test_domain.py
+++ b/openstackclient/tests/identity/v3/test_domain.py
@@ -10,10 +10,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-import copy
-
from openstackclient.identity.v3 import domain
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v3 import fakes as identity_fakes
@@ -35,20 +32,17 @@ class TestDomainCreate(TestDomain):
'id',
'name',
)
- datalist = (
- identity_fakes.domain_description,
- True,
- identity_fakes.domain_id,
- identity_fakes.domain_name,
- )
def setUp(self):
super(TestDomainCreate, self).setUp()
- self.domains_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
+ self.domain = identity_fakes.FakeDomain.create_one_domain()
+ self.domains_mock.create.return_value = self.domain
+ self.datalist = (
+ self.domain.description,
+ True,
+ self.domain.id,
+ self.domain.name,
)
# Get the command object to test
@@ -56,10 +50,10 @@ class TestDomainCreate(TestDomain):
def test_domain_create_no_options(self):
arglist = [
- identity_fakes.domain_name,
+ self.domain.name,
]
verifylist = [
- ('name', identity_fakes.domain_name),
+ ('name', self.domain.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -70,7 +64,7 @@ class TestDomainCreate(TestDomain):
# Set expected values
kwargs = {
- 'name': identity_fakes.domain_name,
+ 'name': self.domain.name,
'description': None,
'enabled': True,
}
@@ -84,11 +78,11 @@ class TestDomainCreate(TestDomain):
def test_domain_create_description(self):
arglist = [
'--description', 'new desc',
- identity_fakes.domain_name,
+ self.domain.name,
]
verifylist = [
('description', 'new desc'),
- ('name', identity_fakes.domain_name),
+ ('name', self.domain.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -99,7 +93,7 @@ class TestDomainCreate(TestDomain):
# Set expected values
kwargs = {
- 'name': identity_fakes.domain_name,
+ 'name': self.domain.name,
'description': 'new desc',
'enabled': True,
}
@@ -113,11 +107,11 @@ class TestDomainCreate(TestDomain):
def test_domain_create_enable(self):
arglist = [
'--enable',
- identity_fakes.domain_name,
+ self.domain.name,
]
verifylist = [
('enable', True),
- ('name', identity_fakes.domain_name),
+ ('name', self.domain.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -128,7 +122,7 @@ class TestDomainCreate(TestDomain):
# Set expected values
kwargs = {
- 'name': identity_fakes.domain_name,
+ 'name': self.domain.name,
'description': None,
'enabled': True,
}
@@ -142,11 +136,11 @@ class TestDomainCreate(TestDomain):
def test_domain_create_disable(self):
arglist = [
'--disable',
- identity_fakes.domain_name,
+ self.domain.name,
]
verifylist = [
('disable', True),
- ('name', identity_fakes.domain_name),
+ ('name', self.domain.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -157,7 +151,7 @@ class TestDomainCreate(TestDomain):
# Set expected values
kwargs = {
- 'name': identity_fakes.domain_name,
+ 'name': self.domain.name,
'description': None,
'enabled': False,
}
@@ -171,15 +165,13 @@ class TestDomainCreate(TestDomain):
class TestDomainDelete(TestDomain):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+
def setUp(self):
super(TestDomainDelete, self).setUp()
# This is the return value for utils.find_resource()
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
+ self.domains_mock.get.return_value = self.domain
self.domains_mock.delete.return_value = None
# Get the command object to test
@@ -187,33 +179,29 @@ class TestDomainDelete(TestDomain):
def test_domain_delete(self):
arglist = [
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.domains_mock.delete.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
)
self.assertIsNone(result)
class TestDomainList(TestDomain):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+
def setUp(self):
super(TestDomainList, self).setUp()
- self.domains_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- ),
- ]
+ self.domains_mock.list.return_value = [self.domain]
# Get the command object to test
self.cmd = domain.ListDomain(self.app, None)
@@ -232,40 +220,34 @@ class TestDomainList(TestDomain):
collist = ('ID', 'Name', 'Enabled', 'Description')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.domain_id,
- identity_fakes.domain_name,
+ self.domain.id,
+ self.domain.name,
True,
- identity_fakes.domain_description,
+ self.domain.description,
), )
self.assertEqual(datalist, tuple(data))
class TestDomainSet(TestDomain):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+
def setUp(self):
super(TestDomainSet, self).setUp()
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
+ self.domains_mock.get.return_value = self.domain
- self.domains_mock.update.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
+ self.domains_mock.update.return_value = self.domain
# Get the command object to test
self.cmd = domain.SetDomain(self.app, None)
def test_domain_set_no_options(self):
arglist = [
- identity_fakes.domain_name,
+ self.domain.name,
]
verifylist = [
- ('domain', identity_fakes.domain_name),
+ ('domain', self.domain.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -277,11 +259,11 @@ class TestDomainSet(TestDomain):
def test_domain_set_name(self):
arglist = [
'--name', 'qwerty',
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
('name', 'qwerty'),
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -292,7 +274,7 @@ class TestDomainSet(TestDomain):
'name': 'qwerty',
}
self.domains_mock.update.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
**kwargs
)
self.assertIsNone(result)
@@ -300,11 +282,11 @@ class TestDomainSet(TestDomain):
def test_domain_set_description(self):
arglist = [
'--description', 'new desc',
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
('description', 'new desc'),
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -315,7 +297,7 @@ class TestDomainSet(TestDomain):
'description': 'new desc',
}
self.domains_mock.update.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
**kwargs
)
self.assertIsNone(result)
@@ -323,11 +305,11 @@ class TestDomainSet(TestDomain):
def test_domain_set_enable(self):
arglist = [
'--enable',
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
('enable', True),
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -338,7 +320,7 @@ class TestDomainSet(TestDomain):
'enabled': True,
}
self.domains_mock.update.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
**kwargs
)
self.assertIsNone(result)
@@ -346,11 +328,11 @@ class TestDomainSet(TestDomain):
def test_domain_set_disable(self):
arglist = [
'--disable',
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
('disable', True),
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -361,7 +343,7 @@ class TestDomainSet(TestDomain):
'enabled': False,
}
self.domains_mock.update.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
**kwargs
)
self.assertIsNone(result)
@@ -372,21 +354,17 @@ class TestDomainShow(TestDomain):
def setUp(self):
super(TestDomainShow, self).setUp()
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
-
+ self.domain = identity_fakes.FakeDomain.create_one_domain()
+ self.domains_mock.get.return_value = self.domain
# Get the command object to test
self.cmd = domain.ShowDomain(self.app, None)
def test_domain_show(self):
arglist = [
- identity_fakes.domain_id,
+ self.domain.id,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.domain.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.app.client_manager.identity.tokens.get_token_data.return_value = \
@@ -405,15 +383,15 @@ class TestDomainShow(TestDomain):
# data to be shown.
columns, data = self.cmd.take_action(parsed_args)
self.domains_mock.get.assert_called_with(
- identity_fakes.domain_id,
+ self.domain.id,
)
collist = ('description', 'enabled', 'id', 'name')
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.domain_description,
+ self.domain.description,
True,
- identity_fakes.domain_id,
- identity_fakes.domain_name,
+ self.domain.id,
+ self.domain.name,
)
self.assertEqual(datalist, data)
diff --git a/openstackclient/tests/identity/v3/test_identity_provider.py b/openstackclient/tests/identity/v3/test_identity_provider.py
index 3ff79812..aaf5b06d 100644
--- a/openstackclient/tests/identity/v3/test_identity_provider.py
+++ b/openstackclient/tests/identity/v3/test_identity_provider.py
@@ -15,6 +15,7 @@
import copy
import mock
+import testtools
from openstackclient.identity.v3 import identity_provider
from openstackclient.tests import fakes
@@ -603,6 +604,7 @@ class TestIdentityProviderShow(TestIdentityProvider):
# Get the command object to test
self.cmd = identity_provider.ShowIdentityProvider(self.app, None)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_identity_provider_show(self):
arglist = [
identity_fakes.idp_id,
diff --git a/openstackclient/tests/identity/v3/test_project.py b/openstackclient/tests/identity/v3/test_project.py
index 93bf18af..23b0c9a0 100644
--- a/openstackclient/tests/identity/v3/test_project.py
+++ b/openstackclient/tests/identity/v3/test_project.py
@@ -13,13 +13,12 @@
# under the License.
#
-import copy
import mock
from osc_lib import exceptions
+import testtools
from openstackclient.identity.v3 import project
-from openstackclient.tests import fakes
from openstackclient.tests.identity.v3 import fakes as identity_fakes
@@ -39,48 +38,46 @@ class TestProject(identity_fakes.TestIdentityv3):
class TestProjectCreate(TestProject):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+
columns = (
'description',
'domain_id',
'enabled',
'id',
- 'name'
- )
- datalist = (
- identity_fakes.project_description,
- identity_fakes.domain_id,
- True,
- identity_fakes.project_id,
- identity_fakes.project_name,
+ 'is_domain',
+ 'name',
+ 'parent_id',
)
def setUp(self):
super(TestProjectCreate, self).setUp()
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
-
- self.projects_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={'domain_id': self.domain.id})
+ self.domains_mock.get.return_value = self.domain
+ self.projects_mock.create.return_value = self.project
+ self.datalist = (
+ self.project.description,
+ self.project.domain_id,
+ True,
+ self.project.id,
+ False,
+ self.project.name,
+ self.project.parent_id,
)
-
# Get the command object to test
self.cmd = project.CreateProject(self.app, None)
def test_project_create_no_options(self):
arglist = [
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
('parent', None),
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -91,7 +88,7 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
+ 'name': self.project.name,
'domain': None,
'description': None,
'enabled': True,
@@ -103,27 +100,37 @@ class TestProjectCreate(TestProject):
**kwargs
)
- collist = ('description', 'domain_id', 'enabled', 'id', 'name')
+ collist = (
+ 'description',
+ 'domain_id',
+ 'enabled',
+ 'id',
+ 'is_domain',
+ 'name',
+ 'parent_id',
+ )
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.project_description,
- identity_fakes.domain_id,
+ self.project.description,
+ self.project.domain_id,
True,
- identity_fakes.project_id,
- identity_fakes.project_name,
+ self.project.id,
+ False,
+ self.project.name,
+ self.project.parent_id,
)
self.assertEqual(datalist, data)
def test_project_create_description(self):
arglist = [
'--description', 'new desc',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
('description', 'new desc'),
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
('parent', None),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -135,7 +142,7 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
+ 'name': self.project.name,
'domain': None,
'description': 'new desc',
'enabled': True,
@@ -152,14 +159,14 @@ class TestProjectCreate(TestProject):
def test_project_create_domain(self):
arglist = [
- '--domain', identity_fakes.domain_name,
- identity_fakes.project_name,
+ '--domain', self.project.domain_id,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_name),
+ ('domain', self.project.domain_id),
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
('parent', None),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -171,8 +178,8 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
- 'domain': identity_fakes.domain_id,
+ 'name': self.project.name,
+ 'domain': self.project.domain_id,
'description': None,
'enabled': True,
'parent': None,
@@ -188,14 +195,14 @@ class TestProjectCreate(TestProject):
def test_project_create_domain_no_perms(self):
arglist = [
- '--domain', identity_fakes.domain_id,
- identity_fakes.project_name,
+ '--domain', self.project.domain_id,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
('parent', None),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -207,8 +214,8 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
- 'domain': identity_fakes.domain_id,
+ 'name': self.project.name,
+ 'domain': self.project.domain_id,
'description': None,
'enabled': True,
'parent': None,
@@ -222,12 +229,12 @@ class TestProjectCreate(TestProject):
def test_project_create_enable(self):
arglist = [
'--enable',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
('enable', True),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
('parent', None),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -239,7 +246,7 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
+ 'name': self.project.name,
'domain': None,
'description': None,
'enabled': True,
@@ -257,12 +264,12 @@ class TestProjectCreate(TestProject):
def test_project_create_disable(self):
arglist = [
'--disable',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
('enable', False),
('disable', True),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
('parent', None),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -274,7 +281,7 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
+ 'name': self.project.name,
'domain': None,
'description': None,
'enabled': False,
@@ -293,11 +300,11 @@ class TestProjectCreate(TestProject):
arglist = [
'--property', 'fee=fi',
'--property', 'fo=fum',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
('property', {'fee': 'fi', 'fo': 'fum'}),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -308,7 +315,7 @@ class TestProjectCreate(TestProject):
# Set expected values
kwargs = {
- 'name': identity_fakes.project_name,
+ 'name': self.project.name,
'domain': None,
'description': None,
'enabled': True,
@@ -326,37 +333,32 @@ class TestProjectCreate(TestProject):
self.assertEqual(self.datalist, data)
def test_project_create_parent(self):
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
- self.projects_mock.create.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT_WITH_PARENT),
- loaded=True,
- )
+ self.parent = identity_fakes.FakeProject.create_one_project()
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={'domain_id': self.domain.id, 'parent_id': self.parent.id})
+ self.projects_mock.get.return_value = self.parent
+ self.projects_mock.create.return_value = self.project
arglist = [
- '--domain', identity_fakes.PROJECT_WITH_PARENT['domain_id'],
- '--parent', identity_fakes.PROJECT['name'],
- identity_fakes.PROJECT_WITH_PARENT['name'],
+ '--domain', self.project.domain_id,
+ '--parent', self.parent.name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.PROJECT_WITH_PARENT['domain_id']),
- ('parent', identity_fakes.PROJECT['name']),
+ ('domain', self.project.domain_id),
+ ('parent', self.parent.name),
('enable', False),
('disable', False),
- ('name', identity_fakes.PROJECT_WITH_PARENT['name']),
+ ('name', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
columns, data = self.cmd.take_action(parsed_args)
kwargs = {
- 'name': identity_fakes.PROJECT_WITH_PARENT['name'],
- 'domain': identity_fakes.PROJECT_WITH_PARENT['domain_id'],
- 'parent': identity_fakes.PROJECT['id'],
+ 'name': self.project.name,
+ 'domain': self.project.domain_id,
+ 'parent': self.parent.id,
'description': None,
'enabled': True,
}
@@ -370,17 +372,19 @@ class TestProjectCreate(TestProject):
'domain_id',
'enabled',
'id',
+ 'is_domain',
'name',
'parent_id',
)
self.assertEqual(columns, collist)
datalist = (
- identity_fakes.PROJECT_WITH_PARENT['description'],
- identity_fakes.PROJECT_WITH_PARENT['domain_id'],
- identity_fakes.PROJECT_WITH_PARENT['enabled'],
- identity_fakes.PROJECT_WITH_PARENT['id'],
- identity_fakes.PROJECT_WITH_PARENT['name'],
- identity_fakes.PROJECT['id'],
+ self.project.description,
+ self.project.domain_id,
+ self.project.enabled,
+ self.project.id,
+ self.project.is_domain,
+ self.project.name,
+ self.parent.id,
)
self.assertEqual(data, datalist)
@@ -392,16 +396,16 @@ class TestProjectCreate(TestProject):
'Invalid parent')
arglist = [
- '--domain', identity_fakes.domain_name,
+ '--domain', self.project.domain_id,
'--parent', 'invalid',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_name),
+ ('domain', self.project.domain_id),
('parent', 'invalid'),
('enable', False),
('disable', False),
- ('name', identity_fakes.project_name),
+ ('name', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -414,15 +418,13 @@ class TestProjectCreate(TestProject):
class TestProjectDelete(TestProject):
+ project = identity_fakes.FakeProject.create_one_project()
+
def setUp(self):
super(TestProjectDelete, self).setUp()
# This is the return value for utils.find_resource()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.project
self.projects_mock.delete.return_value = None
# Get the command object to test
@@ -430,44 +432,42 @@ class TestProjectDelete(TestProject):
def test_project_delete_no_options(self):
arglist = [
- identity_fakes.project_id,
+ self.project.id,
]
verifylist = [
- ('projects', [identity_fakes.project_id]),
+ ('projects', [self.project.id]),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.projects_mock.delete.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
)
self.assertIsNone(result)
class TestProjectList(TestProject):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+ project = identity_fakes.FakeProject.create_one_project(
+ attrs={'domain_id': domain.id})
+
columns = (
'ID',
'Name',
)
datalist = (
(
- identity_fakes.project_id,
- identity_fakes.project_name,
+ project.id,
+ project.name,
),
)
def setUp(self):
super(TestProjectList, self).setUp()
- self.projects_mock.list.return_value = [
- fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- ),
- ]
+ self.projects_mock.list.return_value = [self.project]
# Get the command object to test
self.cmd = project.ListProject(self.app, None)
@@ -504,27 +504,23 @@ class TestProjectList(TestProject):
collist = ('ID', 'Name', 'Domain ID', 'Description', 'Enabled')
self.assertEqual(collist, columns)
datalist = ((
- identity_fakes.project_id,
- identity_fakes.project_name,
- identity_fakes.domain_id,
- identity_fakes.project_description,
+ self.project.id,
+ self.project.name,
+ self.project.domain_id,
+ self.project.description,
True,
), )
self.assertEqual(datalist, tuple(data))
def test_project_list_domain(self):
arglist = [
- '--domain', identity_fakes.domain_name,
+ '--domain', self.project.domain_id,
]
verifylist = [
- ('domain', identity_fakes.domain_name),
+ ('domain', self.project.domain_id),
]
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
+ self.domains_mock.get.return_value = self.domain
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -533,17 +529,17 @@ class TestProjectList(TestProject):
# containing the data to be listed.
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.list.assert_called_with(
- domain=identity_fakes.domain_id)
+ domain=self.project.domain_id)
self.assertEqual(self.columns, columns)
self.assertEqual(self.datalist, tuple(data))
def test_project_list_domain_no_perms(self):
arglist = [
- '--domain', identity_fakes.domain_id,
+ '--domain', self.project.domain_id,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
mocker = mock.Mock()
@@ -553,42 +549,34 @@ class TestProjectList(TestProject):
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.list.assert_called_with(
- domain=identity_fakes.domain_id)
+ domain=self.project.domain_id)
self.assertEqual(self.columns, columns)
self.assertEqual(self.datalist, tuple(data))
class TestProjectSet(TestProject):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+ project = identity_fakes.FakeProject.create_one_project(
+ attrs={'domain_id': domain.id})
+
def setUp(self):
super(TestProjectSet, self).setUp()
- self.domains_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.DOMAIN),
- loaded=True,
- )
+ self.domains_mock.get.return_value = self.domain
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
- self.projects_mock.update.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.projects_mock.get.return_value = self.project
+ self.projects_mock.update.return_value = self.project
# Get the command object to test
self.cmd = project.SetProject(self.app, None)
def test_project_set_no_options(self):
arglist = [
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
('enable', False),
('disable', False),
]
@@ -601,15 +589,15 @@ class TestProjectSet(TestProject):
def test_project_set_name(self):
arglist = [
'--name', 'qwerty',
- '--domain', identity_fakes.domain_id,
- identity_fakes.project_name,
+ '--domain', self.project.domain_id,
+ self.project.name,
]
verifylist = [
('name', 'qwerty'),
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('enable', False),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -622,23 +610,23 @@ class TestProjectSet(TestProject):
# ProjectManager.update(project, name=, domain=, description=,
# enabled=, **kwargs)
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
**kwargs
)
self.assertIsNone(result)
def test_project_set_description(self):
arglist = [
- '--domain', identity_fakes.domain_id,
+ '--domain', self.project.domain_id,
'--description', 'new desc',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('description', 'new desc'),
('enable', False),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -649,22 +637,22 @@ class TestProjectSet(TestProject):
'description': 'new desc',
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
**kwargs
)
self.assertIsNone(result)
def test_project_set_enable(self):
arglist = [
- '--domain', identity_fakes.domain_id,
+ '--domain', self.project.domain_id,
'--enable',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('enable', True),
('disable', False),
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -675,22 +663,22 @@ class TestProjectSet(TestProject):
'enabled': True,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
**kwargs
)
self.assertIsNone(result)
def test_project_set_disable(self):
arglist = [
- '--domain', identity_fakes.domain_id,
+ '--domain', self.project.domain_id,
'--disable',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('enable', False),
('disable', True),
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -701,22 +689,22 @@ class TestProjectSet(TestProject):
'enabled': False,
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
**kwargs
)
self.assertIsNone(result)
def test_project_set_property(self):
arglist = [
- '--domain', identity_fakes.domain_id,
+ '--domain', self.project.domain_id,
'--property', 'fee=fi',
'--property', 'fo=fum',
- identity_fakes.project_name,
+ self.project.name,
]
verifylist = [
- ('domain', identity_fakes.domain_id),
+ ('domain', self.project.domain_id),
('property', {'fee': 'fi', 'fo': 'fum'}),
- ('project', identity_fakes.project_name),
+ ('project', self.project.name),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -728,7 +716,7 @@ class TestProjectSet(TestProject):
'fo': 'fum',
}
self.projects_mock.update.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
**kwargs
)
self.assertIsNone(result)
@@ -736,25 +724,26 @@ class TestProjectSet(TestProject):
class TestProjectShow(TestProject):
+ domain = identity_fakes.FakeDomain.create_one_domain()
+
def setUp(self):
super(TestProjectShow, self).setUp()
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- copy.deepcopy(identity_fakes.PROJECT),
- loaded=True,
- )
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={'domain_id': self.domain.id})
+ self.projects_mock.get.return_value = self.project
# Get the command object to test
self.cmd = project.ShowProject(self.app, None)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_project_show(self):
arglist = [
- identity_fakes.project_id,
+ self.project.id,
]
verifylist = [
- ('project', identity_fakes.project_id),
+ ('project', self.project.id),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -773,37 +762,48 @@ class TestProjectShow(TestProject):
# data to be shown.
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.get.assert_called_with(
- identity_fakes.project_id,
+ self.project.id,
parents_as_list=False,
subtree_as_list=False,
)
- collist = ('description', 'domain_id', 'enabled', 'id', 'name')
+ collist = (
+ 'description',
+ 'domain_id',
+ 'enabled',
+ 'id',
+ 'is_domain',
+ 'name',
+ 'parent_id',
+ )
self.assertEqual(collist, columns)
datalist = (
- identity_fakes.project_description,
- identity_fakes.domain_id,
+ self.project.description,
+ self.project.domain_id,
True,
- identity_fakes.project_id,
- identity_fakes.project_name,
+ self.project.id,
+ False,
+ self.project.name,
+ self.project.parent_id,
)
self.assertEqual(datalist, data)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_project_show_parents(self):
- project = copy.deepcopy(identity_fakes.PROJECT_WITH_GRANDPARENT)
- project['parents'] = identity_fakes.grandparents
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- project,
- loaded=True,
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={
+ 'parent_id': self.project.parent_id,
+ 'parents': [{'project': {'id': self.project.parent_id}}]
+ }
)
+ self.projects_mock.get.return_value = self.project
arglist = [
- identity_fakes.PROJECT_WITH_GRANDPARENT['id'],
+ self.project.id,
'--parents',
]
verifylist = [
- ('project', identity_fakes.PROJECT_WITH_GRANDPARENT['id']),
+ ('project', self.project.id),
('parents', True),
('children', False),
]
@@ -820,7 +820,7 @@ class TestProjectShow(TestProject):
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.get.assert_called_with(
- identity_fakes.PROJECT_WITH_GRANDPARENT['id'],
+ self.project.id,
parents_as_list=True,
subtree_as_list=False,
)
@@ -830,37 +830,40 @@ class TestProjectShow(TestProject):
'domain_id',
'enabled',
'id',
+ 'is_domain',
'name',
'parent_id',
'parents',
)
self.assertEqual(columns, collist)
datalist = (
- identity_fakes.PROJECT_WITH_GRANDPARENT['description'],
- identity_fakes.PROJECT_WITH_GRANDPARENT['domain_id'],
- identity_fakes.PROJECT_WITH_GRANDPARENT['enabled'],
- identity_fakes.PROJECT_WITH_GRANDPARENT['id'],
- identity_fakes.PROJECT_WITH_GRANDPARENT['name'],
- identity_fakes.PROJECT_WITH_GRANDPARENT['parent_id'],
- identity_fakes.ids_for_parents_and_grandparents,
+ self.project.description,
+ self.project.domain_id,
+ self.project.enabled,
+ self.project.id,
+ self.project.is_domain,
+ self.project.name,
+ self.project.parent_id,
+ [self.project.parent_id],
)
self.assertEqual(data, datalist)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_project_show_subtree(self):
- project = copy.deepcopy(identity_fakes.PROJECT_WITH_PARENT)
- project['subtree'] = identity_fakes.children
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- project,
- loaded=True,
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={
+ 'parent_id': self.project.parent_id,
+ 'subtree': [{'project': {'id': 'children-id'}}]
+ }
)
+ self.projects_mock.get.return_value = self.project
arglist = [
- identity_fakes.PROJECT_WITH_PARENT['id'],
+ self.project.id,
'--children',
]
verifylist = [
- ('project', identity_fakes.PROJECT_WITH_PARENT['id']),
+ ('project', self.project.id),
('parents', False),
('children', True),
]
@@ -877,7 +880,7 @@ class TestProjectShow(TestProject):
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.get.assert_called_with(
- identity_fakes.PROJECT_WITH_PARENT['id'],
+ self.project.id,
parents_as_list=False,
subtree_as_list=True,
)
@@ -887,39 +890,42 @@ class TestProjectShow(TestProject):
'domain_id',
'enabled',
'id',
+ 'is_domain',
'name',
'parent_id',
'subtree',
)
self.assertEqual(columns, collist)
datalist = (
- identity_fakes.PROJECT_WITH_PARENT['description'],
- identity_fakes.PROJECT_WITH_PARENT['domain_id'],
- identity_fakes.PROJECT_WITH_PARENT['enabled'],
- identity_fakes.PROJECT_WITH_PARENT['id'],
- identity_fakes.PROJECT_WITH_PARENT['name'],
- identity_fakes.PROJECT_WITH_PARENT['parent_id'],
- identity_fakes.ids_for_children,
+ self.project.description,
+ self.project.domain_id,
+ self.project.enabled,
+ self.project.id,
+ self.project.is_domain,
+ self.project.name,
+ self.project.parent_id,
+ ['children-id'],
)
self.assertEqual(data, datalist)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_project_show_parents_and_children(self):
- project = copy.deepcopy(identity_fakes.PROJECT_WITH_PARENT)
- project['subtree'] = identity_fakes.children
- project['parents'] = identity_fakes.parents
- self.projects_mock.get.return_value = fakes.FakeResource(
- None,
- project,
- loaded=True,
+ self.project = identity_fakes.FakeProject.create_one_project(
+ attrs={
+ 'parent_id': self.project.parent_id,
+ 'parents': [{'project': {'id': self.project.parent_id}}],
+ 'subtree': [{'project': {'id': 'children-id'}}]
+ }
)
+ self.projects_mock.get.return_value = self.project
arglist = [
- identity_fakes.PROJECT_WITH_PARENT['id'],
+ self.project.id,
'--parents',
'--children',
]
verifylist = [
- ('project', identity_fakes.PROJECT_WITH_PARENT['id']),
+ ('project', self.project.id),
('parents', True),
('children', True),
]
@@ -936,7 +942,7 @@ class TestProjectShow(TestProject):
columns, data = self.cmd.take_action(parsed_args)
self.projects_mock.get.assert_called_with(
- identity_fakes.PROJECT_WITH_PARENT['id'],
+ self.project.id,
parents_as_list=True,
subtree_as_list=True,
)
@@ -946,6 +952,7 @@ class TestProjectShow(TestProject):
'domain_id',
'enabled',
'id',
+ 'is_domain',
'name',
'parent_id',
'parents',
@@ -953,13 +960,14 @@ class TestProjectShow(TestProject):
)
self.assertEqual(columns, collist)
datalist = (
- identity_fakes.PROJECT_WITH_PARENT['description'],
- identity_fakes.PROJECT_WITH_PARENT['domain_id'],
- identity_fakes.PROJECT_WITH_PARENT['enabled'],
- identity_fakes.PROJECT_WITH_PARENT['id'],
- identity_fakes.PROJECT_WITH_PARENT['name'],
- identity_fakes.PROJECT_WITH_PARENT['parent_id'],
- identity_fakes.ids_for_parents,
- identity_fakes.ids_for_children,
+ self.project.description,
+ self.project.domain_id,
+ self.project.enabled,
+ self.project.id,
+ self.project.is_domain,
+ self.project.name,
+ self.project.parent_id,
+ [self.project.parent_id],
+ ['children-id'],
)
self.assertEqual(data, datalist)
diff --git a/openstackclient/tests/identity/v3/test_service_provider.py b/openstackclient/tests/identity/v3/test_service_provider.py
index 99ea1f75..62ef5468 100644
--- a/openstackclient/tests/identity/v3/test_service_provider.py
+++ b/openstackclient/tests/identity/v3/test_service_provider.py
@@ -14,6 +14,8 @@
import copy
+import testtools
+
from openstackclient.identity.v3 import service_provider
from openstackclient.tests import fakes
from openstackclient.tests.identity.v3 import fakes as service_fakes
@@ -395,6 +397,7 @@ class TestServiceProviderShow(TestServiceProvider):
# Get the command object to test
self.cmd = service_provider.ShowServiceProvider(self.app, None)
+ @testtools.skip("skip until bug 1599333 is fixed")
def test_service_provider_show(self):
arglist = [
service_fakes.sp_id,