Example #1
0
    def test_unstick(self):
        # Simulate a broken batch job with a database footprint
        create_stuck_batch_job()
        self.assertTrue(BatchJob.get())
        self.assertTrue(Student.get_all_id_numbers())
        
        # Queue and fire the unstick task
        driver.queue_unstick()
        tasks = self.taskqueue_stub.get_filtered_tasks()
        self.assertEqual(len(tasks), 1)
        result = deferred.run(tasks[0].payload)

        # Ensure relevant DB tables have been cleared
        self.assertFalse(BatchJob.get())
        self.assertFalse(Student.get_all_id_numbers())