Source code for ploneintranet.notifications.tests.test_message

# -*- coding: utf-8 -*-
from ..message import Message
from datetime import datetime
import unittest


[docs]class TestQueue(unittest.TestCase):
[docs] def test_message_creation(self): message = Message([], "123", {}) self.assertEqual([], message.actors) self.assertEqual("123", message.predicate) self.assertTrue( isinstance(message.obj.pop("message_last_modification_date"), datetime) ) self.assertEqual(dict(url="", read=False), message.obj)
[docs] def test_object_is_copied(self): obj = {"test": 1} message = Message([], "123", obj) obj["test"] = 2 self.assertEqual(1, message.obj["test"])
[docs] def test_message_mark_timestamp(self): before_test = datetime.utcnow() message = Message([], "123", {}) self.assertFalse(message.marked_read_at()) message.mark_as_read() read_at = message.marked_read_at() self.assertTrue(read_at > before_test) message.mark_as_read(before_test) # We don't re-set the read times self.assertTrue(message.marked_read_at() == read_at)
[docs] def test_message_clone(self): message = Message([], "123", {}) message_cloned = message.clone() message.mark_as_read() message.actors.append(1) message.obj["test"] = 1 self.assertTrue(message_cloned.is_unread()) self.assertFalse(len(message_cloned.actors)) self.assertFalse("test" in message_cloned.obj)
[docs] def test_update_object(self): message = Message([], "123", {}) before = message.obj["message_last_modification_date"] message.update_object({}) after = message.obj["message_last_modification_date"] self.assertTrue(before < after)
[docs] def test_update_actors(self): message = Message([1, 2, 3], "123", {}) message.update_actors(added=[4], removed=[3]) self.assertEqual([1, 2, 4], message.actors)