ruote 0.9.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. data/README.txt +24 -0
  2. data/bin/validate-workflow.rb +89 -0
  3. data/examples/about_state.rb +81 -0
  4. data/examples/bigflow.rb +19 -0
  5. data/examples/csv_weather.rb +23 -0
  6. data/examples/engine_template.rb +247 -0
  7. data/examples/flowtracing.rb +24 -0
  8. data/examples/homeworkreview.rb +68 -0
  9. data/examples/kotoba.rb +22 -0
  10. data/examples/mano_tracker.rb +172 -0
  11. data/examples/openwferu.rb +58 -0
  12. data/examples/quotereporter.rb +157 -0
  13. data/examples/scheduler_cron_usage.rb +48 -0
  14. data/examples/scheduler_usage.rb +56 -0
  15. data/lib/openwfe.rb +41 -0
  16. data/lib/openwfe/contextual.rb +111 -0
  17. data/lib/openwfe/def.rb +46 -0
  18. data/lib/openwfe/engine.rb +37 -0
  19. data/lib/openwfe/engine/engine.rb +756 -0
  20. data/lib/openwfe/engine/expool_methods.rb +172 -0
  21. data/lib/openwfe/engine/file_persisted_engine.rb +105 -0
  22. data/lib/openwfe/engine/participant_methods.rb +133 -0
  23. data/lib/openwfe/engine/status_methods.rb +353 -0
  24. data/lib/openwfe/engine/update_exp_methods.rb +112 -0
  25. data/lib/openwfe/exceptions.rb +51 -0
  26. data/lib/openwfe/expool/errorjournal.rb +476 -0
  27. data/lib/openwfe/expool/expressionpool.rb +1144 -0
  28. data/lib/openwfe/expool/expstorage.rb +403 -0
  29. data/lib/openwfe/expool/history.rb +174 -0
  30. data/lib/openwfe/expool/journal.rb +224 -0
  31. data/lib/openwfe/expool/journal_replay.rb +321 -0
  32. data/lib/openwfe/expool/parser.rb +242 -0
  33. data/lib/openwfe/expool/representation.rb +121 -0
  34. data/lib/openwfe/expool/threadedexpstorage.rb +188 -0
  35. data/lib/openwfe/expool/wfidgen.rb +388 -0
  36. data/lib/openwfe/expool/yamlexpstorage.rb +224 -0
  37. data/lib/openwfe/expressions/condition.rb +244 -0
  38. data/lib/openwfe/expressions/environment.rb +246 -0
  39. data/lib/openwfe/expressions/expressionmap.rb +258 -0
  40. data/lib/openwfe/expressions/fe_cancel.rb +109 -0
  41. data/lib/openwfe/expressions/fe_command.rb +241 -0
  42. data/lib/openwfe/expressions/fe_concurrence.rb +662 -0
  43. data/lib/openwfe/expressions/fe_cron.rb +259 -0
  44. data/lib/openwfe/expressions/fe_cursor.rb +259 -0
  45. data/lib/openwfe/expressions/fe_define.rb +192 -0
  46. data/lib/openwfe/expressions/fe_do.rb +168 -0
  47. data/lib/openwfe/expressions/fe_equals.rb +291 -0
  48. data/lib/openwfe/expressions/fe_filter.rb +129 -0
  49. data/lib/openwfe/expressions/fe_filter_definition.rb +168 -0
  50. data/lib/openwfe/expressions/fe_fqv.rb +250 -0
  51. data/lib/openwfe/expressions/fe_if.rb +303 -0
  52. data/lib/openwfe/expressions/fe_iterator.rb +145 -0
  53. data/lib/openwfe/expressions/fe_listen.rb +371 -0
  54. data/lib/openwfe/expressions/fe_losfor.rb +111 -0
  55. data/lib/openwfe/expressions/fe_misc.rb +421 -0
  56. data/lib/openwfe/expressions/fe_participant.rb +269 -0
  57. data/lib/openwfe/expressions/fe_reserve.rb +212 -0
  58. data/lib/openwfe/expressions/fe_save.rb +274 -0
  59. data/lib/openwfe/expressions/fe_sequence.rb +117 -0
  60. data/lib/openwfe/expressions/fe_set.rb +139 -0
  61. data/lib/openwfe/expressions/fe_sleep.rb +166 -0
  62. data/lib/openwfe/expressions/fe_step.rb +159 -0
  63. data/lib/openwfe/expressions/fe_subprocess.rb +168 -0
  64. data/lib/openwfe/expressions/fe_timeout.rb +127 -0
  65. data/lib/openwfe/expressions/fe_wait.rb +78 -0
  66. data/lib/openwfe/expressions/fe_when.rb +142 -0
  67. data/lib/openwfe/expressions/filter.rb +104 -0
  68. data/lib/openwfe/expressions/flowexpression.rb +847 -0
  69. data/lib/openwfe/expressions/iterator.rb +221 -0
  70. data/lib/openwfe/expressions/merge.rb +84 -0
  71. data/lib/openwfe/expressions/raw.rb +547 -0
  72. data/lib/openwfe/expressions/rprocdef.rb +375 -0
  73. data/lib/openwfe/expressions/time.rb +333 -0
  74. data/lib/openwfe/expressions/timeout.rb +178 -0
  75. data/lib/openwfe/expressions/value.rb +126 -0
  76. data/lib/openwfe/filterdef.rb +259 -0
  77. data/lib/openwfe/flowexpressionid.rb +357 -0
  78. data/lib/openwfe/listeners/listener.rb +97 -0
  79. data/lib/openwfe/listeners/listeners.rb +139 -0
  80. data/lib/openwfe/listeners/socketlisteners.rb +272 -0
  81. data/lib/openwfe/logging.rb +122 -0
  82. data/lib/openwfe/omixins.rb +95 -0
  83. data/lib/openwfe/orest/controlclient.rb +119 -0
  84. data/lib/openwfe/orest/definitions.rb +113 -0
  85. data/lib/openwfe/orest/exception.rb +60 -0
  86. data/lib/openwfe/orest/oldrestservlet.rb +279 -0
  87. data/lib/openwfe/orest/osocket.rb +148 -0
  88. data/lib/openwfe/orest/restclient.rb +176 -0
  89. data/lib/openwfe/orest/workitem.rb +206 -0
  90. data/lib/openwfe/orest/worklistclient.rb +272 -0
  91. data/lib/openwfe/orest/xmlcodec.rb +670 -0
  92. data/lib/openwfe/participants.rb +38 -0
  93. data/lib/openwfe/participants/enoparticipants.rb +230 -0
  94. data/lib/openwfe/participants/participant.rb +141 -0
  95. data/lib/openwfe/participants/participantmap.rb +249 -0
  96. data/lib/openwfe/participants/participants.rb +407 -0
  97. data/lib/openwfe/participants/soapparticipants.rb +135 -0
  98. data/lib/openwfe/participants/socketparticipants.rb +202 -0
  99. data/lib/openwfe/participants/storeparticipants.rb +254 -0
  100. data/lib/openwfe/rudefinitions.rb +130 -0
  101. data/lib/openwfe/service.rb +103 -0
  102. data/lib/openwfe/storage/yamlcustom.rb +106 -0
  103. data/lib/openwfe/storage/yamlfilestorage.rb +245 -0
  104. data/lib/openwfe/tools/flowtracer.rb +81 -0
  105. data/lib/openwfe/util/dollar.rb +217 -0
  106. data/lib/openwfe/util/irb.rb +86 -0
  107. data/lib/openwfe/util/observable.rb +144 -0
  108. data/lib/openwfe/util/ometa.rb +62 -0
  109. data/lib/openwfe/util/workqueue.rb +124 -0
  110. data/lib/openwfe/util/xml.rb +418 -0
  111. data/lib/openwfe/utils.rb +554 -0
  112. data/lib/openwfe/version.rb +37 -0
  113. data/lib/openwfe/workitem.rb +499 -0
  114. data/lib/openwfe/worklist/oldrest.rb +244 -0
  115. data/lib/openwfe/worklist/storelocks.rb +293 -0
  116. data/lib/openwfe/worklist/storeparticipant.rb +44 -0
  117. data/lib/openwfe/worklist/worklist.rb +297 -0
  118. data/test/README.txt +27 -0
  119. data/test/back_0916_test.rb +111 -0
  120. data/test/bm/bm_1_xml_vs_prog.rb +56 -0
  121. data/test/bm/bm_2_step.rb +109 -0
  122. data/test/bm/ft_0f_5ms.rb +35 -0
  123. data/test/bm/ft_26_load.rb +210 -0
  124. data/test/bm/ft_26b_load.rb +86 -0
  125. data/test/bm/ft_26c_load.rb +97 -0
  126. data/test/bm/ft_26d_load.rb +97 -0
  127. data/test/bm/ft_recu.rb +71 -0
  128. data/test/clone_test.rb +122 -0
  129. data/test/concurrence_test.rb +77 -0
  130. data/test/condition_test.rb +155 -0
  131. data/test/console_test.rb +12 -0
  132. data/test/cron_ltest.rb +15 -0
  133. data/test/description_test.rb +87 -0
  134. data/test/eno_test.rb +76 -0
  135. data/test/expmap_test.rb +54 -0
  136. data/test/expool_20031219_0916.tgz +0 -0
  137. data/test/fe_lookup_att_test.rb +62 -0
  138. data/test/fei_test.rb +181 -0
  139. data/test/file_persisted_engine_test.rb +64 -0
  140. data/test/file_persistence_test.rb +134 -0
  141. data/test/filep_cancel_test.rb +123 -0
  142. data/test/filter_test.rb +109 -0
  143. data/test/flowtestbase.rb +351 -0
  144. data/test/ft_0.rb +68 -0
  145. data/test/ft_0b_sequence.rb +36 -0
  146. data/test/ft_0c_testname.rb +33 -0
  147. data/test/ft_0d_participant.rb +30 -0
  148. data/test/ft_0e_multibody.rb +34 -0
  149. data/test/ft_10_loop.rb +134 -0
  150. data/test/ft_11_ppd.rb +415 -0
  151. data/test/ft_11b_ppd.rb +54 -0
  152. data/test/ft_12_blockparticipant.rb +97 -0
  153. data/test/ft_13_eno.rb +52 -0
  154. data/test/ft_14_subprocess.rb +88 -0
  155. data/test/ft_14b_subprocess.rb +192 -0
  156. data/test/ft_14c_subprocess.rb +68 -0
  157. data/test/ft_15_iterator.rb +216 -0
  158. data/test/ft_15b_iterator.rb +74 -0
  159. data/test/ft_16_fqv.rb +73 -0
  160. data/test/ft_17_condition.rb +84 -0
  161. data/test/ft_18_pname.rb +56 -0
  162. data/test/ft_1_unset.rb +175 -0
  163. data/test/ft_1b_unset.rb +39 -0
  164. data/test/ft_20_cron.rb +53 -0
  165. data/test/ft_21_cron.rb +87 -0
  166. data/test/ft_21b_cron_pause.rb +82 -0
  167. data/test/ft_22_history.rb +74 -0
  168. data/test/ft_23_when.rb +77 -0
  169. data/test/ft_23b_when.rb +70 -0
  170. data/test/ft_23c_wait.rb +80 -0
  171. data/test/ft_23d_cww.rb +58 -0
  172. data/test/ft_24_def.rb +44 -0
  173. data/test/ft_25_cancel.rb +89 -0
  174. data/test/ft_27_getflowpos.rb +147 -0
  175. data/test/ft_28_fileparticipant.rb +63 -0
  176. data/test/ft_29_httprb.rb +106 -0
  177. data/test/ft_2_concurrence.rb +135 -0
  178. data/test/ft_2b_concurrence.rb +188 -0
  179. data/test/ft_2c_concurrence.rb +64 -0
  180. data/test/ft_30_socketlistener.rb +203 -0
  181. data/test/ft_31_flowname.rb +40 -0
  182. data/test/ft_32_journal.rb +91 -0
  183. data/test/ft_32c_journal.rb +102 -0
  184. data/test/ft_32d_journal.rb +84 -0
  185. data/test/ft_33_description.rb +107 -0
  186. data/test/ft_34_cancelwfid.rb +80 -0
  187. data/test/ft_35_localdefs.rb +75 -0
  188. data/test/ft_36_subprocids.rb +97 -0
  189. data/test/ft_37_pnames.rb +70 -0
  190. data/test/ft_38_tag.rb +127 -0
  191. data/test/ft_38b_tag.rb +161 -0
  192. data/test/ft_38c_tag.rb +100 -0
  193. data/test/ft_39_reserve.rb +63 -0
  194. data/test/ft_39b_reserve.rb +84 -0
  195. data/test/ft_3_equals.rb +170 -0
  196. data/test/ft_3b_lookup_vf.rb +83 -0
  197. data/test/ft_40_defined.rb +61 -0
  198. data/test/ft_41_case.rb +110 -0
  199. data/test/ft_42_environments.rb +75 -0
  200. data/test/ft_43_pat10.rb +85 -0
  201. data/test/ft_44_save.rb +70 -0
  202. data/test/ft_44b_restore.rb +212 -0
  203. data/test/ft_45_citerator.rb +214 -0
  204. data/test/ft_46_pparams.rb +62 -0
  205. data/test/ft_47_filter.rb +160 -0
  206. data/test/ft_48_fe_filter.rb +88 -0
  207. data/test/ft_49_condition.rb +126 -0
  208. data/test/ft_4_misc.rb +237 -0
  209. data/test/ft_50_xml_attribute.rb +155 -0
  210. data/test/ft_51_stack.rb +55 -0
  211. data/test/ft_52_obs_participant.rb +123 -0
  212. data/test/ft_53_null_noop_participant.rb +62 -0
  213. data/test/ft_54_listen.rb +288 -0
  214. data/test/ft_54b_listen.rb +66 -0
  215. data/test/ft_54c_listen.rb +99 -0
  216. data/test/ft_55_ptimeout.rb +59 -0
  217. data/test/ft_56_timeout.rb +59 -0
  218. data/test/ft_57_a.rb +145 -0
  219. data/test/ft_58_ejournal.rb +151 -0
  220. data/test/ft_59_ps.rb +150 -0
  221. data/test/ft_59b_ps_for_pat.rb +58 -0
  222. data/test/ft_5_time.rb +118 -0
  223. data/test/ft_60_ecancel.rb +161 -0
  224. data/test/ft_61_elsub.rb +51 -0
  225. data/test/ft_62_procparticipant.rb +71 -0
  226. data/test/ft_63_pause.rb +124 -0
  227. data/test/ft_64_alias.rb +102 -0
  228. data/test/ft_64_clone.rb +69 -0
  229. data/test/ft_65_stringlaunch.rb +59 -0
  230. data/test/ft_66_subforget.rb +70 -0
  231. data/test/ft_67_schedlaunch.rb +116 -0
  232. data/test/ft_68_ifparticipant.rb +70 -0
  233. data/test/ft_69_cancelmissing.rb +51 -0
  234. data/test/ft_6_lambda.rb +64 -0
  235. data/test/ft_70_lookupvar.rb +55 -0
  236. data/test/ft_71_log.rb +60 -0
  237. data/test/ft_72_lookup_processes.rb +76 -0
  238. data/test/ft_73_cancel_sub.rb +139 -0
  239. data/test/ft_74_block_and_workitem_dup.rb +63 -0
  240. data/test/ft_75_ruby_attributes.rb +87 -0
  241. data/test/ft_76_merge_isolate.rb +88 -0
  242. data/test/ft_77_segments.rb +35 -0
  243. data/test/ft_78_eval.rb +150 -0
  244. data/test/ft_79_tticket.rb +187 -0
  245. data/test/ft_79b_tticket.rb +172 -0
  246. data/test/ft_79c_outcome.rb +56 -0
  247. data/test/ft_7_lose.rb +104 -0
  248. data/test/ft_7b_lose.rb +78 -0
  249. data/test/ft_80_spname.rb +91 -0
  250. data/test/ft_81_exp.rb +60 -0
  251. data/test/ft_82_trecu.rb +46 -0
  252. data/test/ft_83_badpause.rb +58 -0
  253. data/test/ft_84_updateexp.rb +198 -0
  254. data/test/ft_85_dolhash.rb +43 -0
  255. data/test/ft_86_dollar_fv.rb +68 -0
  256. data/test/ft_87_define.rb +74 -0
  257. data/test/ft_8_forget.rb +44 -0
  258. data/test/ft_9_cursor.rb +145 -0
  259. data/test/ft_9b_cursor.rb +105 -0
  260. data/test/ft_tests.rb +124 -0
  261. data/test/hash_test.rb +75 -0
  262. data/test/hparticipant_test.rb +164 -0
  263. data/test/lookup_att_test.rb +90 -0
  264. data/test/lookup_vf_test.rb +94 -0
  265. data/test/misc_test.rb +90 -0
  266. data/test/nut_0_irb.rb +20 -0
  267. data/test/obs_test.rb +142 -0
  268. data/test/orest_test.rb +251 -0
  269. data/test/param_test.rb +290 -0
  270. data/test/participant_test.rb +101 -0
  271. data/test/pending.rb +23 -0
  272. data/test/ps_representation.rb +133 -0
  273. data/test/rake_ltest.rb +38 -0
  274. data/test/rake_qtest.rb +68 -0
  275. data/test/raw_prog_test.rb +412 -0
  276. data/test/restart_cron_test.rb +136 -0
  277. data/test/restart_paused_test.rb +98 -0
  278. data/test/restart_sleep_test.rb +140 -0
  279. data/test/restart_tests.rb +18 -0
  280. data/test/restart_when_test.rb +112 -0
  281. data/test/ruby_procdef_test.rb +132 -0
  282. data/test/rutest_utils.rb +63 -0
  283. data/test/sec_test.rb +205 -0
  284. data/test/slock_test.rb +80 -0
  285. data/test/storage_test.rb +44 -0
  286. data/test/test.rb +3 -0
  287. data/test/timeout_test.rb +105 -0
  288. data/test/util_xml_test.rb +112 -0
  289. data/test/wfid_test.rb +175 -0
  290. data/test/wi_test.rb +75 -0
  291. metadata +433 -0
