Beispiel #1
0
    def test_sync_task_can_be_cancelled_when_enqueued(self):
        things = []  # This will NOT be populated by tasks.

        service = DatabaseTasksService()
        yield service.startService()
        try:
            event = threading.Event()
            service.deferTask(event.wait)
            service.syncTask().cancel()
        finally:
            event.set()
            yield service.stopService()

        self.assertThat(things, Equals([]))
Beispiel #2
0
 def test_sync_task_fires_with_service(self):
     service = DatabaseTasksService()
     service.startService()
     try:
         self.assertThat(service.syncTask().wait(30), Is(service))
     finally:
         service.stopService()
Beispiel #3
0
 def test__cannot_sync_task_when_queue_is_full(self):
     service = DatabaseTasksService(0)
     service.startService()
     try:
         event = threading.Event()
         service.addTask(event.wait)
         try:
             self.assertRaises(QueueOverflow,
                               lambda: service.syncTask().wait(30))
         finally:
             event.set()
     finally:
         service.stopService()