diff options
author | Peter Razumovsky <prazumovsky@mirantis.com> | 2015-12-07 18:41:24 +0300 |
---|---|---|
committer | Peter Razumovsky <prazumovsky@mirantis.com> | 2016-04-13 14:13:11 +0000 |
commit | 36eeff19b8cef575c30841b63615b2c2fd0bcb8f (patch) | |
tree | ea471e1a3f0762ea6930a3f4c13a1e63f867e7db /heat | |
parent | 27a1887bc8f5936e906cc0d574052d70f903c1dd (diff) | |
download | heat-36eeff19b8cef575c30841b63615b2c2fd0bcb8f.tar.gz |
Designate::Domain observe reality implementation
Override parse_live_resource_data method for Designate::Domain
resource to update resource plugin with it's live state.
implements bp get-reality-for-resources
Change-Id: I062fae95a398a816e892b3b98fb6eedbdedc6de4
Diffstat (limited to 'heat')
-rw-r--r-- | heat/engine/resources/openstack/designate/domain.py | 8 | ||||
-rw-r--r-- | heat/tests/openstack/designate/test_domain.py | 30 |
2 files changed, 38 insertions, 0 deletions
diff --git a/heat/engine/resources/openstack/designate/domain.py b/heat/engine/resources/openstack/designate/domain.py index 9bafa0745..128cf32e7 100644 --- a/heat/engine/resources/openstack/designate/domain.py +++ b/heat/engine/resources/openstack/designate/domain.py @@ -118,6 +118,14 @@ class DesignateDomain(resource.Resource): def _show_resource(self): return dict(self.client().domains.get(self.resource_id).items()) + def parse_live_resource_data(self, resource_properties, resource_data): + domain_reality = {} + + for key in self.PROPERTIES: + domain_reality.update({key: resource_data.get(key)}) + + return domain_reality + def resource_mapping(): return { diff --git a/heat/tests/openstack/designate/test_domain.py b/heat/tests/openstack/designate/test_domain.py index 2b9e37cf1..4500c4618 100644 --- a/heat/tests/openstack/designate/test_domain.py +++ b/heat/tests/openstack/designate/test_domain.py @@ -186,3 +186,33 @@ class DesignateDomainTest(common.HeatTestCase): mock_domain_create.assert_called_once_with( name='test-domain.com', description='Test domain', email='abc@test-domain.com') + + def test_domain_get_live_state(self): + return_domain = { + 'name': 'test-domain.com', + 'description': 'Test domain', + 'ttl': 3600, + 'email': 'abc@test-domain.com' + } + self.test_client.domains.get.return_value = return_domain + self.test_resource.resource_id = '1234' + + reality = self.test_resource.get_live_state( + self.test_resource.properties) + + self.assertEqual(return_domain, reality) + + def test_domain_get_live_state_ttl_equals_zero(self): + return_domain = { + 'name': 'test-domain.com', + 'description': 'Test domain', + 'ttl': 0, + 'email': 'abc@test-domain.com' + } + self.test_client.domains.get.return_value = return_domain + self.test_resource.resource_id = '1234' + + reality = self.test_resource.get_live_state( + self.test_resource.properties) + + self.assertEqual(return_domain, reality) |