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