diff options
author | Crag Wolfe <cwolfe@redhat.com> | 2016-08-30 00:02:27 -0400 |
---|---|---|
committer | Crag Wolfe <cwolfe@redhat.com> | 2016-12-22 10:59:01 -0800 |
commit | 791c245c140046b58ecef43aeeaed35776f8a1c2 (patch) | |
tree | 9b30436ff5a58cf2c3396f31b1f3d33cf6f93992 /heat/tests/test_resource.py | |
parent | 1ea6bb8bf62e5d98d71afff0bf4a1b93af3dfddd (diff) | |
download | heat-791c245c140046b58ecef43aeeaed35776f8a1c2.tar.gz |
Add resource_properties_data assoc. to resource, event objs
Add the resource_properties_data association to resource and event
objects. The resource and event engine objects do not use yet
it but will soon.
Change-Id: Idecaafffbc5e9bfcd2355e2a165836a5ed89b16f
Diffstat (limited to 'heat/tests/test_resource.py')
-rw-r--r-- | heat/tests/test_resource.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/heat/tests/test_resource.py b/heat/tests/test_resource.py index 23daf12d3..ea47c61bc 100644 --- a/heat/tests/test_resource.py +++ b/heat/tests/test_resource.py @@ -28,6 +28,7 @@ from heat.common.i18n import _ from heat.common import short_id from heat.common import timeutils from heat.db.sqlalchemy import api as db_api +from heat.db.sqlalchemy import models from heat.engine import attributes from heat.engine.cfn import functions as cfn_funcs from heat.engine import clients @@ -48,6 +49,7 @@ from heat.engine import template from heat.engine import translation from heat.objects import resource as resource_objects from heat.objects import resource_data as resource_data_object +from heat.objects import resource_properties_data as rpd_object from heat.tests import common from heat.tests import generic_resource as generic_rsrc from heat.tests import utils @@ -552,6 +554,40 @@ class ResourceTest(common.HeatTestCase): res._store_or_update(res.UPDATE, res.COMPLETE, 'should not change') self.assertIsNone(res.updated_time) + def test_resource_object_resource_properties_data(self): + cfg.CONF.set_override('encrypt_parameters_and_properties', True, + enforce_type=True) + data = {'p1': 'i see', + 'p2': 'good times, good times'} + rpd_obj = rpd_object.ResourcePropertiesData().create( + self.stack.context, data) + rpd_db_obj = self.stack.context.session.query( + models.ResourcePropertiesData).get(rpd_obj.id) + res_obj1 = resource_objects.Resource().create( + self.stack.context, + {'stack_id': self.stack.id, + 'uuid': str(uuid.uuid4()), + 'rsrc_prop_data': rpd_db_obj}) + res_obj2 = resource_objects.Resource().create( + self.stack.context, + {'stack_id': self.stack.id, + 'uuid': str(uuid.uuid4()), + 'rsrc_prop_data_id': rpd_db_obj.id}) + ctx2 = utils.dummy_context() + res_obj1 = resource_objects.Resource().get_obj( + ctx2, res_obj1.id) + res_obj2 = resource_objects.Resource().get_obj( + ctx2, res_obj2.id) + + # verify the resource_properties_data association + # can be set by id or object + self.assertEqual(rpd_db_obj.id, res_obj1.rsrc_prop_data.id) + self.assertEqual(res_obj1.rsrc_prop_data.id, + res_obj2.rsrc_prop_data.id) + # properties data appears unencrypted to resource object + self.assertEqual(data, res_obj1.rsrc_prop_data.data) + self.assertEqual(data, res_obj2.rsrc_prop_data.data) + def test_store_or_update(self): tmpl = rsrc_defn.ResourceDefinition('test_resource', 'Foo') res = generic_rsrc.GenericResource('test_res_upd', tmpl, self.stack) |