def test_auto_namespace_not_matching_2(self): auto_namespace(scope="incorrect_namespace") class MyTask(dbnd.Task): pass assert MyTask.task_definition.task_family == "MyTask"
def test_auto_namespace_global(self): auto_namespace() class MyTask(dbnd.Task): pass assert MyTask.task_definition.task_family == self.this_module + ".MyTask"
def test_auto_namespace_scope(self): auto_namespace(scope=__name__) namespace("bleh", scope="") class MyTask(dbnd.Task): pass assert MyTask.task_definition.task_family == self.this_module + ".MyTask"
def test_auto_namespace_not_matching(self): auto_namespace(scope="incorrect_namespace") namespace("bleh", scope="") class MyTask(dbnd.Task): pass namespace(scope="incorrect_namespace") namespace(scope="") assert MyTask.task_definition.task_family == "bleh.MyTask"
from dbnd import auto_namespace, band, parameter from dbnd._core.constants import CloudType from dbnd_test_scenarios.test_common.task.factories import FooConfig, TTask auto_namespace(scope=__name__) class FirstTask(TTask): # exists only for local foo = parameter(default="FooConfig")[FooConfig] param = parameter(default="FirstTask.inline.param")[str] class SecondTask(FirstTask): defaults = { FooConfig.bar: "SecondTask.defaults.bar", FooConfig.quz: "SecondTask.defaults.quz", } @band(defaults={FooConfig.bar: "first_pipeline.defaults.bar"}) def first_pipeline(): return SecondTask(param="first_pipeline.band.param").t_output @band(defaults={FooConfig.quz: "second_pipeline.defaults.quz"}) def second_pipeline(): return ( first_pipeline( override={FooConfig.quz: "second_pipeline.band.override.quz" } # overridden by self.config