class TestPromoteExampleWf(object): wf_input = _sdk_workflow.Input(_Types.Integer, required=True) my_task_node = demo_task_for_promote(a=wf_input) wf_output_b = _sdk_workflow.Output(my_task_node.outputs.b, sdk_type=_Types.Integer) wf_output_c = _sdk_workflow.Output(my_task_node.outputs.c, sdk_type=_Types.Integer)
class IdentityWorkflow(object): a = _workflow.Input(_Types.Integer, default=5, help="Input for inner workflow") odd_nums_task = inner_task(num=a) task_output = _workflow.Output(odd_nums_task.outputs.out, sdk_type=_Types.Integer)
def test_launch_plan_node(): workflow_to_test = _workflow.workflow( {}, inputs={ "required_input": _workflow.Input(_types.Types.Integer), "default_input": _workflow.Input(_types.Types.Integer, default=5), }, outputs={ "out": _workflow.Output([1, 2, 3], sdk_type=[_types.Types.Integer]) }, ) lp = workflow_to_test.create_launch_plan() # Test that required input isn't set with _pytest.raises(_user_exceptions.FlyteAssertion): lp() # Test that positional args are rejected with _pytest.raises(_user_exceptions.FlyteAssertion): lp(1, 2) # Test that type checking works with _pytest.raises(_user_exceptions.FlyteTypeException): lp(required_input="abc", default_input=1) # Test that bad arg name is detected with _pytest.raises(_user_exceptions.FlyteAssertion): lp(required_input=1, bad_arg=1) # Test default input is accounted for n = lp(required_input=10) assert n.inputs[0].var == "default_input" assert n.inputs[0].binding.scalar.primitive.integer == 5 assert n.inputs[1].var == "required_input" assert n.inputs[1].binding.scalar.primitive.integer == 10 # Test default input is overridden n = lp(required_input=10, default_input=50) assert n.inputs[0].var == "default_input" assert n.inputs[0].binding.scalar.primitive.integer == 50 assert n.inputs[1].var == "required_input" assert n.inputs[1].binding.scalar.primitive.integer == 10 # Test that launch plan ID ref is flexible lp._id = "fake" assert n.workflow_node.launchplan_ref == "fake" lp._id = None # Test that outputs are promised n.assign_id_and_return("node-id") assert n.outputs["out"].sdk_type.to_flyte_literal_type( ).collection_type.simple == _type_models.SimpleType.INTEGER assert n.outputs["out"].var == "out" assert n.outputs["out"].node_id == "node-id"
class test_workflow(object): a = _workflow.Input(_types.Types.Integer) test = testy_test(a=1) b = _workflow.Output(test.outputs.b, sdk_type=_types.Types.Integer)