diff options
Diffstat (limited to 'troveclient/tests')
-rw-r--r-- | troveclient/tests/osc/utils.py | 28 | ||||
-rw-r--r-- | troveclient/tests/osc/v1/test_database_instances.py | 16 |
2 files changed, 43 insertions, 1 deletions
diff --git a/troveclient/tests/osc/utils.py b/troveclient/tests/osc/utils.py index e40bdd4..ca86cb5 100644 --- a/troveclient/tests/osc/utils.py +++ b/troveclient/tests/osc/utils.py @@ -12,10 +12,12 @@ # import os +import random +import sys from unittest import mock +import uuid import fixtures -import sys import testtools from troveclient.tests.osc import fakes @@ -35,6 +37,30 @@ class TestCase(testtools.TestCase): stderr = self.useFixture(fixtures.StringStream("stderr")).stream self.useFixture(fixtures.MonkeyPatch("sys.stderr", stderr)) + @classmethod + def random_name(cls, name='', prefix=None): + """Generate a random name that inclues a random number. + + :param str name: The name that you want to include + :param str prefix: The prefix that you want to include + + :return: a random name. The format is + '<prefix>-<name>-<random number>'. + (e.g. 'prefixfoo-namebar-154876201') + :rtype: string + """ + randbits = str(random.randint(1, 0x7fffffff)) + rand_name = randbits + if name: + rand_name = name + '-' + rand_name + if prefix: + rand_name = prefix + '-' + rand_name + return rand_name + + @classmethod + def random_uuid(cls): + return str(uuid.uuid4()) + class TestCommand(TestCase): """Test cliff command classes""" diff --git a/troveclient/tests/osc/v1/test_database_instances.py b/troveclient/tests/osc/v1/test_database_instances.py index c050c35..9000acb 100644 --- a/troveclient/tests/osc/v1/test_database_instances.py +++ b/troveclient/tests/osc/v1/test_database_instances.py @@ -88,6 +88,22 @@ class TestInstanceList(TestInstances): ] self.assertEqual(expected_instances, instances) + def test_instance_list_for_project(self): + self.mgmt_client.list.return_value = common.Paginated(self.data) + + project_id = self.random_uuid() + parsed_args = self.check_parser(self.cmd, ["--project-id", project_id], + [("project_id", project_id)]) + self.cmd.take_action(parsed_args) + + expected_params = { + 'include_clustered': False, + 'limit': None, + 'marker': None, + 'project_id': project_id + } + self.mgmt_client.list.assert_called_once_with(**expected_params) + class TestInstanceShow(TestInstances): values = ([{'address': '10.0.0.13', 'type': 'private'}], [], 'mysql', |