Esempio n. 1
0
 def test_register_topic_rename_class(self):
     register_topic("eventsourcing.domain:OldClass", Aggregate)
     self.assertEqual(Aggregate,
                      resolve_topic("eventsourcing.domain:OldClass"))
     self.assertEqual(
         Aggregate.Created,
         resolve_topic("eventsourcing.domain:OldClass.Created"))
Esempio n. 2
0
    def test_topic_errors(self):
        # Wrong module name.
        with self.assertRaises(TopicError) as cm:
            resolve_topic("oldmodule:Aggregate")
        expected_msg = ("Failed to resolve topic 'oldmodule:Aggregate': "
                        "No module named 'oldmodule'")
        self.assertEqual(expected_msg, cm.exception.args[0])

        # Wrong class name.
        with self.assertRaises(TopicError) as cm:
            resolve_topic("eventsourcing.domain:OldClass")
        expected_msg = (
            "Failed to resolve topic 'eventsourcing.domain:OldClass': "
            "module 'eventsourcing.domain' has no attribute 'OldClass'")
        self.assertEqual(expected_msg, cm.exception.args[0])

        # Wrong class attribute.
        with self.assertRaises(TopicError) as cm:
            resolve_topic("eventsourcing.domain:Aggregate.OldClass")
        expected_msg = (
            "Failed to resolve topic 'eventsourcing.domain:Aggregate.OldClass': "
            "type object 'Aggregate' has no attribute 'OldClass'")
        self.assertEqual(expected_msg, cm.exception.args[0])

        # Can register same thing twice.
        register_topic("old", eventsourcing)
        register_topic("old", eventsourcing)

        # Can't overwrite with another thing.
        with self.assertRaises(TopicError) as cm:
            register_topic("old", TestCase)
        self.assertIn("is already registered for topic 'old'",
                      cm.exception.args[0])
Esempio n. 3
0
 def test_register_topic_rename_package_and_module(self):
     register_topic("old.old", eventsourcing.domain)
     self.assertEqual(Aggregate, resolve_topic("old.old:Aggregate"))
Esempio n. 4
0
 def test_register_topic_move_package(self):
     register_topic("old.eventsourcing.domain", eventsourcing.domain)
     self.assertEqual(Aggregate,
                      resolve_topic("old.eventsourcing.domain:Aggregate"))
Esempio n. 5
0
 def test_register_topic_rename_package(self):
     register_topic("oldpackage", eventsourcing)
     self.assertEqual(Aggregate,
                      resolve_topic("oldpackage.domain:Aggregate"))
     self.assertEqual(Aggregate.Created,
                      resolve_topic("oldpackage.domain:Aggregate.Created"))
Esempio n. 6
0
 def test_register_topic_move_module_into_package(self):
     register_topic("oldmodule", eventsourcing.domain)
     self.assertEqual(Aggregate, resolve_topic("oldmodule:Aggregate"))
     self.assertEqual(Aggregate.Created,
                      resolve_topic("oldmodule:Aggregate.Created"))