예제 #1
0
    def setUp(self):
        """
        Initialize tests, by creating users and populating some
        unread notifications
        """
        create_default_notification_preferences()
        self.store = notification_store()
        self.test_user_id = 1001
        self.from_timestamp = datetime.datetime.now(
            pytz.UTC) - datetime.timedelta(days=1)
        self.weekly_from_timestamp = datetime.datetime.now(
            pytz.UTC) - datetime.timedelta(days=7)
        self.to_timestamp = datetime.datetime.now(pytz.UTC)

        self.msg_type = self.store.save_notification_type(
            NotificationType(
                name='foo.bar',
                renderer=
                'edx_notifications.renderers.basic.BasicSubjectBodyRenderer',
            ))

        self.msg_type_no_renderer = self.store.save_notification_type(
            NotificationType(
                name='foo.baz',
                renderer='foo',
            ))

        # create two notifications
        with freeze_time(self.to_timestamp):
            msg = self.store.save_notification_message(
                NotificationMessage(
                    msg_type=self.msg_type,
                    namespace='foo',
                    payload={
                        'subject': 'foo',
                        'body': 'bar'
                    },
                ))
            self.notification1 = publish_notification_to_user(
                self.test_user_id, msg)

        with freeze_time(self.to_timestamp):
            msg = self.store.save_notification_message(
                NotificationMessage(
                    msg_type=self.msg_type_no_renderer,
                    namespace='bar',
                    payload={
                        'subject': 'foo',
                        'body': 'bar'
                    },
                ))
            self.notification2 = publish_notification_to_user(
                self.test_user_id, msg)
예제 #2
0
    def setUp(self):
        """
        Initialize tests, by creating users and populating some
        unread notifications
        """
        create_default_notification_preferences()
        self.store = notification_store()
        self.test_user_id = 1001
        self.from_timestamp = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=1)
        self.weekly_from_timestamp = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=7)
        self.to_timestamp = datetime.datetime.now(pytz.UTC)

        self.msg_type = self.store.save_notification_type(
            NotificationType(
                name='foo.bar',
                renderer='edx_notifications.renderers.basic.BasicSubjectBodyRenderer',
            )
        )

        self.msg_type_no_renderer = self.store.save_notification_type(
            NotificationType(
                name='foo.baz',
                renderer='foo',
            )
        )

        # create two notifications
        msg = self.store.save_notification_message(
            NotificationMessage(
                msg_type=self.msg_type,
                namespace='foo',
                payload={'subject': 'foo', 'body': 'bar'},
            )
        )
        self.notification1 = publish_notification_to_user(self.test_user_id, msg)

        msg = self.store.save_notification_message(
            NotificationMessage(
                msg_type=self.msg_type_no_renderer,
                namespace='bar',
                payload={'subject': 'foo', 'body': 'bar'},
            )
        )
        self.notification2 = publish_notification_to_user(self.test_user_id, msg)
예제 #3
0
def initialize(namespace_resolver=None, register_system_types=True):
    """
    Startup entry point for the Notification subsystem
    """

    # alert the application tiers that they should register their
    # notification types, but this optional (default=True)
    if register_system_types:
        perform_type_registrations.send(sender=None)

    # alert the application tiers that they should register their
    # notification timers/callbacks
    perform_timer_registrations.send(sender=None)

    # install the system-defined Notification Preferences
    create_default_notification_preferences()

    register_user_scope_resolver('user', SingleUserScopeResolver(), {})

    if not namespace_resolver:
        namespace_resolver = DefaultNotificationNamespaceResolver()

    register_namespace_resolver(namespace_resolver, None)
예제 #4
0
def initialize(namespace_resolver=None, register_system_types=True):
    """
    Startup entry point for the Notification subsystem
    """

    # alert the application tiers that they should register their
    # notification types, but this optional (default=True)
    if register_system_types:
        perform_type_registrations.send(sender=None)

    # alert the application tiers that they should register their
    # notification timers/callbacks
    perform_timer_registrations.send(sender=None)

    # install the system-defined Notification Preferences
    create_default_notification_preferences()

    register_user_scope_resolver('user', SingleUserScopeResolver(), {})

    if not namespace_resolver:
        namespace_resolver = DefaultNotificationNamespaceResolver()

    register_namespace_resolver(namespace_resolver, None)