summaryrefslogtreecommitdiff
path: root/heat/tests/generic_resource.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-07-15 05:23:28 +0000
committerGerrit Code Review <review@openstack.org>2015-07-15 05:23:28 +0000
commit8fe749e8a052208ec8d61ca5b8254a09e64622db (patch)
tree8a093462a3cfc6d658a642e8f32fe1ac567339a7 /heat/tests/generic_resource.py
parent9e352b3e93a070865ad979410530469bc245da01 (diff)
parentca8effbbae50392672d4474622ab3af770358828 (diff)
downloadheat-8fe749e8a052208ec8d61ca5b8254a09e64622db.tar.gz
Merge "Move signals to SignalResponder class"
Diffstat (limited to 'heat/tests/generic_resource.py')
-rw-r--r--heat/tests/generic_resource.py25
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):