def notify_incident(incident): notifications = NotificationHelper.generate_notifications_for_incident( incident) for notification in notifications: notification.save() send_notifications(notification.id)
def notify_user_about_incident(incident, user, delay=None, preparedmsg=None): notifications = NotificationHelper.generate_notifications_for_user( incident, user, delay, preparedmsg) for notification in notifications: notification.save() send_notifications(notification.id)
def test_send_notifications(celery_session_worker, user_normal, period, start_ends, expected): """ Test notification report """ # create notification style ns = NotificationSetting(user=user_normal, style=NotificationStyle[period]) ns.save() # create test data DatasetFactory() for start, end in start_ends: n = DatasetNotificationFactory(actor=user_normal) n.time = fake.date_time_between(start_date=start, end_date=end, tzinfo=TZ) n.save() # set times as we do in tasks module now = timezone.now() time = now - tasks.NOTIFICATION_MAPPING[NotificationStyle[period]] users = tasks.send_notifications(period) assert len(users) == 1 assert len(users[0].notifications.all()) == len(notifications_periods) assert len(users[0].notifications.filter(time__gte=time)) == expected
def test_no_notification_style(celery_session_worker, user_normal, period, start_ends, expected): """ No notification report should hit as no notification style is set """ dataset = DatasetFactory() now = timezone.now() notifications = [ DatasetNotificationFactory(actor=user_normal) for start, end in start_ends ] # set use to the notif style user_normal.save() users = tasks.send_notifications(period) assert len(users) == 0
def notify_user_about_incident(incident, user, delay=None, preparedmsg = None): notifications = NotificationHelper.generate_notifications_for_user(incident, user, delay, preparedmsg) for notification in notifications: notification.save() send_notifications(notification.id)
def notify_incident(incident): notifications = NotificationHelper.generate_notifications_for_incident(incident) for notification in notifications: notification.save() send_notifications(notification.id)