openwferu 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +4 -5
- data/lib/openwfe/engine/engine.rb +14 -14
- data/lib/openwfe/expool/expressionpool.rb +60 -45
- data/lib/openwfe/expool/expstorage.rb +1 -1
- data/lib/openwfe/expressions/condition.rb +47 -34
- data/lib/openwfe/expressions/environment.rb +29 -7
- data/lib/openwfe/expressions/expressionmap.rb +16 -1
- data/lib/openwfe/expressions/fe_concurrence.rb +142 -55
- data/lib/openwfe/expressions/fe_cursor.rb +146 -41
- data/lib/openwfe/expressions/fe_define.rb +52 -35
- data/lib/openwfe/expressions/fe_filter.rb +129 -0
- data/lib/openwfe/expressions/fe_filter_definition.rb +170 -0
- data/lib/openwfe/expressions/fe_iterator.rb +23 -10
- data/lib/openwfe/expressions/fe_losfor.rb +7 -6
- data/lib/openwfe/expressions/fe_participant.rb +19 -9
- data/lib/openwfe/expressions/fe_raw.rb +11 -16
- data/lib/openwfe/expressions/fe_save.rb +225 -0
- data/lib/openwfe/expressions/fe_sequence.rb +15 -10
- data/lib/openwfe/expressions/fe_subprocess.rb +0 -6
- data/lib/openwfe/expressions/fe_value.rb +7 -19
- data/lib/openwfe/expressions/filter.rb +104 -0
- data/lib/openwfe/expressions/flowexpression.rb +102 -36
- data/lib/openwfe/expressions/merge.rb +80 -0
- data/lib/openwfe/expressions/raw_prog.rb +21 -18
- data/lib/openwfe/filterdef.rb +259 -0
- data/lib/openwfe/flowexpressionid.rb +36 -3
- data/lib/openwfe/participants/participants.rb +7 -1
- data/lib/openwfe/rest/xmlcodec.rb +1 -1
- data/lib/openwfe/util/dollar.rb +4 -2
- data/lib/openwfe/util/scheduler.rb +3 -1
- data/lib/openwfe/util/sqs.rb +1 -2
- data/lib/openwfe/utils.rb +13 -0
- data/lib/openwfe/version.rb +1 -1
- data/lib/openwfe/workitem.rb +1 -1
- data/test/filter_test.rb +109 -0
- data/test/flowtestbase.rb +12 -1
- data/test/ft_11_ppd.rb +13 -1
- data/test/ft_11b_ppd.rb +45 -0
- data/test/ft_17_condition.rb +1 -1
- data/test/ft_2b_concurrence.rb +24 -0
- data/test/ft_2c_concurrence.rb +22 -1
- data/test/ft_3_equals.rb +26 -0
- data/test/ft_42_environments.rb +78 -0
- data/test/ft_43_pat10.rb +109 -0
- data/test/ft_44_save.rb +81 -0
- data/test/ft_44b_restore.rb +159 -0
- data/test/ft_45_citerator.rb +104 -0
- data/test/ft_46_pparams.rb +62 -0
- data/test/ft_47_filter.rb +165 -0
- data/test/ft_48_fe_filter.rb +91 -0
- data/test/ft_49_condition.rb +65 -0
- data/test/ft_50_xml_attribute.rb +89 -0
- data/test/ft_9_cursor.rb +36 -6
- data/test/ft_tests.rb +11 -1
- data/test/misc_test.rb +8 -0
- data/test/rake_qtest.rb +2 -2
- data/test/rutest_utils.rb +6 -1
- data/test/sec_test.rb +2 -2
- metadata +20 -2
data/test/ft_43_pat10.rb
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# Testing OpenWFEru
|
4
|
+
#
|
5
|
+
# John Mettraux at openwfe.org
|
6
|
+
#
|
7
|
+
|
8
|
+
require 'flowtestbase'
|
9
|
+
require 'openwfe/def'
|
10
|
+
|
11
|
+
include OpenWFE
|
12
|
+
|
13
|
+
|
14
|
+
class FlowTest43 < Test::Unit::TestCase
|
15
|
+
include FlowTestBase
|
16
|
+
|
17
|
+
#def setup
|
18
|
+
#end
|
19
|
+
|
20
|
+
#def teardown
|
21
|
+
#end
|
22
|
+
|
23
|
+
|
24
|
+
#
|
25
|
+
# Test 0
|
26
|
+
#
|
27
|
+
|
28
|
+
class TestCase43a0 < ProcessDefinition
|
29
|
+
def initialize (jump)
|
30
|
+
super()
|
31
|
+
@jump = jump
|
32
|
+
end
|
33
|
+
def make
|
34
|
+
process_definition :name => "jump", :revision => "0" do
|
35
|
+
sequence do
|
36
|
+
set :field => "__cursor_command__", :value => "jump #{@jump}"
|
37
|
+
cursor do
|
38
|
+
_print "0"
|
39
|
+
_print "1"
|
40
|
+
_print "2"
|
41
|
+
end
|
42
|
+
_print "3"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
#def xxxx_0
|
49
|
+
def test_0
|
50
|
+
dotest(
|
51
|
+
TestCase43a0.new(1),
|
52
|
+
"""
|
53
|
+
1
|
54
|
+
2
|
55
|
+
3
|
56
|
+
""".strip)
|
57
|
+
end
|
58
|
+
|
59
|
+
#def xxxx_1
|
60
|
+
def test_1
|
61
|
+
dotest(
|
62
|
+
TestCase43a0.new(2),
|
63
|
+
"""
|
64
|
+
2
|
65
|
+
3
|
66
|
+
""".strip)
|
67
|
+
end
|
68
|
+
|
69
|
+
#def xxxx_2
|
70
|
+
def test_2
|
71
|
+
dotest(
|
72
|
+
TestCase43a0.new(2000),
|
73
|
+
"""
|
74
|
+
2
|
75
|
+
3
|
76
|
+
""".strip)
|
77
|
+
end
|
78
|
+
|
79
|
+
|
80
|
+
#
|
81
|
+
# Test 3
|
82
|
+
#
|
83
|
+
|
84
|
+
class TestCase43a3 < ProcessDefinition
|
85
|
+
sequence do
|
86
|
+
set :field => "__cursor_command__", :value => "jump 2"
|
87
|
+
cursor do
|
88
|
+
_print "0"
|
89
|
+
skip :step => 2
|
90
|
+
jump :step => 0
|
91
|
+
_print "1"
|
92
|
+
end
|
93
|
+
_print "2"
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
#def xxxx_3
|
98
|
+
def test_3
|
99
|
+
dotest(
|
100
|
+
TestCase43a3,
|
101
|
+
"""
|
102
|
+
0
|
103
|
+
1
|
104
|
+
2
|
105
|
+
""".strip)
|
106
|
+
end
|
107
|
+
|
108
|
+
end
|
109
|
+
|
data/test/ft_44_save.rb
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# Testing OpenWFEru
|
4
|
+
#
|
5
|
+
# John Mettraux at openwfe.org
|
6
|
+
#
|
7
|
+
|
8
|
+
require 'flowtestbase'
|
9
|
+
require 'openwfe/def'
|
10
|
+
|
11
|
+
include OpenWFE
|
12
|
+
|
13
|
+
|
14
|
+
class FlowTest44 < Test::Unit::TestCase
|
15
|
+
include FlowTestBase
|
16
|
+
|
17
|
+
#def setup
|
18
|
+
#end
|
19
|
+
|
20
|
+
#def teardown
|
21
|
+
#end
|
22
|
+
|
23
|
+
|
24
|
+
#
|
25
|
+
# Test 0
|
26
|
+
#
|
27
|
+
|
28
|
+
class TestCase44a0 < ProcessDefinition
|
29
|
+
sequence do
|
30
|
+
set :field => "f", :value => "v"
|
31
|
+
save :to_field => "saved"
|
32
|
+
#pp_workitem
|
33
|
+
_print "${f:saved.f}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
#def xxxx_0
|
38
|
+
def test_0
|
39
|
+
dotest(
|
40
|
+
TestCase44a0,
|
41
|
+
"""
|
42
|
+
v
|
43
|
+
""".strip)
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
#
|
48
|
+
# Test 1
|
49
|
+
#
|
50
|
+
|
51
|
+
class TestCase44a1 < ProcessDefinition
|
52
|
+
sequence do
|
53
|
+
|
54
|
+
set :field => "f", :value => "field_value"
|
55
|
+
save :to_variable => "v"
|
56
|
+
|
57
|
+
#pp_workitem
|
58
|
+
#_print "${r:fexp.lookup_variable('v').f}"
|
59
|
+
#
|
60
|
+
# doesn't work in case of ptest
|
61
|
+
|
62
|
+
print_var
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
#def xxxx_1
|
67
|
+
def test_1
|
68
|
+
|
69
|
+
@engine.register_participant :print_var do |fexp, wi|
|
70
|
+
@tracer << fexp.lookup_variable('v').f.to_s
|
71
|
+
end
|
72
|
+
|
73
|
+
dotest(
|
74
|
+
TestCase44a1,
|
75
|
+
"""
|
76
|
+
field_value
|
77
|
+
""".strip)
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
@@ -0,0 +1,159 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# Testing OpenWFEru
|
4
|
+
#
|
5
|
+
# John Mettraux at openwfe.org
|
6
|
+
#
|
7
|
+
|
8
|
+
require 'flowtestbase'
|
9
|
+
require 'openwfe/def'
|
10
|
+
|
11
|
+
include OpenWFE
|
12
|
+
|
13
|
+
|
14
|
+
class FlowTest44b < Test::Unit::TestCase
|
15
|
+
include FlowTestBase
|
16
|
+
|
17
|
+
#def setup
|
18
|
+
#end
|
19
|
+
|
20
|
+
#def teardown
|
21
|
+
#end
|
22
|
+
|
23
|
+
|
24
|
+
#
|
25
|
+
# Test 0
|
26
|
+
#
|
27
|
+
|
28
|
+
class TestCase44b0 < ProcessDefinition
|
29
|
+
sequence do
|
30
|
+
set :field => "f", :value => "v"
|
31
|
+
save :to_field => "saved"
|
32
|
+
#pp_workitem
|
33
|
+
_print "${f:saved.f}"
|
34
|
+
restore :from_field => "saved"
|
35
|
+
_print "${f:saved.f}"
|
36
|
+
_print "${f:f}"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
#def xxxx_0
|
41
|
+
def test_0
|
42
|
+
dotest(
|
43
|
+
TestCase44b0,
|
44
|
+
"""
|
45
|
+
v
|
46
|
+
|
47
|
+
v
|
48
|
+
""".strip)
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
#
|
53
|
+
# Test 1
|
54
|
+
#
|
55
|
+
|
56
|
+
class TestCase44b1 < ProcessDefinition
|
57
|
+
sequence do
|
58
|
+
set :field => "f", :value => "field_value"
|
59
|
+
save :to_variable => "v"
|
60
|
+
#pp_workitem
|
61
|
+
set :field => "f", :value => "field_value_x"
|
62
|
+
_print "${f:f}"
|
63
|
+
restore :from_variable => "v"
|
64
|
+
_print "${f:f}"
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
#def xxxx_1
|
69
|
+
def test_1
|
70
|
+
dotest(
|
71
|
+
TestCase44b1,
|
72
|
+
"""
|
73
|
+
field_value_x
|
74
|
+
field_value
|
75
|
+
""".strip)
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
#
|
80
|
+
# Test 2
|
81
|
+
#
|
82
|
+
|
83
|
+
class TestCase44b2 < ProcessDefinition
|
84
|
+
sequence do
|
85
|
+
set :field => "f", :value => "field_value"
|
86
|
+
save :to_variable => "v"
|
87
|
+
restore :from_variable => :v, :to_field => :f1
|
88
|
+
#pp_workitem
|
89
|
+
_print "${f:f1.f}"
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
#def xxxx_2
|
94
|
+
def test_2
|
95
|
+
dotest(
|
96
|
+
TestCase44b2,
|
97
|
+
"""
|
98
|
+
field_value
|
99
|
+
""".strip)
|
100
|
+
end
|
101
|
+
|
102
|
+
|
103
|
+
#
|
104
|
+
# Test 3
|
105
|
+
#
|
106
|
+
|
107
|
+
class TestCase44b3 < ProcessDefinition
|
108
|
+
sequence do
|
109
|
+
set :field => "f0", :value => "value_a"
|
110
|
+
save :to_variable => "v"
|
111
|
+
set :field => "f0", :value => "value_aa"
|
112
|
+
set :field => "f1", :value => "value_b"
|
113
|
+
restore :from_variable => :v, :merge_lead => :current
|
114
|
+
#pp_workitem
|
115
|
+
_print "${f:f0}"
|
116
|
+
_print "${f:f1}"
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
#def xxxx_3
|
121
|
+
def test_3
|
122
|
+
dotest(
|
123
|
+
TestCase44b3,
|
124
|
+
"""
|
125
|
+
value_aa
|
126
|
+
value_b
|
127
|
+
""".strip)
|
128
|
+
end
|
129
|
+
|
130
|
+
|
131
|
+
#
|
132
|
+
# Test 4
|
133
|
+
#
|
134
|
+
|
135
|
+
class TestCase44b4 < ProcessDefinition
|
136
|
+
sequence do
|
137
|
+
set :field => "f0", :value => "value_a"
|
138
|
+
save :to_variable => "v"
|
139
|
+
set :field => "f0", :value => "value_aa"
|
140
|
+
set :field => "f1", :value => "value_b"
|
141
|
+
restore :from_variable => :v, :merge_lead => :restored
|
142
|
+
#pp_workitem
|
143
|
+
_print "${f:f0}"
|
144
|
+
_print "${f:f1}"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
#def xxxx_4
|
149
|
+
def test_4
|
150
|
+
dotest(
|
151
|
+
TestCase44b4,
|
152
|
+
"""
|
153
|
+
value_a
|
154
|
+
value_b
|
155
|
+
""".strip)
|
156
|
+
end
|
157
|
+
|
158
|
+
end
|
159
|
+
|
@@ -0,0 +1,104 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# Testing OpenWFEru
|
4
|
+
#
|
5
|
+
# John Mettraux at openwfe.org
|
6
|
+
#
|
7
|
+
|
8
|
+
require 'flowtestbase'
|
9
|
+
require 'openwfe/def'
|
10
|
+
|
11
|
+
include OpenWFE
|
12
|
+
|
13
|
+
|
14
|
+
class FlowTest45 < Test::Unit::TestCase
|
15
|
+
include FlowTestBase
|
16
|
+
|
17
|
+
#def setup
|
18
|
+
#end
|
19
|
+
|
20
|
+
#def teardown
|
21
|
+
#end
|
22
|
+
|
23
|
+
|
24
|
+
#
|
25
|
+
# Test 0
|
26
|
+
#
|
27
|
+
|
28
|
+
class TestCase45a0 < ProcessDefinition
|
29
|
+
sequence do
|
30
|
+
concurrent_iterator :on_value => "1, 2", :to_variable => "v" do
|
31
|
+
_print "${r:fei.sub_instance_id} - ${v}"
|
32
|
+
end
|
33
|
+
_print "done."
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
#def xxxx_0
|
38
|
+
def test_0
|
39
|
+
dotest(
|
40
|
+
TestCase45a0,
|
41
|
+
"""
|
42
|
+
.0 - 1
|
43
|
+
.1 - 2
|
44
|
+
done.
|
45
|
+
""".strip)
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
#
|
50
|
+
# Test 1
|
51
|
+
#
|
52
|
+
|
53
|
+
class TestCase45a1 < ProcessDefinition
|
54
|
+
sequence do
|
55
|
+
concurrent_iterator :on_value => "1, 2", :to_field => "f" do
|
56
|
+
_print "${r:fei.sub_instance_id} - ${f:f}"
|
57
|
+
end
|
58
|
+
_print "done."
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
#def xxxx_1
|
63
|
+
def test_1
|
64
|
+
dotest(
|
65
|
+
TestCase45a1,
|
66
|
+
"""
|
67
|
+
.0 - 1
|
68
|
+
.1 - 2
|
69
|
+
done.
|
70
|
+
""".strip)
|
71
|
+
end
|
72
|
+
|
73
|
+
#
|
74
|
+
# Test 2
|
75
|
+
#
|
76
|
+
|
77
|
+
class TestCase45a2 < ProcessDefinition
|
78
|
+
sequence do
|
79
|
+
concurrent_iterator \
|
80
|
+
:on_value => "1, 2",
|
81
|
+
:to_field => "f",
|
82
|
+
:over_if => "${f:__ip__} == 0" do
|
83
|
+
|
84
|
+
_print "${r:fei.sub_instance_id} - ${f:f}"
|
85
|
+
end
|
86
|
+
_print "done."
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# test 'parked' for now
|
91
|
+
|
92
|
+
def xxxx_2
|
93
|
+
#def test_2
|
94
|
+
dotest(
|
95
|
+
TestCase45a2,
|
96
|
+
"""
|
97
|
+
.0 - 1
|
98
|
+
.1 - 2
|
99
|
+
done.
|
100
|
+
""".strip)
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
|