diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-07-15 05:23:28 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-07-15 05:23:28 +0000 |
commit | 8fe749e8a052208ec8d61ca5b8254a09e64622db (patch) | |
tree | 8a093462a3cfc6d658a642e8f32fe1ac567339a7 /heat/tests/generic_resource.py | |
parent | 9e352b3e93a070865ad979410530469bc245da01 (diff) | |
parent | ca8effbbae50392672d4474622ab3af770358828 (diff) | |
download | heat-8fe749e8a052208ec8d61ca5b8254a09e64622db.tar.gz |
Merge "Move signals to SignalResponder class"
Diffstat (limited to 'heat/tests/generic_resource.py')
-rw-r--r-- | heat/tests/generic_resource.py | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/heat/tests/generic_resource.py b/heat/tests/generic_resource.py index 923dc31de..64865b4ce 100644 --- a/heat/tests/generic_resource.py +++ b/heat/tests/generic_resource.py @@ -136,8 +136,11 @@ class ResourceWithRequiredProps(GenericResource): class SignalResource(signal_responder.SignalResponder): - properties_schema = {} - attributes_schema = {'AlarmUrl': attributes.Schema('Get a signed webhook')} + properties_schema = { + 'signal_transport': properties.Schema(properties.Schema.STRING, + default='CFN_SIGNAL')} + attributes_schema = {'AlarmUrl': attributes.Schema('Get a signed webhook'), + 'signal': attributes.Schema('Get a signal')} def handle_create(self): super(SignalResource, self).handle_create() @@ -148,8 +151,22 @@ class SignalResource(signal_responder.SignalResponder): {'type': self.type(), 'details': details}) def _resolve_attribute(self, name): - if name == 'AlarmUrl' and self.resource_id is not None: - return six.text_type(self._get_ec2_signed_url()) + if self.resource_id is not None: + if self.properties['signal_transport'] == 'CFN_SIGNAL': + d = {'alarm_url': six.text_type(self._get_ec2_signed_url())} + elif self.properties['signal_transport'] == 'HEAT_SIGNAL': + d = self._get_heat_signal_credentials() + d['alarm_url'] = six.text_type(self._get_heat_signal_url()) + elif self.properties['signal_transport'] == 'TEMP_URL_SIGNAL': + d = {'alarm_url': six.text_type(self._get_swift_signal_url())} + elif self.properties['signal_transport'] == 'ZAQAR_SIGNAL': + d = self._get_heat_signal_credentials() + d['queue_id'] = six.text_type( + self._get_zaqar_signal_queue_id()) + if name == 'AlarmUrl': + return d['alarm_url'] + elif name == 'signal': + return d class StackUserResource(stack_user.StackUser): |