Esempio n. 1
0
 def test_remote_event_no_event(self):
     registry = Registry(self.app)
     event = registry.remote_event('app', 'event')
     expected_event = Event.remote_instance('app', 'event')
     self.assertEqual(expected_event, event)
     self.assertIs(self.app, event.app)
     self.assertTrue(event.is_remote)
Esempio n. 2
0
 def test_create_local_event_already_created(self):
     registry = Registry(self.app)
     registry.create_local_event('app', 'event')
     event = registry.create_local_event('app', 'event')
     self.assertEqual([], event.kwarg_keys)
     self.assertEqual([event], registry.events)
     self.assertFalse(event.is_remote)
Esempio n. 3
0
 def test_remote_event(self):
     registry = Registry(self.app)
     existing_event = Event.remote_instance('app', 'event')
     registry.events.append(existing_event)
     event = registry.remote_event('app', 'event')
     self.assertEqual(existing_event, event)
     self.assertTrue(event.is_remote)
Esempio n. 4
0
 def test_local_event_no_event(self):
     registry = Registry(self.app)
     try:
         event = registry.local_event('app', 'event')
         self.fail()
     except RuntimeError:
         pass
Esempio n. 5
0
 def test_event_no_event_raise_does_not_exist(self):
     registry = Registry(self.app)
     try:
         registry.event('app', 'event', raise_does_not_exist=True)
         self.fail()
     except RuntimeError:
         pass
Esempio n. 6
0
    def test_remote_events(self):
        registry = Registry(self.app)
        local_event = Event.local_instance('app local', 'event')
        remote_event = Event.remote_instance('app remote', 'event')
        registry.events.append(local_event)
        registry.events.append(remote_event)

        self.assertEqual([remote_event], registry.remote_events)
Esempio n. 7
0
 def test_event_remote_only(self):
     registry = Registry(self.app)
     local_event = Event.local_instance('app local', 'event')
     remote_event = Event.remote_instance('app remote', 'event')
     registry.events.append(local_event)
     registry.events.append(remote_event)
     event = registry.event('app local', 'event', remote_only=True)
     self.assertIsNone(event)
Esempio n. 8
0
 def test_local_event_only_remote_event(self):
     registry = Registry(self.app)
     existing_event = Event.remote_instance('app', 'event')
     registry.events.append(existing_event)
     try:
         event = registry.local_event('app', 'event')
         self.fail()
     except RuntimeError:
         pass
Esempio n. 9
0
 def test_create_local_event(self):
     registry = Registry(self.app)
     event = registry.create_local_event('app',
                                         'event',
                                         kwarg_keys=['a', 'b'])
     self.assertEqual(['a', 'b'], event.kwarg_keys)
     self.assertIs(self.app, event.app)
     self.assertEqual([event], registry.events)
     self.assertFalse(event.is_remote)
Esempio n. 10
0
    def setUp(self):
        self.app = App()
        self.registry = Registry(self.app)
        self.namespaces = ['app_1', 'app_2']
        self.local_events_from_backend = []
        self.remote_events_from_backend = []
        self.deleted_events = []
        self.created_events = []
        self.created_tasks = []
        self.removed_tasks = []
        self.updated_tasks = []

        test_case = self

        class TestBackend(Backend):
            def get_local_namespaces(self):
                return test_case.namespaces

            def get_task_namespace(self, task):
                return task.name.split('.')[0]

            def fetch_events_for_namespaces(self, app_names):
                return test_case.local_events_from_backend

            def fetch_events(self, events):
                return [
                    event for event in test_case.local_events_from_backend +
                    test_case.remote_events_from_backend if event in events
                ]

            def should_update_event(self, event):
                return True

            def delete_events(self, events):
                for event in events:
                    test_case.deleted_events.append(event)

            def create_events(self, events):
                for event in events:
                    test_case.created_events.append(event)

            def create_tasks(self, event, tasks):
                for task in tasks:
                    test_case.created_tasks.append((event, task))

            def remove_tasks(self, event, tasks):
                for task in tasks:
                    test_case.removed_tasks.append((event, task))

            def update_tasks(self, event, tasks):
                for task in tasks:
                    test_case.updated_tasks.append((event, task))

        self.backend_cls = TestBackend
Esempio n. 11
0
 def test_event_no_event(self):
     registry = Registry(self.app)
     event = registry.event('app', 'event')
     self.assertIsNone(event)
Esempio n. 12
0
 def test_event(self):
     registry = Registry(self.app)
     existing_event = Event('app', 'event')
     registry.events.append(existing_event)
     event = registry.event('app', 'event')
     self.assertEqual(existing_event, event)