def test_liveaction_create_with_notify_on_complete_only(self): created = LiveActionDB() created.action = 'core.local' created.description = '' created.status = 'running' created.parameters = {} notify_db = NotificationSchema() notify_sub_schema = NotificationSubSchema() notify_sub_schema.message = 'Action complete.' notify_sub_schema.data = { 'foo': 'bar', 'bar': 1, 'baz': {'k1': 'v1'} } notify_db.on_complete = notify_sub_schema created.notify = notify_db saved = LiveActionModelTest._save_liveaction(created) retrieved = LiveAction.get_by_id(saved.id) self.assertEqual(saved.action, retrieved.action, 'Same triggertype was not returned.') # Assert notify settings saved are right. self.assertEqual(notify_sub_schema.message, retrieved.notify.on_complete.message) self.assertDictEqual(notify_sub_schema.data, retrieved.notify.on_complete.data) self.assertListEqual(notify_sub_schema.routes, retrieved.notify.on_complete.routes) self.assertEqual(retrieved.notify.on_success, None) self.assertEqual(retrieved.notify.on_failure, None)
def test_liveaction_create_with_notify_on_complete_only(self): created = LiveActionDB() created.action = 'core.local' created.description = '' created.status = 'running' created.parameters = {} notify_db = NotificationSchema() notify_sub_schema = NotificationSubSchema() notify_sub_schema.message = 'Action complete.' notify_sub_schema.data = {'foo': 'bar', 'bar': 1, 'baz': {'k1': 'v1'}} notify_db.on_complete = notify_sub_schema created.notify = notify_db saved = LiveActionModelTest._save_liveaction(created) retrieved = LiveAction.get_by_id(saved.id) self.assertEqual(saved.action, retrieved.action, 'Same triggertype was not returned.') # Assert notify settings saved are right. self.assertEqual(notify_sub_schema.message, retrieved.notify.on_complete.message) self.assertDictEqual(notify_sub_schema.data, retrieved.notify.on_complete.data) self.assertListEqual(notify_sub_schema.routes, retrieved.notify.on_complete.routes) self.assertEqual(retrieved.notify.on_success, None) self.assertEqual(retrieved.notify.on_failure, None)
def test_liveaction_create_with_notify_on_complete_only(self): created = LiveActionDB() created.action = "core.local" created.description = "" created.status = "running" created.parameters = {} notify_db = NotificationSchema() notify_sub_schema = NotificationSubSchema() notify_sub_schema.message = "Action complete." notify_sub_schema.data = {"foo": "bar", "bar": 1, "baz": {"k1": "v1"}} notify_db.on_complete = notify_sub_schema created.notify = notify_db saved = LiveActionModelTest._save_liveaction(created) retrieved = LiveAction.get_by_id(saved.id) self.assertEqual(saved.action, retrieved.action, "Same triggertype was not returned.") # Assert notify settings saved are right. self.assertEqual(notify_sub_schema.message, retrieved.notify.on_complete.message) self.assertDictEqual(notify_sub_schema.data, retrieved.notify.on_complete.data) self.assertListEqual(notify_sub_schema.routes, retrieved.notify.on_complete.routes) self.assertEqual(retrieved.notify.on_success, None) self.assertEqual(retrieved.notify.on_failure, None)
def _get_notify_field(self, payload): on_complete = NotificationSubSchema() on_complete.channels = [payload.notification_channel] on_complete.data = { 'user': payload.user, 'source_channel': payload.source_channel } notify = NotificationSchema() notify.on_complete = on_complete return notify
def _get_notify_field(self, payload): on_complete = NotificationSubSchema() route = (getattr(payload, 'notification_route', None) or getattr(payload, 'notification_channel', None)) on_complete.routes = [route] on_complete.data = { 'user': payload.user, 'source_channel': payload.source_channel } notify = NotificationSchema() notify.on_complete = on_complete return notify
def to_model(notify_api_object): model = NotificationSchema() if notify_api_object.get('on-complete', None): model.on_complete = NotificationsHelper._to_model_sub_schema( notify_api_object['on-complete']) if notify_api_object.get('on-success', None): model.on_success = NotificationsHelper._to_model_sub_schema( notify_api_object['on-success']) if notify_api_object.get('on-failure', None): model.on_failure = NotificationsHelper._to_model_sub_schema( notify_api_object['on-failure']) return model
def _get_notify_field(self, payload): on_complete = NotificationSubSchema() route = getattr(payload, "notification_route", None) or getattr( payload, "notification_channel", None) on_complete.routes = [route] on_complete.data = { "user": payload.user, "source_channel": payload.source_channel, "source_context": getattr(payload, "source_context", None), } notify = NotificationSchema() notify.on_complete = on_complete return notify