@@ -0,0 +1,51 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Mon Jul 9 10:25:18 JST 2007
8
+ #
9
+
10
+ require 'rubygems'
11
+
12
+ require 'openwfe/def'
13
+ require 'flowtestbase'
14
+
15
+
16
+ class FlowTest61 < Test::Unit::TestCase
17
+ include FlowTestBase
18
+
19
+ #def teardown
20
+ #end
21
+
22
+ #def setup
23
+ #end
24
+
25
+ #
26
+ # TEST 0
27
+
28
+ class EngineLevelProcessDefinition < OpenWFE::ProcessDefinition
29
+ sequence do
30
+ end
31
+ process_definition :name => "//elsub" do
32
+ _print "nada"
33
+ end
34
+ end
35
+
36
+ class TestDefinition0 < OpenWFE::ProcessDefinition
37
+ elsub
38
+ #subprocess :ref => "//elsub"
39
+ end
40
+
41
+ def test_0
42
+
43
+ #log_level_to_debug
44
+
45
+ launch EngineLevelProcessDefinition
46
+ sleep 0.700
47
+ dotest TestDefinition0, "nada", false, true
48
+ end
49
+
50
+ end
51
+
@@ -0,0 +1,71 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Mon Jul 9 10:25:18 JST 2007
8
+ #
9
+
10
+ require 'rubygems'
11
+
12
+ require 'openwfe/def'
13
+ require 'flowtestbase'
14
+
15
+
16
+ class FlowTest62 < Test::Unit::TestCase
17
+ include FlowTestBase
18
+
19
+ #def teardown
20
+ #end
21
+
22
+ #def setup
23
+ #end
24
+
25
+ #
26
+ # TEST 0
27
+
28
+ class SubDef < OpenWFE::ProcessDefinition
29
+ _print "subruby"
30
+ end
31
+
32
+ SUBDEF = '''
33
+ <process-definition name="sub" revision="0">
34
+ <print>subxml</print>
35
+ </process-definition>
36
+ '''.strip
37
+
38
+ class TestDefinition0 < OpenWFE::ProcessDefinition
39
+ sequence do
40
+ _print "main0"
41
+ subruby
42
+ subxml
43
+ subfile
44
+ _print "main1"
45
+ end
46
+ end
47
+
48
+ def test_0
49
+
50
+ #$OWFE_LOG.level = Logger::DEBUG
51
+
52
+ engine.register_participant(
53
+ "subruby",
54
+ OpenWFE::ProcessParticipant.new(SubDef))
55
+ engine.register_participant(
56
+ "subxml",
57
+ OpenWFE::ProcessParticipant.new(SUBDEF))
58
+
59
+ File.open "work/procdef62.xml", "w+" do |f|
60
+ f.write SUBDEF
61
+ f.write "\n"
62
+ end
63
+ engine.register_participant(
64
+ "subfile",
65
+ OpenWFE::ProcessParticipant.new('file:work/procdef62.xml'))
66
+
67
+ dotest TestDefinition0, "main0\nsubruby\nsubxml\nsubxml\nmain1"
68
+ end
69
+
70
+ end
71
+
@@ -0,0 +1,124 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+
8
+ require 'flowtestbase'
9
+ require 'openwfe/def'
10
+ require 'openwfe/participants/storeparticipants'
11
+
12
+
13
+ class FlowTest63 < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def setup
17
+ #end
18
+
19
+ #def teardown
20
+ #end
21
+
22
+
23
+ #
24
+ # Test 0
25
+ #
26
+
27
+ class Test0 < OpenWFE::ProcessDefinition
28
+ sequence do
29
+ participant :alpha
30
+ _print "done."
31
+ end
32
+ end
33
+
34
+ def test_0
35
+
36
+ #log_level_to_debug
37
+
38
+ sa = @engine.register_participant :alpha, OpenWFE::HashParticipant
39
+
40
+ fei = @engine.launch Test0
41
+
42
+ sleep 0.350
43
+
44
+ assert_equal(
45
+ @engine.process_status(fei.wfid).expressions[0].fei.wfid,
46
+ fei.wfid)
47
+ #puts @engine.process_status(fei.wfid)
48
+ #puts @engine.list_process_status
49
+
50
+ assert ! @engine.process_status(fei.wfid).paused?
51
+ assert ! @engine.is_paused?(fei.wfid)
52
+
53
+ @engine.pause_process fei.workflow_instance_id
54
+
55
+ assert @engine.process_status(fei.wfid).paused?
56
+ assert @engine.is_paused?(fei.wfid)
57
+
58
+ hp = @engine.get_participant :alpha
59
+ wi = hp.first_workitem
60
+ hp.forward wi
61
+
62
+ sleep 0.350
63
+
64
+ assert_equal @engine.process_status(fei.wfid).errors.size, 1
65
+ assert_equal @tracer.to_s, ""
66
+
67
+ @engine.resume_process fei.workflow_instance_id
68
+
69
+ #unless @engine.get_expression_storage.is_a?(
70
+ # OpenWFE::InMemoryExpressionStorage)
71
+ #
72
+ # ps = @engine.process_status fei.wfid
73
+ # #puts ps
74
+ # assert_equal ps.errors.size, 0
75
+ # assert ! ps.paused?
76
+ #end
77
+
78
+ sleep 0.350
79
+
80
+ assert_nil @engine.process_status(fei.wfid)
81
+ assert_equal @tracer.to_s, "done."
82
+ end
83
+
84
+
85
+ #
86
+ # Test 1
87
+ #
88
+
89
+ class Test1 < OpenWFE::ProcessDefinition
90
+ sequence do
91
+ participant :alpha
92
+ _print "done."
93
+ end
94
+ end
95
+
96
+ def test_1
97
+
98
+ #log_level_to_debug
99
+
100
+ sa = @engine.register_participant :alpha, OpenWFE::NullParticipant
101
+
102
+ fei = @engine.launch Test1
103
+
104
+ sleep 0.350
105
+
106
+ assert ! @engine.process_status(fei.wfid).paused?
107
+
108
+ @engine.pause_process fei.wfid
109
+
110
+ sleep 0.350
111
+
112
+ assert @engine.process_status(fei.wfid).paused?
113
+
114
+ @engine.resume_process fei.wfid
115
+
116
+ assert ! @engine.process_status(fei.wfid).paused?
117
+
118
+ @engine.cancel_process fei.wfid
119
+
120
+ sleep 0.350
121
+ end
122
+
123
+ end
124
+
@@ -0,0 +1,102 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+
8
+ require 'openwfe/def'
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest64a < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def teardown
17
+ #end
18
+
19
+ #def setup
20
+ #end
21
+
22
+
23
+ #
24
+ # TEST 0
25
+
26
+ class Test0 < ProcessDefinition
27
+ sequence do
28
+ participant :bravo
29
+ participant :abracadabra
30
+ end
31
+ end
32
+
33
+ #def xxxx_0
34
+ def test_0
35
+
36
+ @engine.register_participant "a.*" do |workitem|
37
+ @tracer << workitem.participant_name
38
+ @tracer << "\n"
39
+ end
40
+
41
+ @engine.register_participant :bravo, AliasParticipant.new("alpha")
42
+
43
+ dotest(Test0, "alpha\nabracadabra")
44
+ end
45
+
46
+
47
+ #
48
+ # TEST 1
49
+
50
+ class Test1 < ProcessDefinition
51
+ sequence do
52
+ set :v => "toto", :val => "elvis"
53
+ toto
54
+ end
55
+ end
56
+
57
+ def test_1
58
+
59
+ #log_level_to_debug
60
+
61
+ @engine.register_participant "elvis" do
62
+ @tracer << "sivle"
63
+ end
64
+
65
+ dotest(Test1, "sivle")
66
+ end
67
+
68
+
69
+ #
70
+ # TEST 2
71
+
72
+ class Test2 < ProcessDefinition
73
+
74
+ #
75
+ # some aliases
76
+
77
+ set :v => "alice", :val => "elvis"
78
+ set :v => "bob", :val => "elvis"
79
+
80
+ #
81
+ # the body of the process
82
+
83
+ sequence do
84
+ alice
85
+ bob
86
+ end
87
+ end
88
+
89
+ def test_2
90
+
91
+ #log_level_to_debug
92
+
93
+ @engine.register_participant "elvis" do |workitem|
94
+ @tracer << workitem.fei.expression_id
95
+ @tracer << "\n"
96
+ end
97
+
98
+ dotest Test2, "0.2.0\n0.2.1"
99
+ end
100
+
101
+ end
102
+
@@ -0,0 +1,69 @@
1
+
2
+ #
3
+ # Testing OpenWFE
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+
8
+ require 'openwfe/def'
9
+
10
+ require 'flowtestbase'
11
+
12
+
13
+ class FlowTest64 < Test::Unit::TestCase
14
+ include FlowTestBase
15
+
16
+ #def teardown
17
+ #end
18
+
19
+ #def setup
20
+ #end
21
+
22
+
23
+ #
24
+ # TEST 0
25
+
26
+ class Box
27
+
28
+ attr_reader :content
29
+
30
+ def initialize (content)
31
+ @content = content
32
+ end
33
+ end
34
+
35
+ class Test0 < ProcessDefinition
36
+ sequence do
37
+ participant :alpha
38
+ participant :bravo
39
+ _print "ok"
40
+ end
41
+ end
42
+
43
+ #def xxxx_0
44
+ def test_0
45
+
46
+ box1 = nil
47
+
48
+ @engine.register_participant :alpha do |workitem|
49
+ # nothing
50
+ end
51
+
52
+ @engine.register_participant :bravo do |workitem|
53
+
54
+ box1 = OpenWFE::fulldup(workitem.box)
55
+ end
56
+
57
+ box0 = Box.new("books")
58
+
59
+ li = LaunchItem.new(Test0)
60
+ li.box = box0
61
+
62
+ dotest(li, "ok")
63
+
64
+ assert_equal box1.content, "books"
65
+ assert_not_equal box1.object_id, box0.object_id
66
+ end
67
+
68
+ end
69
+
@@ -0,0 +1,59 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+
8
+ require 'flowtestbase'
9
+ require 'openwfe/def'
10
+
11
+
12
+ class FlowTest65 < Test::Unit::TestCase
13
+ include FlowTestBase
14
+
15
+ #def setup
16
+ #end
17
+
18
+ #def teardown
19
+ #end
20
+
21
+
22
+ #
23
+ # Test 0
24
+ #
25
+
26
+ TEST0 = """
27
+ class Test0 < OpenWFE::ProcessDefinition
28
+ _print 'ok.'
29
+ end
30
+ """.strip
31
+
32
+ def test_0
33
+
34
+ launch TEST0
35
+ sleep 0.350
36
+ assert_equal "ok.", @tracer.to_s
37
+ end
38
+
39
+
40
+ #
41
+ # Test 1
42
+ #
43
+
44
+ TEST1 = """
45
+ <process-definition name='65_1' revision='0.1'>
46
+ <print>ok.</print>
47
+ </process-definition>
48
+ """.strip
49
+
50
+ def test_1
51
+
52
+ launch TEST1
53
+
54
+ sleep 0.350
55
+ assert_equal "ok.", @tracer.to_s
56
+ end
57
+
58
+ end
59
+