def test_multipayload(self): """ Test that a channel will use the right payload """ msg = NotificationMessage(namespace='test-runner', msg_type=self.msg_type, payload={'foo': 'bar'}) msg.add_payload({'one': 'two'}, channel_name='durable') # now do happy path sent_user_msg = publish_notification_to_user(self.test_user_id, msg) # now query back the notification to make sure it got stored # and we can retrieve it self.assertEquals(get_notifications_count_for_user(self.test_user_id), 1) notifications = get_notifications_for_user(self.test_user_id) self.assertTrue(isinstance(notifications, list)) self.assertEqual(len(notifications), 1) self.assertTrue(isinstance(notifications[0], UserNotification)) read_user_msg = notifications[0] self.assertEqual(read_user_msg.user_id, self.test_user_id) self.assertIsNone(read_user_msg.read_at) # should be unread self.assertEqual(read_user_msg, sent_user_msg) # make sure the message that got persisted contains only # the default payload self.assertEqual(read_user_msg.msg.payload, msg.get_payload(channel_name='durable'))
def test_multipayload(self): """ Test that a channel will use the right payload """ msg = NotificationMessage(namespace="test-runner", msg_type=self.msg_type, payload={"foo": "bar"}) msg.add_payload({"one": "two"}, channel_name="durable") # now do happy path sent_user_msg = publish_notification_to_user(self.test_user_id, msg) # now query back the notification to make sure it got stored # and we can retrieve it self.assertEquals(get_notifications_count_for_user(self.test_user_id), 1) notifications = get_notifications_for_user(self.test_user_id) self.assertTrue(isinstance(notifications, list)) self.assertEqual(len(notifications), 1) self.assertTrue(isinstance(notifications[0], UserNotification)) read_user_msg = notifications[0] self.assertEqual(read_user_msg.user_id, self.test_user_id) self.assertIsNone(read_user_msg.read_at) # should be unread self.assertEqual(read_user_msg, sent_user_msg) # make sure the message that got persisted contains only # the default payload self.assertEqual(read_user_msg.msg.payload, msg.get_payload(channel_name="durable"))
def test_multi_payloads(self): """ Tests the ability to support multiple payloads in a NotificationMessage """ msg = NotificationMessage() self.assertIsNone(msg.get_payload()) msg.add_payload( { 'foo': 'bar', } ) self.assertEqual(msg.get_payload(), {'foo': 'bar'}) self.assertEqual(msg.get_message_for_channel(), msg) msg.add_payload( { 'bar': 'baz' }, channel_name='channel1' ) self.assertNotEqual(msg.get_message_for_channel(), msg) self.assertEqual(msg.get_message_for_channel().payload, {'foo': 'bar'}) self.assertEqual(msg.get_message_for_channel('channel1').payload, {'bar': 'baz'}) msg.add_payload( { 'one': 'two' }, channel_name='channel2' ) self.assertNotEqual(msg.get_message_for_channel(), msg) self.assertEqual(msg.get_message_for_channel().payload, {'foo': 'bar'}) self.assertEqual(msg.get_message_for_channel('channel1').payload, {'bar': 'baz'}) self.assertEqual(msg.get_message_for_channel('channel2').payload, {'one': 'two'}) self.assertEqual(msg.get_message_for_channel('doesnt-exist').payload, {'foo': 'bar'}) msg.add_payload( { 'updated': 'yes' } ) self.assertEqual(msg.get_message_for_channel().payload, {'updated': 'yes'})
def test_multi_payloads(self): """ Tests the ability to support multiple payloads in a NotificationMessage """ msg = NotificationMessage() self.assertIsNone(msg.get_payload()) msg.add_payload({ 'foo': 'bar', }) self.assertEqual(msg.get_payload(), {'foo': 'bar'}) self.assertEqual(msg.get_message_for_channel(), msg) msg.add_payload({'bar': 'baz'}, channel_name='channel1') self.assertNotEqual(msg.get_message_for_channel(), msg) self.assertEqual(msg.get_message_for_channel().payload, {'foo': 'bar'}) self.assertEqual( msg.get_message_for_channel('channel1').payload, {'bar': 'baz'}) msg.add_payload({'one': 'two'}, channel_name='channel2') self.assertNotEqual(msg.get_message_for_channel(), msg) self.assertEqual(msg.get_message_for_channel().payload, {'foo': 'bar'}) self.assertEqual( msg.get_message_for_channel('channel1').payload, {'bar': 'baz'}) self.assertEqual( msg.get_message_for_channel('channel2').payload, {'one': 'two'}) self.assertEqual( msg.get_message_for_channel('doesnt-exist').payload, {'foo': 'bar'}) msg.add_payload({'updated': 'yes'}) self.assertEqual(msg.get_message_for_channel().payload, {'updated': 'yes'})