resque_jobs_tree 0.3.2 → 0.3.3
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.
- data/lib/resque_jobs_tree/job.rb +1 -1
- data/lib/resque_jobs_tree/version.rb +1 -1
- data/test/node_test.rb +6 -6
- data/test/test_helper.rb +2 -17
- data/test/tree_test.rb +45 -5
- metadata +1 -1
data/lib/resque_jobs_tree/job.rb
CHANGED
data/test/node_test.rb
CHANGED
@@ -123,7 +123,7 @@ class NodeTest < MiniTest::Unit::TestCase
|
|
123
123
|
def test_launch_continue_on_failure
|
124
124
|
tree = ResqueJobsTree::Factory.create :tree1 do
|
125
125
|
root :job1 do
|
126
|
-
perform { raise 'an
|
126
|
+
perform { raise ExpectedException, 'an expected failure' }
|
127
127
|
childs { [:job2] }
|
128
128
|
node :job2, continue_on_failure: true do
|
129
129
|
perform { raise 'an expected failure' }
|
@@ -131,7 +131,7 @@ class NodeTest < MiniTest::Unit::TestCase
|
|
131
131
|
end
|
132
132
|
end
|
133
133
|
resources = [1, 2, 3]
|
134
|
-
assert_raises
|
134
|
+
assert_raises ExpectedException do
|
135
135
|
tree.launch resources
|
136
136
|
end
|
137
137
|
assert_equal [], Resque.keys
|
@@ -143,12 +143,12 @@ class NodeTest < MiniTest::Unit::TestCase
|
|
143
143
|
perform {}
|
144
144
|
childs { [:job2] }
|
145
145
|
node :job2 do
|
146
|
-
perform { raise 'an
|
146
|
+
perform { raise ExpectedException, 'an expected exception'}
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
150
150
|
resources = [1, 2, 3]
|
151
|
-
assert_raises
|
151
|
+
assert_raises ExpectedException do
|
152
152
|
tree.launch *resources
|
153
153
|
end
|
154
154
|
assert_equal [], Resque.keys
|
@@ -157,7 +157,7 @@ class NodeTest < MiniTest::Unit::TestCase
|
|
157
157
|
def test_root_failure
|
158
158
|
tree = ResqueJobsTree::Factory.create :tree1 do
|
159
159
|
root :job1 do
|
160
|
-
perform { raise 'an
|
160
|
+
perform { raise ExpectedException, 'an expected exception' }
|
161
161
|
childs { [:job2] }
|
162
162
|
node :job2 do
|
163
163
|
perform {}
|
@@ -165,7 +165,7 @@ class NodeTest < MiniTest::Unit::TestCase
|
|
165
165
|
end
|
166
166
|
end
|
167
167
|
resources = [1, 2, 3]
|
168
|
-
assert_raises
|
168
|
+
assert_raises ExpectedException do
|
169
169
|
tree.launch resources
|
170
170
|
end
|
171
171
|
assert_equal [], Resque.keys
|
data/test/test_helper.rb
CHANGED
@@ -32,22 +32,7 @@ class Model
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
|
36
|
-
# Run resque callbacks in inline mode
|
37
|
-
class ResqueJobsTree::Job
|
38
|
-
class << self
|
39
|
-
def perform_with_hook *args
|
40
|
-
begin
|
41
|
-
perform_without_hook *args
|
42
|
-
after_perform_enqueue_parent *args
|
43
|
-
rescue => exception
|
44
|
-
on_failure_cleanup exception, *args
|
45
|
-
end
|
46
|
-
end
|
47
|
-
alias_method :perform_without_hook, :perform
|
48
|
-
alias_method :perform, :perform_with_hook
|
49
|
-
end
|
50
|
-
end
|
35
|
+
class ExpectedException < Exception ; end
|
51
36
|
|
52
37
|
class MiniTest::Unit::TestCase
|
53
38
|
|
@@ -84,7 +69,7 @@ class MiniTest::Unit::TestCase
|
|
84
69
|
def create_nested_tree
|
85
70
|
@tree = ResqueJobsTree::Factory.create :tree1 do
|
86
71
|
root :job1 do
|
87
|
-
perform { raise 'job1' }
|
72
|
+
perform { raise ExpectedException, 'job1' }
|
88
73
|
childs { [ [:job2] ] }
|
89
74
|
node :job2, continue_on_failure: true do
|
90
75
|
perform { raise 'job2' }
|
data/test/tree_test.rb
CHANGED
@@ -50,7 +50,7 @@ class TreeTest < MiniTest::Unit::TestCase
|
|
50
50
|
|
51
51
|
def test_on_failure
|
52
52
|
create_tree_with_on_failure_hook
|
53
|
-
assert_raises
|
53
|
+
assert_raises ExpectedException do
|
54
54
|
@tree.launch
|
55
55
|
end
|
56
56
|
end
|
@@ -62,21 +62,61 @@ class TreeTest < MiniTest::Unit::TestCase
|
|
62
62
|
|
63
63
|
def test_nested_tree
|
64
64
|
create_nested_tree
|
65
|
-
|
66
|
-
|
65
|
+
assert_raises RuntimeError do # job4 error !
|
66
|
+
@tree.launch
|
67
|
+
end
|
68
|
+
assert_raises NoMethodError do # job3 error !
|
67
69
|
Resque.enqueue_to 'tree1', ResqueJobsTree::Job, 'tree1', 'job3'
|
68
70
|
end
|
69
71
|
end
|
70
72
|
|
73
|
+
def test_async_tree
|
74
|
+
tree = ResqueJobsTree::Factory.create :tree1 do
|
75
|
+
root :job1 do
|
76
|
+
perform { raise 'should not arrive here' }
|
77
|
+
childs { [ [:job2], [:job3] ] }
|
78
|
+
node :job2, async: true do
|
79
|
+
perform {}
|
80
|
+
end
|
81
|
+
node :job3 do
|
82
|
+
perform {}
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
tree.launch
|
87
|
+
assert_equal ["ResqueJobsTree:Node:[\"tree1\",\"job2\"]"],
|
88
|
+
Resque.redis.smembers("ResqueJobsTree:Node:[\"tree1\",\"job1\"]:childs")
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_async_tree_with_fail
|
92
|
+
tree = ResqueJobsTree::Factory.create :tree1 do
|
93
|
+
root :job1 do
|
94
|
+
perform { raise 'should not arrive here' }
|
95
|
+
childs { [ [:job2], [:job3] ] }
|
96
|
+
node :job2, async: true do
|
97
|
+
perform {}
|
98
|
+
end
|
99
|
+
node :job3, continue_on_failure: true do
|
100
|
+
perform { raise ExpectedException, 'an expected failure' }
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
assert_raises ExpectedException do
|
105
|
+
tree.launch
|
106
|
+
end
|
107
|
+
assert_equal ["ResqueJobsTree:Node:[\"tree1\",\"job2\"]"],
|
108
|
+
Resque.redis.smembers("ResqueJobsTree:Node:[\"tree1\",\"job1\"]:childs")
|
109
|
+
end
|
110
|
+
|
71
111
|
private
|
72
112
|
|
73
113
|
def create_tree_with_on_failure_hook
|
74
114
|
@tree = ResqueJobsTree::Factory.create :tree1 do
|
75
115
|
root :job1 do
|
76
|
-
perform { raise
|
116
|
+
perform { raise ExpectedException, 'job1' }
|
77
117
|
end
|
78
118
|
on_failure do
|
79
|
-
raise 'called
|
119
|
+
raise ExpectedException, 'called from on_failure block'
|
80
120
|
end
|
81
121
|
end
|
82
122
|
end
|