Unit tests: Don't use ResourceDefinition as cfn snippet

Eliminate from the unit tests the deprecated use of a ResourceDefinition as
if it were a snippet from a CloudFormation template, in preparation for
this being removed in future.

Change-Id: I0449d3bff19c1294a9d0a475a4a9b623c73e11db
This commit is contained in:
Zane Bitter
2016-05-01 19:06:09 -05:00
parent 52925a99bb
commit 23cc15687b
34 changed files with 624 additions and 452 deletions

View File

@@ -75,8 +75,10 @@ class SaharaDataSourceTest(common.HeatTestCase):
def test_update(self):
ds = self._create_resource('data-source', self.rsrc_defn,
self.stack)
self.rsrc_defn['Properties']['type'] = 'hdfs'
self.rsrc_defn['Properties']['url'] = 'my/path'
props = self.stack.t.t['resources']['data-source']['properties'].copy()
props['type'] = 'hdfs'
props['url'] = 'my/path'
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
scheduler.TaskRunner(ds.update, self.rsrc_defn)()
data = {
'name': 'my-ds',
@@ -100,7 +102,9 @@ class SaharaDataSourceTest(common.HeatTestCase):
self.assertEqual({'ds': 'info'}, ds.FnGetAtt('show'))
def test_validate_password_without_user(self):
self.rsrc_defn['Properties']['credentials'].pop('user')
props = self.stack.t.t['resources']['data-source']['properties'].copy()
del props['credentials']['user']
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
ds = data_source.DataSource('data-source', self.rsrc_defn, self.stack)
ex = self.assertRaises(exception.StackValidationFailed, ds.validate)
error_msg = ('Property error: resources.data-source.properties.'

View File

@@ -40,8 +40,8 @@ resources:
class SaharaImageTest(common.HeatTestCase):
def setUp(self):
super(SaharaImageTest, self).setUp()
t = template_format.parse(sahara_image_template)
self.stack = utils.parse_stack(t)
self.tmpl = template_format.parse(sahara_image_template)
self.stack = utils.parse_stack(self.tmpl)
resource_defns = self.stack.t.resource_definitions(self.stack)
self.rsrc_defn = resource_defns['sahara-image']
self.client = mock.Mock()
@@ -68,8 +68,10 @@ class SaharaImageTest(common.HeatTestCase):
def test_update(self):
img = self._create_resource('sahara-image', self.rsrc_defn, self.stack)
self.rsrc_defn['Properties']['tags'] = []
self.rsrc_defn['Properties']['description'] = 'test image'
props = self.tmpl['resources']['sahara-image']['properties'].copy()
props['tags'] = []
props['description'] = 'test image'
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
scheduler.TaskRunner(img.update, self.rsrc_defn)()
tags_update_calls = [
mock.call('12345', ['vanilla', '1.2.1']),

View File

@@ -74,8 +74,9 @@ class SaharaJobBinaryTest(common.HeatTestCase):
def test_update(self):
jb = self._create_resource('job-binary', self.rsrc_defn,
self.stack)
self.rsrc_defn['Properties']['url'] = (
'internal-db://94b8821d-1ce7-4131-8364-a6c6d85ad57b')
props = self.stack.t.t['resources']['job-binary']['properties'].copy()
props['url'] = 'internal-db://94b8821d-1ce7-4131-8364-a6c6d85ad57b'
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
scheduler.TaskRunner(jb.update, self.rsrc_defn)()
data = {
'name': 'my-jb',
@@ -114,7 +115,9 @@ class SaharaJobBinaryTest(common.HeatTestCase):
self.assertEqual({'jb': 'info'}, jb.FnGetAtt('show'))
def test_validate_invalid_url(self):
self.rsrc_defn['Properties']['url'] = 'internal-db://38273f82'
props = self.stack.t.t['resources']['job-binary']['properties'].copy()
props['url'] = 'internal-db://38273f82'
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
jb = job_binary.JobBinary('job-binary', self.rsrc_defn, self.stack)
ex = self.assertRaises(exception.StackValidationFailed, jb.validate)
error_msg = ('resources.job-binary.properties: internal-db://38273f82 '
@@ -122,7 +125,9 @@ class SaharaJobBinaryTest(common.HeatTestCase):
self.assertEqual(error_msg, six.text_type(ex))
def test_validate_password_without_user(self):
self.rsrc_defn['Properties']['credentials'].pop('user')
props = self.stack.t.t['resources']['job-binary']['properties'].copy()
props['credentials'].pop('user')
self.rsrc_defn = self.rsrc_defn.freeze(properties=props)
jb = job_binary.JobBinary('job-binary', self.rsrc_defn, self.stack)
ex = self.assertRaises(exception.StackValidationFailed, jb.validate)
error_msg = ('Property error: resources.job-binary.properties.'

View File

@@ -127,6 +127,7 @@ class SaharaNodeGroupTemplateTest(common.HeatTestCase):
self.fake_ngt = FakeNodeGroupTemplate()
self.t = template_format.parse(node_group_template)
self.ngt_props = self.t['resources']['node-group']['properties']
def _init_ngt(self, template):
self.stack = utils.parse_stack(template)
@@ -249,10 +250,10 @@ class SaharaNodeGroupTemplateTest(common.HeatTestCase):
def test_update(self):
ngt = self._create_ngt(self.t)
rsrc_defn = self.stack.t.resource_definitions(self.stack)['node-group']
rsrc_defn['Properties']['node_processes'] = [
'tasktracker', 'datanode']
rsrc_defn['Properties']['name'] = 'new-ng-template'
props = self.ngt_props.copy()
props['node_processes'] = ['tasktracker', 'datanode']
props['name'] = 'new-ng-template'
rsrc_defn = ngt.t.freeze(properties=props)
scheduler.TaskRunner(ngt.update, rsrc_defn)()
args = {'node_processes': ['tasktracker', 'datanode'],
'name': 'new-ng-template'}
@@ -341,9 +342,11 @@ class SaharaClusterTemplateTest(common.HeatTestCase):
ct = self._create_ct(self.t)
rsrc_defn = self.stack.t.resource_definitions(self.stack)[
'cluster-template']
rsrc_defn['Properties']['plugin_name'] = 'hdp'
rsrc_defn['Properties']['hadoop_version'] = '1.3.2'
rsrc_defn['Properties']['name'] = 'new-cluster-template'
props = self.t['resources']['cluster-template']['properties'].copy()
props['plugin_name'] = 'hdp'
props['hadoop_version'] = '1.3.2'
props['name'] = 'new-cluster-template'
rsrc_defn = rsrc_defn.freeze(properties=props)
scheduler.TaskRunner(ct.update, rsrc_defn)()
args = {
'plugin_name': 'hdp',