def test_run_with_failure(self): task = self.create_task() task.output().touch = MagicMock(side_effect=Exception("Failed to update marker")) with self.assertRaises(Exception): task.run() self.assertTrue(self.mock_mysql_connector.connect().cursor().execute.called) self.assertTrue(self.mock_mysql_connector.connect().rollback.called) self.assertFalse(self.mock_mysql_connector.connect().commit.called) self.assertTrue(self.mock_mysql_connector.connect().close.called)
def output(self): return [task.output() for task in self.requires()]
def remove_targets(task): outputs = luigi.task.flatten(task.output()) for out in outputs: if out.exists(): out.remove() assert not out.exists()