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)
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)
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)