Use unique stack name in tests by default

This might prevent possible clashes when tests are run in parallel.

Please note, that default stack name generated by
heat/tests/utils.py:parse_stack is now random instead of 'test_stack'.
Please provide an exact (and preferrably unique) stack name to this
function if you want to assert on it.

Those tests that relied on the default 'test_stack' name have been
fixed. Those tests that were explicitly using a rather nonunique name
have been fixed too.

Change-Id: I3b82bbdd1f59020b13c48c929a45411d54ea9085
This commit is contained in:
Pavlo Shchelokovskyy 2015-01-30 19:53:20 +02:00
parent 399480a086
commit 8030c74f08
8 changed files with 74 additions and 68 deletions

View File

@ -170,6 +170,7 @@ class ScalingPolicyAttrTest(common.HeatTestCase):
'http://server.test:8000/v1/waitcondition')
t = template_format.parse(as_template)
stack = utils.parse_stack(t, params=as_params)
self.stack_name = stack.name
self.policy = stack['my-policy']
self.assertIsNone(self.policy.validate())
scheduler.TaskRunner(self.policy.create)()
@ -187,7 +188,7 @@ class ScalingPolicyAttrTest(common.HeatTestCase):
res = base[5].split('%2F')
self.assertEqual('stacks', res[0])
self.assertEqual('test_stack', res[1])
self.assertEqual(self.stack_name, res[1])
self.assertEqual('resources', res[3])
self.assertEqual('my-policy', res[4])

View File

