test/variable_mapping_test.rb in trailblazer-operation-0.1.3 vs test/variable_mapping_test.rb in trailblazer-operation-0.2.0

- old
+ new

@@ -18,13 +18,15 @@ [Activity::Right, [options, flow]] end let (:activity) do - Activity.build do - task Model - task Uuid + Module.new do + extend Activity::Path() + + task task: Model + task task: Uuid end end describe "input/output" do @@ -32,32 +34,37 @@ model_input = ->(options) { { "a" => options["a"]+1 } } model_output = ->(options) { { "model.a" => options["a"] } } uuid_input = ->(options) { { "a" => options["a"]*3, "model.a" => options["model.a"] } } uuid_output = ->(options) { { "uuid.a" => options["a"] } } - runtime = Hash.new([]) + runtime = {} # add filters around Model. - runtime[ Model ] = Activity::Magnetic::Builder::Path.plan do - task Activity::Wrap::Input.new( model_input ), id: "task_wrap.input", before: "task_wrap.call_task" - task Activity::Wrap::Output.new( model_output ), id: "task_wrap.output", before: "End.success", group: :end + runtime[ Model ] = Module.new do + extend Activity::Path::Plan() + + task Activity::TaskWrap::Input.new( model_input ), id: "task_wrap.input", before: "task_wrap.call_task" + task Activity::TaskWrap::Output.new( model_output ), id: "task_wrap.output", before: "End.success", group: :end end # add filters around Uuid. - runtime[ Uuid ] = Activity::Magnetic::Builder::Path.plan do - task Activity::Wrap::Input.new( uuid_input ), id: "task_wrap.input", before: "task_wrap.call_task" - task Activity::Wrap::Output.new( uuid_output ), id: "task_wrap.output", before: "End.success", group: :end + runtime[ Uuid ] = Module.new do + extend Activity::Path::Plan() + + task Activity::TaskWrap::Input.new( uuid_input ), id: "task_wrap.input", before: "task_wrap.call_task" + task Activity::TaskWrap::Output.new( uuid_output ), id: "task_wrap.output", before: "End.success", group: :end end signal, (options, flow_options) = activity.( [ options = { "a" => 1 }, {}, ], wrap_runtime: runtime, # dynamic additions from the outside (e.g. tracing), also per task. - runner: Activity::Wrap::Runner, - wrap_static: Hash.new( Activity::Wrap.initial_activity ), # per activity? + runner: Activity::TaskWrap::Runner, + argumenters: [ Activity::TaskWrap::NonStatic.method(:arguments_for_call) ], + wrap_static: Hash.new( Activity::TaskWrap.initial_activity ), ) signal.must_equal activity.outputs[:success].signal options.must_equal({"a"=>1, "model.a"=>4, "uuid.a" => 7 }) end