Merge "Random names for functional tests"

This commit is contained in:
Zuul 2018-08-29 15:04:48 +00:00 committed by Gerrit Code Review
commit 856b561034
2 changed files with 29 additions and 10 deletions

View File

@ -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
'<prefix>-<name>-<random number>'.
(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:

View File

@ -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):