class WorkerTestCase(unittest.TestCase): def setUp(self): super(WorkerTestCase, self).setUp() self.gator = Gator('locmem://') self.worker = Worker(self.gator, max_tasks=2, nap_time=0) self.gator.backend.drop_all('all') rm_file() touch_file() def test_init(self): self.assertEqual(self.worker.gator, self.gator) self.assertEqual(self.worker.max_tasks, 2) self.assertEqual(self.worker.to_consume, 'all') self.assertEqual(self.worker.nap_time, 0) self.assertEqual(self.worker.tasks_complete, 0) def test_ident(self): ident = self.worker.ident() self.assertTrue(ident.startswith('Alligator Worker (#')) def test_run_forever(self): self.assertEqual(read_file(), 0) self.gator.task(incr_file, 2) self.gator.task(incr_file, 3) self.gator.task(incr_file, 4) self.assertEqual(self.gator.backend.len('all'), 3) # Should actually only run for two of the three tasks. self.worker.run_forever() self.assertEqual(self.gator.backend.len('all'), 1) self.assertEqual(read_file(), 5)
def setUp(self): super(WorkerTestCase, self).setUp() self.gator = Gator('locmem://') self.worker = Worker(self.gator, max_tasks=2, nap_time=0) self.gator.backend.drop_all('all') rm_file() touch_file()