resque_jobs_tree 0.3.4 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/resque_jobs_tree.rb +25 -3
- data/lib/resque_jobs_tree/definitions.rb +15 -0
- data/lib/resque_jobs_tree/definitions/node.rb +77 -0
- data/lib/resque_jobs_tree/definitions/tree.rb +39 -0
- data/lib/resque_jobs_tree/factory.rb +7 -7
- data/lib/resque_jobs_tree/job.rb +13 -31
- data/lib/resque_jobs_tree/node.rb +64 -60
- data/lib/resque_jobs_tree/resources_serializer.rb +2 -3
- data/lib/resque_jobs_tree/storage.rb +5 -112
- data/lib/resque_jobs_tree/storage/node.rb +80 -0
- data/lib/resque_jobs_tree/storage/tree.rb +26 -0
- data/lib/resque_jobs_tree/tree.rb +32 -27
- data/lib/resque_jobs_tree/version.rb +1 -1
- data/test/definitions_test.rb +99 -0
- data/test/factory_test.rb +3 -4
- data/test/job_test.rb +6 -8
- data/test/process_test.rb +214 -0
- data/test/resources_serializer_test.rb +6 -6
- data/test/storage_node_test.rb +117 -0
- data/test/storage_tree_test.rb +27 -0
- data/test/test_helper.rb +12 -8
- data/test/tree_test.rb +14 -109
- metadata +15 -6
- data/test/node_test.rb +0 -188
- data/test/storage_test.rb +0 -74
data/test/storage_test.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
|
3
|
-
class StorageTest < MiniTest::Unit::TestCase
|
4
|
-
|
5
|
-
def setup
|
6
|
-
create_tree
|
7
|
-
@resources = [1, 2, 3]
|
8
|
-
@root = @tree.find_node_by_name(:job1)
|
9
|
-
@leaf = @tree.find_node_by_name(:job2)
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_store
|
13
|
-
parents_key = ResqueJobsTree::Storage::PARENTS_KEY
|
14
|
-
Resque.redis.del parents_key
|
15
|
-
store
|
16
|
-
assert_equal 1, Resque.redis.hlen(parents_key)
|
17
|
-
childs_key = ResqueJobsTree::Storage.send :childs_key, @root, @resources
|
18
|
-
assert_equal 1, Resque.redis.scard(childs_key)
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_parent_job_args
|
22
|
-
store
|
23
|
-
assert_equal ['tree1', 'job1', 1, 2, 3],
|
24
|
-
ResqueJobsTree::Storage.parent_job_args(@leaf, @resources)
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_remove
|
28
|
-
store
|
29
|
-
variable = 1
|
30
|
-
ResqueJobsTree::Storage.remove @leaf, @resources do
|
31
|
-
variable = 2
|
32
|
-
end
|
33
|
-
assert_equal 2, variable
|
34
|
-
end
|
35
|
-
|
36
|
-
def test_store_already_stored
|
37
|
-
wrong_tree = ResqueJobsTree::Factory.create :tree1 do
|
38
|
-
root :job1 do
|
39
|
-
perform {}
|
40
|
-
childs do |resources|
|
41
|
-
[ [:job2], [:job2] ]
|
42
|
-
end
|
43
|
-
node :job2 do
|
44
|
-
perform {}
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
assert_raises ResqueJobsTree::JobNotUniq do
|
49
|
-
wrong_tree.launch
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_node_info_from_key
|
54
|
-
key = %Q{ResqueJobsTree:Node:["tree1","job1",1,2,3]}
|
55
|
-
result = [@root, [1, 2, 3]]
|
56
|
-
assert_equal result, ResqueJobsTree::Storage.send(:node_info_from_key, key)
|
57
|
-
end
|
58
|
-
|
59
|
-
def test_track_launch
|
60
|
-
resources = [1, 2, 3]
|
61
|
-
ResqueJobsTree::Storage.track_launch(@tree, resources) {}
|
62
|
-
key = ResqueJobsTree::Storage::LAUNCHED_TREES
|
63
|
-
assert_equal [[@tree.name, resources].to_json], redis.smembers(key)
|
64
|
-
ResqueJobsTree::Storage.release_launch(@tree, resources)
|
65
|
-
assert_equal [], redis.smembers(key)
|
66
|
-
end
|
67
|
-
|
68
|
-
private
|
69
|
-
|
70
|
-
def store
|
71
|
-
ResqueJobsTree::Storage.store @leaf, @resources, @leaf.parent, @resources
|
72
|
-
end
|
73
|
-
|
74
|
-
end
|