示例#1
0
    def test_liveaction_create_with_notify_on_success_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 succeeded.'
        notify_sub_schema.data = {
            'foo': 'bar',
            'bar': 1,
            'baz': {'k1': 'v1'}
        }
        notify_db.on_success = 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_success.message)
        self.assertDictEqual(notify_sub_schema.data, retrieved.notify.on_success.data)
        self.assertListEqual(notify_sub_schema.routes, retrieved.notify.on_success.routes)
        self.assertEqual(retrieved.notify.on_failure, None)
        self.assertEqual(retrieved.notify.on_complete, None)
    def test_liveaction_create_with_notify_on_success_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 succeeded.'
        notify_sub_schema.data = {'foo': 'bar', 'bar': 1, 'baz': {'k1': 'v1'}}
        notify_db.on_success = 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_success.message)
        self.assertDictEqual(notify_sub_schema.data,
                             retrieved.notify.on_success.data)
        self.assertListEqual(notify_sub_schema.routes,
                             retrieved.notify.on_success.routes)
        self.assertEqual(retrieved.notify.on_failure, None)
        self.assertEqual(retrieved.notify.on_complete, None)
示例#3
0
    def test_liveaction_create_with_notify_on_success_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 succeeded."
        notify_sub_schema.data = {"foo": "bar", "bar": 1, "baz": {"k1": "v1"}}
        notify_db.on_success = 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_success.message)
        self.assertDictEqual(notify_sub_schema.data,
                             retrieved.notify.on_success.data)
        self.assertListEqual(notify_sub_schema.routes,
                             retrieved.notify.on_success.routes)
        self.assertEqual(retrieved.notify.on_failure, None)
        self.assertEqual(retrieved.notify.on_complete, None)
示例#4
0
 def _to_model_sub_schema(notification_settings_json):
     notify_sub_schema = NotificationSubSchema()
     notify_sub_schema.message = notification_settings_json.get('message'
                                                                or None)
     notify_sub_schema.data = notification_settings_json.get('data' or {})
     notify_sub_schema.channels = notification_settings_json.get('channels'
                                                                 or [])
     return notify_sub_schema
示例#5
0
 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
示例#6
0
 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
示例#7
0
 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
示例#8
0
 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
示例#9
0
 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
示例#10
0
 def _to_model_sub_schema(notification_settings_json):
     notify_sub_schema = NotificationSubSchema()
     notify_sub_schema.message = notification_settings_json.get('message' or None)
     notify_sub_schema.data = notification_settings_json.get('data' or {})
     notify_sub_schema.channels = notification_settings_json.get('channels' or [])
     return notify_sub_schema