# # Testing OpenWFE # # John Mettraux at openwfe.org # # Mon Oct 9 22:19:44 JST 2006 # require 'openwfe/def' require 'openwfe/worklist/storeparticipant' require 'flowtestbase' class FlowTest27 < Test::Unit::TestCase include FlowTestBase #def teardown #end #def setup #end # # TEST 0 class TestDefinition0 < ProcessDefinition def make _process_definition :name => "27_gfp", :revision => "0" do _sequence do store_p end end end end #def xxxx_gfp_0 def test_gfp_0 #sp = @engine.register_participant("store_p", OpenWFE::YamlParticipant) sp = @engine.register_participant("store_p", OpenWFE::HashParticipant) fei = @engine.launch(TestDefinition0) sleep 0.200 l = @engine.get_process_stack(fei.wfid) #print_exp_list l assert_equal \ 3, l.size, "get_process_stack() returned #{l.size} elements" ps = @engine.list_process_status #puts #puts ps[fei.parent_wfid].to_s #puts assert_equal ps[fei.parent_wfid].errors.size, 0 assert_equal ps[fei.parent_wfid].expressions.size, 1 assert_kind_of ParticipantExpression, ps[fei.parent_wfid].expressions[0] assert_not_nil ps[fei.parent_wfid].launch_time ps = @engine.list_process_status fei.wfid[0, 4] assert_equal ps[fei.parent_wfid].errors.size, 0 assert_equal ps[fei.parent_wfid].expressions.size, 1 assert_kind_of ParticipantExpression, ps[fei.parent_wfid].expressions[0] # # resume process wi = sp.first_workitem sp.forward(wi) @engine.wait_for fei assert_equal sp.size, 0 end # # TEST 0b class Gfp27b < ProcessDefinition sequence do store_p end end def test_gfp_0b log_level_to_debug sp = @engine.register_participant "store_p", OpenWFE::YamlParticipant #fei = @engine.launch TestDefinition0 fei = @engine.launch Gfp27b sleep 0.200 #l = @engine.get_process_stack(fei.wfid) l = @engine.get_process_stack(fei) # # shortcut version #print_exp_list l assert_equal 3, l.size l = @engine.list_processes() assert_equal 1, l.size l = @engine.list_processes(false, "nada") assert_equal 0, l.size l = @engine.list_workflows(false, fei.wfid[0, 3]) assert_equal 1, l.size # # resume flow and terminate it wi = sp.first_workitem assert wi sp.forward(wi) @engine.wait_for fei assert_equal 0, sp.size end end