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,61 @@
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 FlowTest40 < 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
+ class TestDefined40a0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+
29
+ defined :field => "nada"
30
+ _print "${f:__result__}"
31
+
32
+ set :field => "nada", :value => "stuff"
33
+
34
+ defined :field => "nada"
35
+ _print "${f:__result__}"
36
+ defined :field_value => "nada"
37
+ _print "${f:__result__}"
38
+
39
+ defined :field_match => "^na.*"
40
+ _print "${f:__result__}"
41
+ defined :field_match => "^Na.*"
42
+ _print "${f:__result__}"
43
+ defined :field_match => "da$"
44
+ _print "${f:__result__}"
45
+
46
+ undefined :field_value => "nada"
47
+ _print "${f:__result__}"
48
+ undefined :field_value => "other"
49
+ _print "${f:__result__}"
50
+ end
51
+ end
52
+
53
+ def test_0
54
+
55
+ dotest(
56
+ TestDefined40a0,
57
+ %w{ false true true true false true false true }.join("\n"))
58
+ end
59
+
60
+ end
61
+
@@ -0,0 +1,110 @@
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 FlowTest41 < 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
+ class TestCase41a0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+ _case do
29
+ reval "2 % 2 == 0"
30
+ _print "ok 0"
31
+ end
32
+ _case do
33
+ reval "2 % 2 == 1"
34
+ _print "bad 1"
35
+ _print "ok 1"
36
+ end
37
+ _case do
38
+ reval "2 % 2 == 1"
39
+ _print "bad 2"
40
+ reval "2 % 2 == 0"
41
+ _print "ok 2"
42
+ _print "bad 2"
43
+ end
44
+ _case do
45
+ reval "2 % 2 == 1"
46
+ _print "bad 2b"
47
+ reval "2 % 2 == 0"
48
+ _print "ok 2b"
49
+ end
50
+ _case do
51
+ reval "2 % 2 == 1"
52
+ _print "bad 3"
53
+ reval "2 % 2 == 3"
54
+ _print "bad 3"
55
+ _print "ok 3"
56
+ end
57
+ end
58
+ end
59
+
60
+ def test_0
61
+
62
+ dotest(
63
+ TestCase41a0,
64
+ [ 'ok 0', 'ok 1', 'ok 2', 'ok 2b', 'ok 3' ].join("\n"))
65
+ end
66
+
67
+
68
+ #
69
+ # Test 1
70
+ #
71
+
72
+ class TestCase41a1 < OpenWFE::ProcessDefinition
73
+ sequence do
74
+
75
+ _if :test => "1 == 1"
76
+ _print "${f:__result__}"
77
+ end
78
+ end
79
+
80
+ def test_1
81
+
82
+ dotest TestCase41a1, 'true'
83
+ end
84
+
85
+
86
+ #
87
+ # Test 2
88
+ #
89
+
90
+ class TestCase41a2 < OpenWFE::ProcessDefinition
91
+ sequence do
92
+ _case do
93
+ _if :test => "1 == 1"
94
+ _print "ok"
95
+ end
96
+ _case do
97
+ _if :test => "false"
98
+ _print "bad 1"
99
+ _print "ok 1"
100
+ end
101
+ end
102
+ end
103
+
104
+ def test_2
105
+
106
+ dotest TestCase41a2, "ok\nok 1"
107
+ end
108
+
109
+ end
110
+
@@ -0,0 +1,75 @@
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 FlowTest42 < 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
+ class TestCase42a0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+ set :variable => "v", :value => "a"
29
+ concurrence do
30
+ set :variable => "v", :value => "b"
31
+ set :variable => "v", :value => "c"
32
+ forget do
33
+ set :variable => "v", :value => "d"
34
+ end
35
+ end
36
+ _print "v:${v}"
37
+ end
38
+ end
39
+
40
+ def test_0
41
+
42
+ dotest TestCase42a0, [ "v:b", "v:c" ]
43
+ end
44
+
45
+
46
+ #
47
+ # Test 1
48
+ #
49
+
50
+ # DISABLED
51
+
52
+ class TestCase42a1 < OpenWFE::ProcessDefinition
53
+ sequence do
54
+ set :variable => "v", :value => "a"
55
+ concurrence :count => 2 do
56
+ set :variable => "v", :value => "b"
57
+ set :variable => "v", :value => "c"
58
+ lose do
59
+ set :variable => "v", :value => "d"
60
+ end
61
+ end
62
+ _print "v:${v}"
63
+ end
64
+ end
65
+
66
+ def _test_1
67
+
68
+ dotest(
69
+ TestCase42a1,
70
+ "v:d",
71
+ true)
72
+ end
73
+
74
+ end
75
+
@@ -0,0 +1,85 @@
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 FlowTest43 < 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
+ class TestCase43a0 < OpenWFE::ProcessDefinition
27
+ def initialize (jump)
28
+ super()
29
+ @jump = jump
30
+ end
31
+ def make
32
+ process_definition :name => "jump", :revision => "0" do
33
+ sequence do
34
+ set :field => "__cursor_command__", :value => "jump #{@jump}"
35
+ cursor do
36
+ _print "0"
37
+ _print "1"
38
+ _print "2"
39
+ end
40
+ _print "3"
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ def test_0
47
+
48
+ dotest TestCase43a0.new(1), "1\n2\n3"
49
+ end
50
+
51
+ def test_1
52
+
53
+ dotest TestCase43a0.new(2), "2\n3"
54
+ end
55
+
56
+ def test_2
57
+
58
+ dotest TestCase43a0.new(2000), "2\n3"
59
+ end
60
+
61
+
62
+ #
63
+ # Test 3
64
+ #
65
+
66
+ class TestCase43a3 < OpenWFE::ProcessDefinition
67
+ sequence do
68
+ set :field => "__cursor_command__", :value => "jump 2"
69
+ cursor do
70
+ _print "0"
71
+ skip :step => 2
72
+ jump :step => 0
73
+ _print "1"
74
+ end
75
+ _print "2"
76
+ end
77
+ end
78
+
79
+ def test_3
80
+
81
+ dotest TestCase43a3, "0\n1\n2"
82
+ end
83
+
84
+ end
85
+
@@ -0,0 +1,70 @@
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 FlowTest44 < 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
+ class TestCase44a0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+ set :field => "f", :value => "v"
29
+ save :to_field => "saved"
30
+ #pp_workitem
31
+ _print "${f:saved.f}"
32
+ end
33
+ end
34
+
35
+ def test_0
36
+
37
+ dotest TestCase44a0, "v"
38
+ end
39
+
40
+
41
+ #
42
+ # Test 1
43
+ #
44
+
45
+ class TestCase44a1 < OpenWFE::ProcessDefinition
46
+ sequence do
47
+
48
+ set :field => "f", :value => "field_value"
49
+ save :to_variable => "v"
50
+
51
+ #pp_workitem
52
+ #_print "${r:fexp.lookup_variable('v').f}"
53
+ #
54
+ # doesn't work in case of ptest
55
+
56
+ print_var
57
+ end
58
+ end
59
+
60
+ def test_1
61
+
62
+ @engine.register_participant :print_var do |fexp, wi|
63
+ @tracer << fexp.lookup_variable('v').f.to_s
64
+ end
65
+
66
+ dotest TestCase44a1, "field_value"
67
+ end
68
+
69
+ end
70
+
@@ -0,0 +1,212 @@
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 FlowTest44b < 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
+ class TestCase44b0 < OpenWFE::ProcessDefinition
27
+ sequence do
28
+ set :field => "f", :value => "v"
29
+ save :to_field => "saved"
30
+ #pp_workitem
31
+ _print "${f:saved.f}"
32
+ restore :from_field => "saved"
33
+ _print "${f:saved.f}"
34
+ _print "${f:f}"
35
+ end
36
+ end
37
+
38
+ def test_0
39
+
40
+ dotest TestCase44b0, "v\n\nv"
41
+ end
42
+
43
+
44
+ #
45
+ # Test 1
46
+ #
47
+
48
+ class TestCase44b1 < OpenWFE::ProcessDefinition
49
+ sequence do
50
+ set :field => "f", :value => "field_value"
51
+ save :to_variable => "v"
52
+ #pp_workitem
53
+ set :field => "f", :value => "field_value_x"
54
+ _print "${f:f}"
55
+ restore :from_variable => "v"
56
+ _print "${f:f}"
57
+ end
58
+ end
59
+
60
+ def test_1
61
+
62
+ dotest TestCase44b1, "field_value_x\nfield_value"
63
+ end
64
+
65
+
66
+ #
67
+ # Test 2
68
+ #
69
+
70
+ class TestCase44b2 < OpenWFE::ProcessDefinition
71
+ sequence do
72
+ set :field => "f", :value => "field_value"
73
+ save :to_variable => "v"
74
+ restore :from_variable => :v, :to_field => :f1
75
+ #pp_workitem
76
+ _print "${f:f1.f}"
77
+ end
78
+ end
79
+
80
+ def test_2
81
+
82
+ dotest TestCase44b2, "field_value"
83
+ end
84
+
85
+
86
+ #
87
+ # Test 3
88
+ #
89
+
90
+ class TestCase44b3 < OpenWFE::ProcessDefinition
91
+ sequence do
92
+ set :field => "f0", :value => "value_a"
93
+ save :to_variable => "v"
94
+ set :field => "f0", :value => "value_aa"
95
+ set :field => "f1", :value => "value_b"
96
+ restore :from_variable => :v, :merge_lead => :current
97
+ #pp_workitem
98
+ _print "${f:f0}"
99
+ _print "${f:f1}"
100
+ end
101
+ end
102
+
103
+ def test_3
104
+
105
+ dotest TestCase44b3, "value_aa\nvalue_b"
106
+ end
107
+
108
+
109
+ #
110
+ # Test 4
111
+ #
112
+
113
+ class TestCase44b4 < OpenWFE::ProcessDefinition
114
+ sequence do
115
+ set :field => "f0", :value => "value_a"
116
+ save :to_variable => "v"
117
+ set :field => "f0", :value => "value_aa"
118
+ set :field => "f1", :value => "value_b"
119
+ restore :from_variable => :v, :merge_lead => :restored
120
+ #pp_workitem
121
+ _print "${f:f0}"
122
+ _print "${f:f1}"
123
+ end
124
+ end
125
+
126
+ def test_4
127
+
128
+ dotest TestCase44b4, "value_a\nvalue_b"
129
+ end
130
+
131
+ # tests about set_fields...
132
+
133
+ #
134
+ # Test 5
135
+ #
136
+
137
+ class Test44b5 < OpenWFE::ProcessDefinition
138
+ sequence do
139
+ set_fields :value => {
140
+ "customer" => { "name" => "Zigue", "age" => 34 },
141
+ "approved" => false }
142
+ _print "${f:customer.name} (${f:customer.age}) ${f:approved}"
143
+ #pp_fields
144
+ end
145
+ end
146
+
147
+ def test_5
148
+
149
+ dotest Test44b5, "Zigue (34) false"
150
+ end
151
+
152
+ #
153
+ # Test 6
154
+ #
155
+
156
+ class Test44b6 < OpenWFE::ProcessDefinition
157
+ set_fields :value => {
158
+ "customer" => { "name" => "Zigue", "age" => 34 },
159
+ "approved" => false }
160
+ sequence do
161
+ _print "${f:customer.name} (${f:customer.age}) ${f:approved}"
162
+ end
163
+ end
164
+
165
+ def test_6
166
+
167
+ dotest Test44b6, "Zigue (34) false"
168
+ end
169
+
170
+ #
171
+ # Test 7
172
+ #
173
+
174
+ class Test44b7 < OpenWFE::ProcessDefinition
175
+ set_fields do
176
+ {
177
+ "customer" => { "name" => "Zigue", "age" => 34 },
178
+ "approved" => false
179
+ }
180
+ end
181
+ sequence do
182
+ _print "${f:customer.name} (${f:customer.age}) ${f:approved}"
183
+ end
184
+ end
185
+
186
+ def _test_7
187
+
188
+ dotest Test44b7, "Zigue (34) false"
189
+ end
190
+
191
+ #
192
+ # Test 8
193
+ #
194
+
195
+ class Test44b8 < OpenWFE::ProcessDefinition
196
+ set_fields :value => {
197
+ "customer" => { "name" => "Zigue", "age" => 34 },
198
+ "approved" => false }, :merge_lead => :current
199
+ sequence do
200
+ _print "${f:customer.name} (${f:customer.age}) ${f:approved}"
201
+ end
202
+ end
203
+
204
+ def test_8
205
+
206
+ li = LaunchItem.new Test44b8
207
+ li.approved = true
208
+ dotest li, "Zigue (34) true"
209
+ end
210
+
211
+ end
212
+