Merge "Define engine service in setUp()"

This commit is contained in:
Jenkins 2015-11-19 06:12:25 +00:00 committed by Gerrit Code Review
commit 2ceaca1cb8
1 changed files with 49 additions and 64 deletions

View File

@ -912,6 +912,7 @@ class ValidateTest(common.HeatTestCase):
return_value=True)
self.mock_is_service_available = self.mock_isa.start()
self.addCleanup(self.mock_isa.stop)
self.engine = service.EngineService('a', 't')
def _mock_get_image_id_success(self, imageId_input, imageId):
self.m.StubOutWithMock(glance.GlanceClientPlugin, 'get_image_id')
@ -939,8 +940,7 @@ class ValidateTest(common.HeatTestCase):
def test_validate_ref_valid(self):
t = template_format.parse(test_template_ref % 'WikiDatabase')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual('test.', res['Description'])
def test_validate_with_environment(self):
@ -948,9 +948,8 @@ class ValidateTest(common.HeatTestCase):
test_template = test_template.replace('AWS::EC2::Instance',
'My::Instance')
t = template_format.parse(test_template)
engine = service.EngineService('a', 't')
params = {'resource_registry': {'My::Instance': 'AWS::EC2::Instance'}}
res = dict(engine.validate_template(self.ctx, t, params))
res = dict(self.engine.validate_template(self.ctx, t, params))
self.assertEqual('test.', res['Description'])
def test_validate_hot_valid(self):
@ -962,32 +961,28 @@ class ValidateTest(common.HeatTestCase):
my_instance:
type: AWS::EC2::Instance
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual('test.', res['Description'])
def test_validate_ref_invalid(self):
t = template_format.parse(test_template_ref % 'WikiDatabasez')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertNotEqual(res['Description'], 'Successfully validated')
def test_validate_findinmap_valid(self):
t = template_format.parse(test_template_findinmap_valid)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual('test.', res['Description'])
def test_validate_findinmap_invalid(self):
t = template_format.parse(test_template_findinmap_invalid)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertNotEqual(res['Description'], 'Successfully validated')
def test_validate_parameters(self):
t = template_format.parse(test_template_ref % 'WikiDatabase')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
# Note: the assertion below does not expect a CFN dict of the parameter
# but a dict of the parameters.Schema object.
# For API CFN backward compatibility, formating to CFN is done in the
@ -1002,8 +997,7 @@ class ValidateTest(common.HeatTestCase):
def test_validate_parameters_env_override(self):
t = template_format.parse(test_template_default_override)
env_params = {'net_name': 'betternetname'}
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, env_params))
res = dict(self.engine.validate_template(self.ctx, t, env_params))
self.assertEqual('defaultnet',
res['Parameters']['net_name']['Default'])
self.assertEqual('betternetname',
@ -1012,8 +1006,8 @@ class ValidateTest(common.HeatTestCase):
def test_validate_parameters_env_provided(self):
t = template_format.parse(test_template_no_default)
env_params = {'net_name': 'betternetname'}
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, env_params))
res = dict(self.engine.validate_template(self.ctx, t, env_params))
self.assertEqual('betternetname',
res['Parameters']['net_name']['Value'])
self.assertNotIn('Default', res['Parameters']['net_name'])
@ -1028,14 +1022,14 @@ class ValidateTest(common.HeatTestCase):
my_instance:
type: AWS::EC2::Instance
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual({}, res['Parameters'])
def test_validate_hot_parameter_label(self):
t = template_format.parse(test_template_hot_parameter_label)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
parameters = res['Parameters']
expected = {'KeyName': {
@ -1048,8 +1042,8 @@ class ValidateTest(common.HeatTestCase):
def test_validate_hot_no_parameter_label(self):
t = template_format.parse(test_template_hot_no_parameter_label)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
parameters = res['Parameters']
expected = {'KeyName': {
@ -1062,8 +1056,8 @@ class ValidateTest(common.HeatTestCase):
def test_validate_cfn_parameter_label(self):
t = template_format.parse(test_template_cfn_parameter_label)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
parameters = res['Parameters']
expected = {'KeyName': {
@ -1089,8 +1083,8 @@ class ValidateTest(common.HeatTestCase):
param5:
type: boolean
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
parameters = res['Parameters']
# make sure all the types are reported correctly
self.assertEqual('String', parameters["param1"]["Type"])
@ -1106,8 +1100,8 @@ class ValidateTest(common.HeatTestCase):
description: test.
resources:
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
expected = {"Description": "test.",
"Parameters": {}}
self.assertEqual(expected, res)
@ -1119,24 +1113,24 @@ class ValidateTest(common.HeatTestCase):
description: test.
outputs:
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
expected = {"Description": "test.",
"Parameters": {}}
self.assertEqual(expected, res)
def test_validate_properties(self):
t = template_format.parse(test_template_invalid_property)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual(
{'Error': 'Property error: Resources.WikiDatabase.Properties: '
'Unknown Property UnknownProperty'}, res)
def test_invalid_resources(self):
t = template_format.parse(test_template_invalid_resources)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual({'Error': 'Resources must contain Resource. '
'Found a [%s] instead' % six.text_type},
res)
@ -1155,8 +1149,7 @@ class ValidateTest(common.HeatTestCase):
}
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t))
res = dict(self.engine.validate_template(self.ctx, t))
self.assertEqual({'Error': 'The template section is invalid: Output'},
res)
@ -1170,15 +1163,14 @@ class ValidateTest(common.HeatTestCase):
output:
""")
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t))
res = dict(self.engine.validate_template(self.ctx, t))
self.assertEqual({'Error': 'The template section is invalid: output'},
res)
def test_unimplemented_property(self):
t = template_format.parse(test_template_unimplemented_property)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual(
{'Error': 'Property error: Resources.WikiDatabase.Properties: '
'Property SourceDestCheck not implemented yet'},
@ -1186,21 +1178,21 @@ class ValidateTest(common.HeatTestCase):
def test_invalid_deletion_policy(self):
t = template_format.parse(test_template_invalid_deletion_policy)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual({'Error': 'Invalid deletion policy "Destroy"'}, res)
def test_snapshot_deletion_policy(self):
t = template_format.parse(test_template_snapshot_deletion_policy)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual(
{'Error': '"Snapshot" deletion policy not supported'}, res)
def test_volume_snapshot_deletion_policy(self):
t = template_format.parse(test_template_volume_snapshot)
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, t, {}))
res = dict(self.engine.validate_template(self.ctx, t, {}))
self.assertEqual({'Description': u'test.', 'Parameters': {}}, res)
def test_validate_template_without_resources(self):
@ -1208,8 +1200,7 @@ class ValidateTest(common.HeatTestCase):
heat_template_version: 2013-05-23
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
expected = {'Description': 'No description', 'Parameters': {}}
self.assertEqual(expected, res)
@ -1229,8 +1220,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"Type" is not a valid keyword '
'inside a resource definition'}, res)
@ -1250,8 +1240,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"Properties" is not a valid keyword '
'inside a resource definition'}, res)
@ -1271,8 +1260,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"Metadata" is not a valid keyword '
'inside a resource definition'}, res)
@ -1292,8 +1280,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"DependsOn" is not a valid keyword '
'inside a resource definition'}, res)
@ -1313,8 +1300,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"DeletionPolicy" is not a valid '
'keyword inside a resource definition'},
res)
@ -1335,8 +1321,7 @@ class ValidateTest(common.HeatTestCase):
foo: bar
''')
engine = service.EngineService('a', 't')
res = dict(engine.validate_template(self.ctx, hot_tpl, {}))
res = dict(self.engine.validate_template(self.ctx, hot_tpl, {}))
self.assertEqual({'Error': '"UpdatePolicy" is not a valid '
'keyword inside a resource definition'},
res)
@ -1675,10 +1660,10 @@ class ValidateTest(common.HeatTestCase):
my_instance:
type: AWS::EC2::Instance
""")
engine = service.EngineService('a', 't')
self.mock_is_service_available.return_value = False
ex = self.assertRaises(dispatcher.ExpectedException,
engine.validate_template,
self.engine.validate_template,
self.ctx,
t,
{})