@ -88,7 +88,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume(self):
fv = vt_base.FakeVolume('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_volume_create_stack'
# create script
self._mock_create_volume(fv, stack_name)
@ -117,7 +117,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume_default_az(self):
fv = vt_base.FakeVolume('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_volume_defaultaz_stack'
# create script
nova.NovaClientPlugin._create().AndReturn(self.fc)
@ -259,7 +259,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume_detachment_err(self):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('in-use', 'available')
stack_name = 'test_volume_detach_stack'
stack_name = 'test_volume_detach_err_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -294,7 +294,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume_detach_non_exist(self):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('in-use', 'available')
stack_name = 'test_volume_detach_stack'
stack_name = 'test_volume_detach_nonexist_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -319,7 +319,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume_detach_with_latency(self):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_volume_detach_latency__stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -353,7 +353,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
def test_volume_detach_with_error(self):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_volume_detach_werr_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -382,7 +382,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_volume_delete(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_delete_stack'
fv = vt_base.FakeVolume('creating', 'available')
self._mock_create_volume(fv, stack_name)
@ -430,7 +430,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_volume_update_not_supported(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_updnotsup_stack'
fv = vt_base.FakeVolume('creating', 'available')
self._mock_create_volume(fv, stack_name)
@ -471,7 +471,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.assertEqual((res.CHECK, res.COMPLETE), res.state)
def test_volume_check_not_available(self):
stack = utils.parse_stack(self.t, stack_name='volume_check')
stack = utils.parse_stack(self.t, stack_name='volume_check_na')
res = stack['DataVolume']
res.cinder = mock.Mock()
@ -484,7 +484,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.assertIn('foobar', res.status_reason)
def test_volume_check_fail(self):
stack = utils.parse_stack(self.t, stack_name='volume_check')
stack = utils.parse_stack(self.t, stack_name='volume_check_fail')
res = stack['DataVolume']
res.cinder = mock.Mock()
res.cinder().volumes.get.side_effect = Exception('boom')
@ -495,7 +495,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.assertIn('boom', res.status_reason)
def test_snapshot(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_snapshot_stack'
fv = vt_base.FakeVolume('creating', 'available')
fb = vt_base.FakeBackup('creating', 'available')
@ -519,7 +519,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_snapshot_error(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_snapshot_err_stack'
fv = vt_base.FakeVolume('creating', 'available')
fb = vt_base.FakeBackup('creating', 'error')
@ -543,7 +543,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_snapshot_no_volume(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_snapshot_novol_stack'
cfg.CONF.set_override('action_retry_limit', 0)
fv = vt_base.FakeVolume('creating', 'error')
@ -574,7 +574,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_create_from_snapshot(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_create_from_snapshot_stack'
fv = vt_base.FakeVolumeWithStateTransition(
'restoring-backup', 'available')
fvbr = vt_base.FakeBackupRestore('vol-123')
@ -601,7 +601,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_create_from_snapshot_error(self):
stack_name = 'test_volume_stack'
stack_name = 'test_volume_create_from_snap_err_stack'
cfg.CONF.set_override('action_retry_limit', 0)
fv = vt_base.FakeVolumeWithStateTransition(
'restoring-backup', 'error')
@ -645,7 +645,7 @@ class VolumeTest(vt_base.BaseVolumeTest):
return_value=mock.MagicMock())
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_volume_attach_updnotsup_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)

View File

@ -103,7 +103,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_create(self):
fv = vt_base.FakeVolume('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_stack'
self.stub_SnapshotConstraint_validate()
self.stub_VolumeConstraint_validate()
@ -139,7 +139,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_create_from_image(self):
fv = vt_base.FakeVolumeWithStateTransition('downloading', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_create_from_img_stack'
image_id = '46988116-6703-4623-9dbc-2bc6d284021b'
cinder.CinderClientPlugin._create().AndReturn(
self.cinder_fc)
@ -170,7 +170,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_default(self):
fv = vt_base.FakeVolume('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_default_stack'
cinder.CinderClientPlugin._create().AndReturn(
self.cinder_fc)
@ -201,7 +201,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
status='available', bootable=False,
created_at='2013-02-25T02:40:21.000000',
encrypted=False, attachments=[])
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_fngetatt_stack'
self._mock_create_volume(fv, stack_name)
self.cinder_fc.volumes.get('vol-123').MultipleTimes().AndReturn(fv)
@ -239,7 +239,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_attachment(self):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_cvolume_attach_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -270,7 +270,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_volume_shrink_fails(self):
fv = vt_base.FakeVolume('creating', 'available', size=2)
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_shrink_fail_stack'
# create script
self._mock_create_volume(fv, stack_name, size=2)
@ -300,7 +300,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_volume_extend_detached(self):
fv = vt_base.FakeVolume('creating', 'available',
size=1, attachments=[])
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_extend_det_stack'
# create script
self._mock_create_volume(fv, stack_name)
@ -332,7 +332,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_volume_extend_fails_to_start(self):
fv = vt_base.FakeVolume('creating', 'available',
size=1, attachments=[])
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_extend_fail_start_stack'
# create script
self._mock_create_volume(fv, stack_name)
@ -365,7 +365,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_volume_extend_fails_to_complete(self):
fv = vt_base.FakeVolume('creating', 'available',
size=1, attachments=[])
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_extend_fail_compl_stack'
# create script
self._mock_create_volume(fv, stack_name)
@ -399,7 +399,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_volume_extend_attached(self):
# create script
fv = vt_base.FakeVolume('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_extend_att_stack'
self.stub_VolumeConstraint_validate()
self._mock_create_volume(fv, stack_name)
@ -455,7 +455,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_cinder_volume_extend_created_from_backup_with_same_size(self):
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_extend_snapsht_stack'
fv = vt_base.FakeVolumeWithStateTransition('restoring-backup',
'available',
size=2)
@ -499,7 +499,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
fv = vt_base.FakeVolume('creating', 'available',
size=1, name='my_vol',
description='test')
stack_name = 'test_volume_retype'
stack_name = 'test_cvolume_retype'
new_vol_type = 'new_type'
self.patchobject(cinder.CinderClientPlugin, '_create',
return_value=self.cinder_fc)
@ -537,7 +537,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
fv = vt_base.FakeVolume('creating', 'available',
size=1, name='my_vol',
description='test')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_updname_stack'
update_name = 'update_name'
meta = {'Key': 'New Value'}
update_description = 'update_description'
@ -568,7 +568,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_snapshot(self):
fv = vt_base.FakeVolume('creating', 'available')
fb = vt_base.FakeBackup('creating', 'available')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_snpsht_stack'
cinder.CinderClientPlugin._create().MultipleTimes().AndReturn(
self.cinder_fc)
@ -601,7 +601,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
def test_cinder_snapshot_error(self):
fv = vt_base.FakeVolume('creating', 'available')
fb = vt_base.FakeBackup('creating', 'error')
stack_name = 'test_volume_stack'
stack_name = 'test_cvolume_snpsht_err_stack'
cinder.CinderClientPlugin._create().MultipleTimes().AndReturn(
self.cinder_fc)
@ -634,7 +634,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
fva2 = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_cvolume_attach_udev_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -681,7 +681,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
fv2.id = 'vol-456'
fv2a = vt_base.FakeVolume('attaching', 'in-use')
fv2a.id = 'vol-456'
stack_name = 'test_volume_attach_stack'
stack_name = 'test_cvolume_attach_uvol_stack'
self.stub_VolumeConstraint_validate()
self._mock_create_volume(fv, stack_name)
@ -735,7 +735,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
fv = vt_base.FakeVolume('creating', 'available')
fva = vt_base.FakeVolume('attaching', 'in-use')
fva2 = vt_base.FakeVolume('attaching', 'in-use')
stack_name = 'test_volume_attach_stack'
stack_name = 'test_cvolume_attach_usrv_stack'
self._mock_create_volume(fv, stack_name)
self._mock_create_server_volume_script(fva)
@ -787,7 +787,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
self.m.ReplayAll()
stack_name = 'test_volume_scheduler_hints_stack'
stack_name = 'test_cvolume_scheduler_hints_stack'
stack = utils.parse_stack(self.t, stack_name=stack_name)
self.create_volume(self.t, stack, 'volume3')
self.assertEqual('available', fv.status)
@ -800,7 +800,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
self.m.ReplayAll()
stack_name = 'test_volume_scheduler_hints_api_v1_stack'
stack_name = 'test_cvolume_scheduler_hints_api_v1_stack'
stack = utils.parse_stack(self.t, stack_name=stack_name)
ex = self.assertRaises(exception.StackValidationFailed,
self.create_volume, self.t, stack, 'volume3')
@ -809,7 +809,7 @@ class CinderVolumeTest(vt_base.BaseVolumeTest):
self.m.VerifyAll()
def test_volume_restore(self):
stack_name = 'test_restore_stack'
stack_name = 'test_cvolume_restore_stack'
t = template_format.parse(single_cinder_volume_template)
stack = utils.parse_stack(t, stack_name=stack_name)

View File

@ -132,7 +132,8 @@ class CloudWatchAlarmTest(common.HeatTestCase):
def test_suspend_resume(self):
t = template_format.parse(alarm_template)
stack = utils.parse_stack(t)
stack_name = "test_cw_alarm_sus_res_stack"
stack = utils.parse_stack(t, stack_name=stack_name)
# the watch rule needs a valid stack_id
stack.store()
@ -144,7 +145,7 @@ class CloudWatchAlarmTest(common.HeatTestCase):
self.ctx = utils.dummy_context()
wr = watchrule.WatchRule.load(
self.ctx, watch_name="test_stack-MEMAlarmHigh")
self.ctx, watch_name="%s-MEMAlarmHigh" % stack_name)
self.assertEqual(watchrule.WatchRule.SUSPENDED, wr.state)
@ -152,7 +153,7 @@ class CloudWatchAlarmTest(common.HeatTestCase):
self.assertEqual((rsrc.RESUME, rsrc.COMPLETE), rsrc.state)
wr = watchrule.WatchRule.load(
self.ctx, watch_name="test_stack-MEMAlarmHigh")
self.ctx, watch_name="%s-MEMAlarmHigh" % stack_name)
self.assertEqual(watchrule.WatchRule.NODATA, wr.state)

View File

@ -109,7 +109,8 @@ class NetworkInterfaceTest(common.HeatTestCase):
neutronclient.Client.delete_port(port_id).AndReturn(None)
def test_network_interface_create_update_delete(self):
my_stack = utils.parse_stack(test_template, stack_name='my_stack')
my_stack = utils.parse_stack(test_template,
stack_name='test_nif_cud_stack')
nic_rsrc = my_stack['my_nic']
self.mock_show_subnet()

View File

@ -79,7 +79,7 @@ class StackUserTest(common.HeatTestCase):
return rsrc
def test_handle_create_no_stack_project(self):
rsrc = self._user_create(stack_name='user_test123',
rsrc = self._user_create(stack_name='stackuser_crnoprj',
project_id='aproject123',
user_id='auser123')
self.m.ReplayAll()
@ -91,7 +91,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_create_existing_project(self):
rsrc = self._user_create(stack_name='user_test456',
rsrc = self._user_create(stack_name='stackuser_crexistprj',
project_id='aproject456',
user_id='auser456',
create_project=False)
@ -104,7 +104,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_delete(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testdel',
project_id='aprojectdel',
user_id='auserdel')
@ -122,7 +122,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_delete_not_found(self):
rsrc = self._user_create(stack_name='user_testdel2',
rsrc = self._user_create(stack_name='stackuser_testdel_notfound',
project_id='aprojectdel2',
user_id='auserdel2')
@ -141,7 +141,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_delete_noid(self):
rsrc = self._user_create(stack_name='user_testdel2',
rsrc = self._user_create(stack_name='stackuser_testdel_noid',
project_id='aprojectdel2',
user_id='auserdel2')
@ -155,7 +155,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_suspend(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testsusp',
project_id='aprojectdel',
user_id='auserdel')
@ -173,7 +173,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_suspend_legacy(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testsusp_lgcy',
project_id='aprojectdel',
user_id='auserdel')
@ -195,7 +195,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_resume(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testresume',
project_id='aprojectdel',
user_id='auserdel')
@ -214,7 +214,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_handle_resume_legacy(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testresume_lgcy',
project_id='aprojectdel',
user_id='auserdel')
@ -237,7 +237,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_create_keypair(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_test_cr_keypair',
project_id='aprojectdel',
user_id='auserdel')
@ -262,7 +262,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_create_keypair_error(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_test_cr_keypair_err',
project_id='aprojectdel',
user_id='auserdel')
@ -279,7 +279,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_delete_keypair(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testdel_keypair',
project_id='aprojectdel',
user_id='auserdel')
@ -301,13 +301,13 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_delete_keypair_no_credential_id(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_del_keypair_nocrdid',
project_id='aprojectdel',
user_id='auserdel')
rsrc._delete_keypair()
def test_delete_keypair_legacy(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testdel_keypair_lgcy',
project_id='aprojectdel',
user_id='auserdel')
@ -333,7 +333,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_delete_keypair_notfound(self):
rsrc = self._user_create(stack_name='user_testdel',
rsrc = self._user_create(stack_name='stackuser_testdel_kpr_notfound',
project_id='aprojectdel',
user_id='auserdel')
@ -353,7 +353,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_user_token(self):
rsrc = self._user_create(stack_name='user_test123',
rsrc = self._user_create(stack_name='stackuser_testtoken',
project_id='aproject123',
user_id='aabbcc',
password='apassword')
@ -372,7 +372,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_user_token_err_nopassword(self):
rsrc = self._user_create(stack_name='user_test123',
rsrc = self._user_create(stack_name='stackuser_testtoken_err_nopwd',
project_id='aproject123',
user_id='auser123')
self.m.ReplayAll()
@ -385,7 +385,7 @@ class StackUserTest(common.HeatTestCase):
self.m.VerifyAll()
def test_user_token_err_noproject(self):
stack_name = 'user_test123'
stack_name = 'user_token_err_noprohect_stack'
resource_name = 'user'
t = template_format.parse(user_template)
stack = utils.parse_stack(t, stack_name=stack_name)

View File

@ -103,7 +103,8 @@ user_policy_template = '''
class UserTest(common.HeatTestCase):
def setUp(self):
super(UserTest, self).setUp()
self.username = 'test_stack-CfnUser-aabbcc'
self.stack_name = 'test_user_stack_%s' % utils.random_name()
self.username = '%s-CfnUser-aabbcc' % self.stack_name
self.fc = fakes.FakeKeystoneClient(username=self.username)
cfg.CONF.set_default('heat_stack_user_role', 'stack_user_role')
@ -140,7 +141,7 @@ class UserTest(common.HeatTestCase):
def test_user(self):
t = template_format.parse(user_template)
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
rsrc = self.create_user(t, stack, 'CfnUser')
self.assertEqual('dummy_user', rsrc.resource_id)
@ -174,7 +175,7 @@ class UserTest(common.HeatTestCase):
def test_user_password(self):
t = template_format.parse(user_template_password)
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
rsrc = self.create_user(t, stack, 'CfnUser', password=u'myP@ssW0rd')
self.assertEqual('dummy_user', rsrc.resource_id)
@ -185,7 +186,7 @@ class UserTest(common.HeatTestCase):
def test_user_validate_policies(self):
t = template_format.parse(user_policy_template)
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
rsrc = self.create_user(t, stack, 'CfnUser')
self.assertEqual('dummy_user', rsrc.resource_id)
@ -221,7 +222,7 @@ class UserTest(common.HeatTestCase):
def test_user_create_bad_policies(self):
t = template_format.parse(user_policy_template)
t['Resources']['CfnUser']['Properties']['Policies'] = ['NoExistBad']
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
resource_name = 'CfnUser'
resource_defns = stack.t.resource_definitions(stack)
rsrc = user.User(resource_name,
@ -238,7 +239,7 @@ class UserTest(common.HeatTestCase):
self.m.ReplayAll()
t = template_format.parse(user_policy_template)
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
rsrc = self.create_user(t, stack, 'CfnUser')
self.assertEqual('dummy_user', rsrc.resource_id)
@ -259,7 +260,7 @@ class UserTest(common.HeatTestCase):
t = template_format.parse(user_policy_template)
t['Resources']['CfnUser']['Properties']['Policies'] = [
'WebServerAccessPolicy', {'an_ignored': 'policy'}]
stack = utils.parse_stack(t)
stack = utils.parse_stack(t, stack_name=self.stack_name)
rsrc = self.create_user(t, stack, 'CfnUser')
self.assertEqual('dummy_user', rsrc.resource_id)

View File

@ -86,12 +86,14 @@ def dummy_context(user='test_username', tenant_id='test_tenant_id',
})
def parse_stack(t, params=None, files=None, stack_name='test_stack',
def parse_stack(t, params=None, files=None, stack_name=None,
stack_id=None, timeout_mins=None):
params = params or {}
files = files or {}
ctx = dummy_context()
templ = template.Template(t, files=files)
if stack_name is None:
stack_name = random_name()
stk = stack.Stack(ctx, stack_name, templ,
environment.Environment(params), stack_id,
timeout_mins=timeout_mins)