openwferu 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/README +47 -0
  2. data/lib/codec.rb +571 -0
  3. data/lib/controlclient.rb +115 -0
  4. data/lib/definitions.rb +112 -0
  5. data/lib/exception.rb +60 -0
  6. data/lib/flowexpressionid.rb +137 -0
  7. data/lib/openwferu.rb +43 -0
  8. data/lib/osocket.rb +138 -0
  9. data/lib/otime.rb +171 -0
  10. data/lib/restclient.rb +155 -0
  11. data/lib/ru/contextual.rb +63 -0
  12. data/lib/ru/dollar.rb +163 -0
  13. data/lib/ru/engine.rb +130 -0
  14. data/lib/ru/environment.rb +140 -0
  15. data/lib/ru/expressionmap.rb +120 -0
  16. data/lib/ru/expressionpool.rb +339 -0
  17. data/lib/ru/expressionstorage.rb +97 -0
  18. data/lib/ru/fe_base.rb +105 -0
  19. data/lib/ru/fe_concurrence.rb +122 -0
  20. data/lib/ru/fe_define.rb +101 -0
  21. data/lib/ru/fe_misc.rb +96 -0
  22. data/lib/ru/fe_participant.rb +75 -0
  23. data/lib/ru/fe_raw.rb +173 -0
  24. data/lib/ru/fe_subprocess.rb +84 -0
  25. data/lib/ru/fe_time.rb +135 -0
  26. data/lib/ru/fe_utils.rb +123 -0
  27. data/lib/ru/fe_value.rb +225 -0
  28. data/lib/ru/flowexpression.rb +250 -0
  29. data/lib/ru/logging.rb +85 -0
  30. data/lib/ru/participant.rb +67 -0
  31. data/lib/ru/participantmap.rb +93 -0
  32. data/lib/ru/participants.rb +74 -0
  33. data/lib/ru/rudefinitions.rb +70 -0
  34. data/lib/ru/ruutils.rb +68 -0
  35. data/lib/ru/scheduler.rb +478 -0
  36. data/lib/ru/schedulers.rb +63 -0
  37. data/lib/ru/service.rb +64 -0
  38. data/lib/test.rb +220 -0
  39. data/lib/utils.rb +94 -0
  40. data/lib/workitem.rb +250 -0
  41. data/lib/worklistclient.rb +276 -0
  42. data/test/dollartest.rb +79 -0
  43. data/test/feitest.rb +130 -0
  44. data/test/flowtestbase.rb +86 -0
  45. data/test/ft_0.rb +161 -0
  46. data/test/ft_1_unset.rb +152 -0
  47. data/test/ft_2_concurrence.rb +34 -0
  48. data/test/ft_3_equals.rb +84 -0
  49. data/test/ft_4_misc.rb +128 -0
  50. data/test/ft_5_time.rb +56 -0
  51. data/test/misctest.rb +46 -0
  52. data/test/runtest.rb +21 -0
  53. data/test/rutest_utils.rb +15 -0
  54. data/test/timetest.rb +111 -0
  55. metadata +100 -0
