cascadence 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -50,7 +50,18 @@ describe Cascadence::Flow do
50
50
 
51
51
  end
52
52
 
53
- describe "run states" do
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
@@ -1,4 +1,8 @@
1
1
  require 'simplecov'
2
2
  require File.join File.expand_path("..", File.dirname(__FILE__)), "lib", "cascadence"
3
3
 
4
- SimpleCov.start
4
+ SimpleCov.start
5
+
6
+ module RSpec
7
+ FixturePath = File.expand_path("../../fixtures", __FILE__)
8
+ end
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.1.2
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-02-14 00:00:00.000000000 Z
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: 1.8.24
211
+ rubygems_version: 2.0.0.rc.2
176
212
  signing_key:
177
- specification_version: 3
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: []