diff --git a/heat/engine/resources/openstack/trove/os_database.py b/heat/engine/resources/openstack/trove/os_database.py index 88998e48d..9868e0ace 100644 --- a/heat/engine/resources/openstack/trove/os_database.py +++ b/heat/engine/resources/openstack/trove/os_database.py @@ -276,6 +276,8 @@ class OSDBInstance(resource.Resource): default_client_name = 'trove' + entity = 'instances' + def __init__(self, name, json_snippet, stack): super(OSDBInstance, self).__init__(name, json_snippet, stack) self._href = None diff --git a/heat/engine/resources/openstack/trove/trove_cluster.py b/heat/engine/resources/openstack/trove/trove_cluster.py index 494b88f1e..2cb3b974f 100644 --- a/heat/engine/resources/openstack/trove/trove_cluster.py +++ b/heat/engine/resources/openstack/trove/trove_cluster.py @@ -131,6 +131,8 @@ class TroveCluster(resource.Resource): default_client_name = 'trove' + entity = 'clusters' + def _cluster_name(self): return self.properties[self.NAME] or self.physical_resource_name() diff --git a/heat/tests/test_os_database.py b/heat/tests/test_os_database.py index c37f92ca3..83d727875 100644 --- a/heat/tests/test_os_database.py +++ b/heat/tests/test_os_database.py @@ -80,6 +80,7 @@ class FakeDBInstance(object): "rel": "self"}] self.resource_id = 12345 self.status = 'ACTIVE' + self.to_dict = lambda: {'attr': 'val'} def delete(self): pass @@ -738,3 +739,16 @@ class OSDBInstanceTest(common.HeatTestCase): scheduler.TaskRunner(instance.create)() self.assertEqual((instance.CREATE, instance.COMPLETE), instance.state) self.m.VerifyAll() + + def test_show_resource(self): + fake_dbinstance = FakeDBInstance() + t = template_format.parse(db_template) + instance = self._setup_test_clouddbinstance('dbinstance_test', t) + instance.resource_id = 12345 + trove.TroveClientPlugin._create().AndReturn(self.fc) + self.m.StubOutWithMock(self.fc, 'instances') + self.m.StubOutWithMock(self.fc.instances, 'get') + self.fc.instances.get(12345).AndReturn(fake_dbinstance) + self.m.ReplayAll() + self.assertEqual({'attr': 'val'}, instance.FnGetAtt('show')) + self.m.VerifyAll() diff --git a/heat/tests/test_trove_cluster.py b/heat/tests/test_trove_cluster.py index 76bfb1a53..0c9fb74c2 100644 --- a/heat/tests/test_trove_cluster.py +++ b/heat/tests/test_trove_cluster.py @@ -53,6 +53,7 @@ class FakeTroveCluster(object): {'id': '416b0b16-ba55-4302-bbd3-ff566032e1c1', 'status': status}, {'id': '965ef811-7c1d-47fc-89f2-a89dfdd23ef2', 'status': status}, {'id': '3642f41c-e8ad-4164-a089-3891bf7f2d2b', 'status': status}] + self.to_dict = lambda: {'attr': 'val'} def delete(self): pass @@ -129,6 +130,7 @@ class TroveClusterTest(common.HeatTestCase): '965ef811-7c1d-47fc-89f2-a89dfdd23ef2', '3642f41c-e8ad-4164-a089-3891bf7f2d2b'], tc.FnGetAtt('instances')) + self.assertEqual({'attr': 'val'}, tc.FnGetAtt('show')) def test_delete(self): tc = self._create_resource('cluster', self.rsrc_defn, self.stack)