data/test/timetest.rb ADDED
@@ -0,0 +1,111 @@
1
+
2
+ #
3
+ # Testing OpenWFEru
4
+ #
5
+ # John Mettraux at openwfe.org
6
+ #
7
+ # Sun Oct 29 16:18:25 JST 2006
8
+ #
9
+
10
+ require 'test/unit'
11
+ require 'otime'
12
+ require 'ru/scheduler'
13
+
14
+ #
15
+ # testing otime and the scheduler
16
+ #
17
+
18
+ class TimeTest < Test::Unit::TestCase
19
+
20
+ #def setup
21
+ #end
22
+
23
+ #def teardown
24
+ #end
25
+
26
+ def test_is_digit
27
+
28
+ for i in 0...9
29
+ si = "#{i}"
30
+ assert \
31
+ OpenWFE::is_digit?(si),
32
+ "'#{si}' should be a digit"
33
+ end
34
+
35
+ assert \
36
+ (not OpenWFE::is_digit?(1)),
37
+ "the integer 1 is not a character digit"
38
+ assert \
39
+ (not OpenWFE::is_digit?("a")),
40
+ "the character 'a' is not a character digit"
41
+ end
42
+
43
+ def test_parse_time_string
44
+
45
+ pts("1000", 1.0)
46
+ pts("1h", 3600.0)
47
+ pts("1h10s", 3610.0)
48
+ end
49
+
50
+ def test_scheduler_0
51
+
52
+ $var = nil
53
+
54
+ scheduler = OpenWFEru::Scheduler.new()
55
+ scheduler.start
56
+
57
+ scheduler.schedule_in('2s', TestSchedulable.new, nil)
58
+
59
+ sleep(2.5)
60
+ scheduler.stop
61
+
62
+ #puts ">#{$var}<"
63
+
64
+ assert \
65
+ ($var == "ok"),
66
+ "scheduler_0 didn't work"
67
+ end
68
+
69
+ def test_cron_0
70
+ $var = 0
71
+
72
+ scheduler = OpenWFEru::Scheduler.new()
73
+ scheduler.start
74
+
75
+ scheduler.schedule('* * * * *', CounterSchedulable.new, nil)
76
+
77
+ sleep(120)
78
+ scheduler.stop
79
+
80
+ #puts ">#{$var}<"
81
+
82
+ assert \
83
+ ($var == 2),
84
+ "cron_0 failed, $var is #{$var}"
85
+ end
86
+
87
+ protected
88
+
89
+ class TestSchedulable
90
+ include OpenWFEru::Schedulable
91
+
92
+ def trigger (params)
93
+ $var = "ok"
94
+ end
95
+ end
96
+
97
+ class CounterSchedulable
98
+ include OpenWFEru::Schedulable
99
+
100
+ def trigger (params)
101
+ $var = $var + 1
102
+ end
103
+ end
104
+
105
+ def pts (time_string, seconds)
106
+ assert \
107
+ (OpenWFE::parse_time_string(time_string) == seconds),
108
+ "'#{time_string}' did not map to #{seconds} seconds"
109
+ end
110
+
111
+ end
metadata ADDED
@@ -0,0 +1,100 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: openwferu
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.9.0
7
+ date: 2006-11-29 00:00:00 +09:00
8
+ summary: An OpenWFE-compatible workflow engine in Ruby
9
+ require_paths:
10
+ - lib
11
+ email: john at openwfe dot org
12
+ homepage: http://rubyforge.org/projects/openwferu
13
+ rubyforge_project:
14
+ description:
15
+ autorequire: openwferu
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - John Mettraux
31
+ files:
32
+ - lib/ru
33
+ - lib/exception.rb
34
+ - lib/codec.rb
35
+ - lib/otime.rb
36
+ - lib/worklistclient.rb
37
+ - lib/controlclient.rb
38
+ - lib/test.rb
39
+ - lib/utils.rb
40
+ - lib/workitem.rb
41
+ - lib/flowexpressionid.rb
42
+ - lib/osocket.rb
43
+ - lib/definitions.rb
44
+ - lib/restclient.rb
45
+ - lib/openwferu.rb
46
+ - lib/ru/participant.rb
47
+ - lib/ru/dollar.rb
48
+ - lib/ru/rudefinitions.rb
49
+ - lib/ru/scheduler.rb
50
+ - lib/ru/fe_concurrence.rb
51
+ - lib/ru/fe_base.rb
52
+ - lib/ru/expressionstorage.rb
53
+ - lib/ru/contextual.rb
54
+ - lib/ru/fe_value.rb
55
+ - lib/ru/logging.rb
56
+ - lib/ru/flowexpression.rb
57
+ - lib/ru/fe_participant.rb
58
+ - lib/ru/expressionpool.rb
59
+ - lib/ru/expressionmap.rb
60
+ - lib/ru/service.rb
61
+ - lib/ru/participants.rb
62
+ - lib/ru/schedulers.rb
63
+ - lib/ru/fe_subprocess.rb
64
+ - lib/ru/fe_raw.rb
65
+ - lib/ru/fe_define.rb
66
+ - lib/ru/environment.rb
67
+ - lib/ru/fe_misc.rb
68
+ - lib/ru/engine.rb
69
+ - lib/ru/ruutils.rb
70
+ - lib/ru/fe_time.rb
71
+ - lib/ru/fe_utils.rb
72
+ - lib/ru/participantmap.rb
73
+ - test/ft_2_concurrence.rb
74
+ - test/dollartest.rb
75
+ - test/timetest.rb
76
+ - test/flowtestbase.rb
77
+ - test/feitest.rb
78
+ - test/runtest.rb
79
+ - test/ft_3_equals.rb
80
+ - test/rutest_utils.rb
81
+ - test/ft_1_unset.rb
82
+ - test/ft_4_misc.rb
83
+ - test/ft_0.rb
84
+ - test/ft_5_time.rb
85
+ - test/misctest.rb
86
+ - README
87
+ test_files:
88
+ - test/runtest.rb
89
+ rdoc_options: []
90
+
91
+ extra_rdoc_files:
92
+ - README
93
+ executables: []
94
+
95
+ extensions: []
96
+
97
+ requirements: []
98
+
99
+ dependencies: []
100
+