Пример #1
0
    def notify_incident(incident):
        notifications = NotificationHelper.generate_notifications_for_incident(
            incident)

        for notification in notifications:
            notification.save()
            send_notifications(notification.id)
Пример #2
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)
Пример #3
0
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
Пример #4
0
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
Пример #5
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)
Пример #6
0
    def notify_incident(incident):
        notifications = NotificationHelper.generate_notifications_for_incident(incident)

        for notification in notifications:
            notification.save()
            send_notifications(notification.id)