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.
@@ -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: