cascadence 0.1.2 → 0.2.0
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.
- checksums.yaml +7 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +7 -0
- data/VERSION +1 -1
- data/bin/cascadence +4 -0
- data/cascadence.gemspec +31 -4
- data/coverage/.last_run.json +1 -1
- data/coverage/.resultset.json +648 -86
- data/coverage/index.html +3893 -377
- data/fixtures/README.md +1 -0
- data/fixtures/amazon/madeira_flow.rb +26 -0
- data/fixtures/amazon/rio_negro_flow.rb +1 -0
- data/fixtures/amazon_flow.rb +2 -0
- data/fixtures/dogwood.clj +1 -0
- data/fixtures/faggot_spec.rb +1 -0
- data/fixtures/flow_helper.rb +3 -0
- data/fixtures/lib/nothing.rb +1 -0
- data/fixtures/nile/blue_nile_flow.rb +1 -0
- data/fixtures/nile/white_nile/gray_nile_flow.rb +1 -0
- data/fixtures/nile/white_nile_flow.rb +1 -0
- data/fixtures/nile_flow.rb +1 -0
- data/lib/cascadence.rb +15 -1
- data/lib/cascadence/commander.rb +75 -0
- data/lib/cascadence/config.rb +12 -0
- data/lib/cascadence/flow.rb +4 -0
- data/lib/cascadence/runner.rb +62 -0
- data/lib/cascadence/task.rb +14 -0
- data/spec/cascadence/advanced_fork_merge_spec.rb +122 -0
- data/spec/cascadence/commander_spec.rb +184 -0
- data/spec/cascadence/flow_spec.rb +12 -1
- data/spec/cascadence/runner_spec.rb +28 -0
- data/spec/spec_helper.rb +5 -1
- metadata +65 -29
|
@@ -50,7 +50,18 @@ describe Cascadence::Flow do
|
|
|
50
50
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
describe "
|
|
53
|
+
describe "#subclasses" do
|
|
54
|
+
let(:inherit) { Class.new(Cascadence::Flow) }
|
|
55
|
+
|
|
56
|
+
it "should change the count of subclasses by 1" do
|
|
57
|
+
expect { inherit }.to change(Cascadence::Flow.subclasses, :count).by(1)
|
|
58
|
+
end
|
|
59
|
+
it "should include this new mixed in class as a subclass of cascadence flow" do
|
|
60
|
+
Cascadence::Flow.subclasses.should include inherit
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
describe "#run_states" do
|
|
54
65
|
|
|
55
66
|
before(:each) { @expected = "initialized-step1-step2-step3-step4" }
|
|
56
67
|
let(:actual) { @flow.run_states }
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe Cascadence::Runner do
|
|
4
|
+
let(:runner) { Cascadence::Runner.instance }
|
|
5
|
+
let(:task) { Class.new }
|
|
6
|
+
before :each do
|
|
7
|
+
task.any_instance.should_receive(:call)
|
|
8
|
+
@tasks = 1.upto(5).map { |a| task.new }
|
|
9
|
+
end
|
|
10
|
+
context "public api" do
|
|
11
|
+
describe "#run_tasks" do
|
|
12
|
+
let(:doitfaggot) { runner.run_tasks @tasks }
|
|
13
|
+
before(:each) { Cascadence.config.parallel = true }
|
|
14
|
+
it "should be okay" do
|
|
15
|
+
expect { doitfaggot }.not_to raise_error
|
|
16
|
+
end
|
|
17
|
+
after(:each) { Cascadence.config.parallel = false }
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
context "private" do
|
|
21
|
+
describe "#_run_parallel" do
|
|
22
|
+
let(:doitfaggot) { runner.send("_run_parallel", @tasks ) }
|
|
23
|
+
it "should be okay" do
|
|
24
|
+
expect { doitfaggot }.not_to raise_error
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,85 +1,105 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cascadence
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.2.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Thomas Chen
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
11
|
+
date: 2013-03-21 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: thor
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '>='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: activesupport
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
14
41
|
- !ruby/object:Gem::Dependency
|
|
15
42
|
name: jeweler
|
|
16
43
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
44
|
requirements:
|
|
19
|
-
- -
|
|
45
|
+
- - '>='
|
|
20
46
|
- !ruby/object:Gem::Version
|
|
21
47
|
version: '0'
|
|
22
48
|
type: :development
|
|
23
49
|
prerelease: false
|
|
24
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
51
|
requirements:
|
|
27
|
-
- -
|
|
52
|
+
- - '>='
|
|
28
53
|
- !ruby/object:Gem::Version
|
|
29
54
|
version: '0'
|
|
30
55
|
- !ruby/object:Gem::Dependency
|
|
31
56
|
name: rdoc
|
|
32
57
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
58
|
requirements:
|
|
35
|
-
- -
|
|
59
|
+
- - '>='
|
|
36
60
|
- !ruby/object:Gem::Version
|
|
37
61
|
version: '0'
|
|
38
62
|
type: :development
|
|
39
63
|
prerelease: false
|
|
40
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
65
|
requirements:
|
|
43
|
-
- -
|
|
66
|
+
- - '>='
|
|
44
67
|
- !ruby/object:Gem::Version
|
|
45
68
|
version: '0'
|
|
46
69
|
- !ruby/object:Gem::Dependency
|
|
47
70
|
name: rspec
|
|
48
71
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
72
|
requirements:
|
|
51
|
-
- -
|
|
73
|
+
- - '>='
|
|
52
74
|
- !ruby/object:Gem::Version
|
|
53
75
|
version: '0'
|
|
54
76
|
type: :development
|
|
55
77
|
prerelease: false
|
|
56
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
79
|
requirements:
|
|
59
|
-
- -
|
|
80
|
+
- - '>='
|
|
60
81
|
- !ruby/object:Gem::Version
|
|
61
82
|
version: '0'
|
|
62
83
|
- !ruby/object:Gem::Dependency
|
|
63
84
|
name: simplecov
|
|
64
85
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
86
|
requirements:
|
|
67
|
-
- -
|
|
87
|
+
- - '>='
|
|
68
88
|
- !ruby/object:Gem::Version
|
|
69
89
|
version: '0'
|
|
70
90
|
type: :development
|
|
71
91
|
prerelease: false
|
|
72
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
93
|
requirements:
|
|
75
|
-
- -
|
|
94
|
+
- - '>='
|
|
76
95
|
- !ruby/object:Gem::Version
|
|
77
96
|
version: '0'
|
|
78
97
|
description: Organizational helper for writing serializations for use with threading.
|
|
79
98
|
The biggest use case of this would be in selenium / capybara based integration testing
|
|
80
99
|
as this allows you to run flows in parallel.
|
|
81
100
|
email: foxnewsnetwork@gmail.com
|
|
82
|
-
executables:
|
|
101
|
+
executables:
|
|
102
|
+
- cascadence
|
|
83
103
|
extensions: []
|
|
84
104
|
extra_rdoc_files:
|
|
85
105
|
- LICENSE.txt
|
|
@@ -92,6 +112,7 @@ files:
|
|
|
92
112
|
- README.markdown
|
|
93
113
|
- Rakefile
|
|
94
114
|
- VERSION
|
|
115
|
+
- bin/cascadence
|
|
95
116
|
- cascadence.gemspec
|
|
96
117
|
- coverage/.last_run.json
|
|
97
118
|
- coverage/.resultset.json
|
|
@@ -136,45 +157,60 @@ files:
|
|
|
136
157
|
- coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png
|
|
137
158
|
- coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png
|
|
138
159
|
- coverage/index.html
|
|
160
|
+
- fixtures/README.md
|
|
161
|
+
- fixtures/amazon/madeira_flow.rb
|
|
162
|
+
- fixtures/amazon/rio_negro_flow.rb
|
|
163
|
+
- fixtures/amazon_flow.rb
|
|
164
|
+
- fixtures/dogwood.clj
|
|
165
|
+
- fixtures/faggot_spec.rb
|
|
166
|
+
- fixtures/flow_helper.rb
|
|
167
|
+
- fixtures/lib/nothing.rb
|
|
168
|
+
- fixtures/nile/blue_nile_flow.rb
|
|
169
|
+
- fixtures/nile/white_nile/gray_nile_flow.rb
|
|
170
|
+
- fixtures/nile/white_nile_flow.rb
|
|
171
|
+
- fixtures/nile_flow.rb
|
|
139
172
|
- lib/cascadence.rb
|
|
140
173
|
- lib/cascadence/class_methods.rb
|
|
174
|
+
- lib/cascadence/commander.rb
|
|
175
|
+
- lib/cascadence/config.rb
|
|
141
176
|
- lib/cascadence/flow.rb
|
|
142
177
|
- lib/cascadence/helper.rb
|
|
178
|
+
- lib/cascadence/runner.rb
|
|
143
179
|
- lib/cascadence/stateful.rb
|
|
180
|
+
- lib/cascadence/task.rb
|
|
181
|
+
- spec/cascadence/advanced_fork_merge_spec.rb
|
|
144
182
|
- spec/cascadence/class_methods_spec.rb
|
|
183
|
+
- spec/cascadence/commander_spec.rb
|
|
145
184
|
- spec/cascadence/flow_spec.rb
|
|
146
185
|
- spec/cascadence/fork_merge_spec.rb
|
|
147
186
|
- spec/cascadence/helper_spec.rb
|
|
187
|
+
- spec/cascadence/runner_spec.rb
|
|
148
188
|
- spec/cascadence/stateful_spec.rb
|
|
149
189
|
- spec/cascadence_spec.rb
|
|
150
190
|
- spec/spec_helper.rb
|
|
151
191
|
homepage: http://github.com/foxnewsnetwork/cascadence
|
|
152
192
|
licenses:
|
|
153
193
|
- MIT
|
|
194
|
+
metadata: {}
|
|
154
195
|
post_install_message:
|
|
155
196
|
rdoc_options: []
|
|
156
197
|
require_paths:
|
|
157
198
|
- lib
|
|
158
199
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
159
|
-
none: false
|
|
160
200
|
requirements:
|
|
161
|
-
- -
|
|
201
|
+
- - '>='
|
|
162
202
|
- !ruby/object:Gem::Version
|
|
163
203
|
version: '0'
|
|
164
|
-
segments:
|
|
165
|
-
- 0
|
|
166
|
-
hash: 1146252486641217808
|
|
167
204
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
|
-
none: false
|
|
169
205
|
requirements:
|
|
170
|
-
- -
|
|
206
|
+
- - '>='
|
|
171
207
|
- !ruby/object:Gem::Version
|
|
172
208
|
version: '0'
|
|
173
209
|
requirements: []
|
|
174
210
|
rubyforge_project:
|
|
175
|
-
rubygems_version:
|
|
211
|
+
rubygems_version: 2.0.0.rc.2
|
|
176
212
|
signing_key:
|
|
177
|
-
specification_version:
|
|
213
|
+
specification_version: 4
|
|
178
214
|
summary: Organization helper for writing flow-based integration tests using capybara
|
|
179
215
|
and whatnot
|
|
180
216
|
test_files: []
|