# the License. import luigi import unittest def create_class(cls_name): class NewTask(luigi.WrapperTask): pass NewTask.__name__ = cls_name return NewTask my_new_task = luigi.expose(create_class('MyNewTask')) class SetTaskNameTest(unittest.TestCase): ''' I accidentally introduced an issue in this commit: https://github.com/spotify/luigi/commit/6330e9d0332e6152996292a39c42f752b9288c96 This causes tasks not to get exposed if they change name later. Adding a unit test to resolve the issue. ''' def test_set_task_name(self): luigi.run(['--local-scheduler', 'MyNewTask']) if __name__ == '__main__': luigi.run()
def test_expose_deprecated(self): with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") luigi.expose(SomeTask) self.assertEqual(w[-1].category, DeprecationWarning)
# the License. import luigi import unittest def create_class(cls_name): class NewTask(luigi.WrapperTask): pass NewTask.__name__ = cls_name return NewTask my_new_task = luigi.expose(create_class("MyNewTask")) class SetTaskNameTest(unittest.TestCase): """ I accidentally introduced an issue in this commit: https://github.com/spotify/luigi/commit/6330e9d0332e6152996292a39c42f752b9288c96 This causes tasks not to get exposed if they change name later. Adding a unit test to resolve the issue. """ def test_set_task_name(self): luigi.run(["--local-scheduler", "MyNewTask"]) if __name__ == "__main__": luigi.run()