diff --git a/osc_placement/tests/functional/base.py b/osc_placement/tests/functional/base.py index a221e21..1a177a9 100644 --- a/osc_placement/tests/functional/base.py +++ b/osc_placement/tests/functional/base.py @@ -12,7 +12,6 @@ import json import random -import string import subprocess from oslotest import base @@ -47,6 +46,25 @@ class BaseTestCase(base.BaseTestCase): else: return result + def rand_name(self, name='', prefix=None): + """Generate a random name that includes 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 + '--'. + (e.g. 'prefixfoo-namebar-154876201') + :rtype: string + """ + # NOTE(lajos katona): This method originally is in tempest-lib. + 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 + def assertCommandFailed(self, message, func, *args, **kwargs): signature = [func] signature.extend(args) @@ -63,9 +81,7 @@ class BaseTestCase(base.BaseTestCase): name='', parent_provider_uuid=None): if not name: - random_part = ''.join(random.choice(string.ascii_letters) - for i in range(10)) - name = RP_PREFIX + random_part + name = self.rand_name(name='', prefix=RP_PREFIX) to_exec = 'resource provider create ' + name if parent_provider_uuid is not None: diff --git a/osc_placement/tests/functional/test_resource_provider.py b/osc_placement/tests/functional/test_resource_provider.py index 1842af2..3c9e3d3 100644 --- a/osc_placement/tests/functional/test_resource_provider.py +++ b/osc_placement/tests/functional/test_resource_provider.py @@ -21,8 +21,9 @@ from osc_placement.tests.functional import base class TestResourceProvider(base.BaseTestCase): def test_resource_provider_create(self): - created = self.resource_provider_create('test_rp_creation') - self.assertEqual('test_rp_creation', created['name']) + name = self.rand_name('test_rp_creation') + created = self.resource_provider_create(name) + self.assertEqual(name, created['name']) retrieved = self.resource_provider_show(created['uuid']) self.assertEqual(created, retrieved) @@ -47,15 +48,17 @@ class TestResourceProvider(base.BaseTestCase): self.assertIn(msg, exc.output.decode('utf-8')) def test_resource_provider_set(self): - created = self.resource_provider_create(name='test_rp_orig_name') + orig_name = self.rand_name('test_rp_orig_name') + created = self.resource_provider_create(name=orig_name) before_update = self.resource_provider_show(created['uuid']) - self.assertEqual('test_rp_orig_name', before_update['name']) + self.assertEqual(orig_name, before_update['name']) self.assertEqual(0, before_update['generation']) - self.resource_provider_set(created['uuid'], name='test_rp_new_name') + new_name = self.rand_name('test_rp_new_name') + self.resource_provider_set(created['uuid'], name=new_name) after_update = self.resource_provider_show(created['uuid']) - self.assertEqual('test_rp_new_name', after_update['name']) + self.assertEqual(new_name, after_update['name']) self.assertEqual(0, after_update['generation']) def test_resource_provider_set_not_found(self):