resque_jobs_tree 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ class ResqueJobsTree::Job
7
7
  node.perform.call resources
8
8
  end
9
9
 
10
- private
10
+ protected
11
11
 
12
12
  def after_perform_enqueue_parent *args
13
13
  node, resources = node_and_resources(args)
@@ -1,3 +1,3 @@
1
1
  module ResqueJobsTree
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
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 unexpected failure' }
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 RuntimeError, 'an unexpected failure' do
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 unexpected failure' }
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 RuntimeError, 'an unexpected failure' do
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 unexpected failure' }
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 RuntimeError, 'an unexpected failure' do
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 RuntimeError, 'called form on_failure block' do
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
- @tree.launch
66
- assert_raises NoMethodError do
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 'expected failure' }
116
+ perform { raise ExpectedException, 'job1' }
77
117
  end
78
118
  on_failure do
79
- raise 'called form on_failure block'
119
+ raise ExpectedException, 'called from on_failure block'
80
120
  end
81
121
  end
82
122
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque_jobs_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: