busser-rspec 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +19 -17
- data/busser-rspec.gemspec +3 -0
- data/features/plugin_install_command.feature +3 -1
- data/features/test_command.feature +20 -10
- data/lib/busser/rspec/version.rb +1 -1
- data/lib/busser/runner_plugin/rspec.rb +12 -10
- metadata +37 -5
data/README.md
CHANGED
@@ -1,27 +1,28 @@
|
|
1
|
-
#
|
1
|
+
# Busser::RunnerPlugin::Rspec
|
2
2
|
|
3
3
|
A Busser runner plugin for Rspec
|
4
4
|
|
5
|
-
##
|
5
|
+
## Installation and Setup
|
6
6
|
|
7
|
-
Please read the Busser [plugin usage]
|
7
|
+
Please read the Busser [plugin usage](plugin_usage) page for more details.
|
8
8
|
|
9
|
-
##
|
9
|
+
## Usage
|
10
10
|
|
11
11
|
Please put test files into [COOKBOOK]/test/integration/[SUITES]/rspec/
|
12
12
|
|
13
|
-
```
|
14
|
-
|
15
|
-
|
13
|
+
```
|
14
|
+
-- [COOKBOOK]
|
15
|
+
`-- test
|
16
|
+
`-- integration
|
16
17
|
`-- default
|
17
|
-
|
18
|
-
|
18
|
+
`-- rspec
|
19
|
+
`-- spec_helper.rb
|
19
20
|
```
|
20
21
|
|
21
|
-
##
|
22
|
+
## Development
|
22
23
|
|
23
|
-
* Source hosted at [GitHub]
|
24
|
-
* Report issues/questions/feature requests on [GitHub Issues]
|
24
|
+
* Source hosted at [GitHub](https://github.com/opscode/busser-rspec)
|
25
|
+
* Report issues/questions/feature requests on [GitHub Issues](issues)
|
25
26
|
|
26
27
|
Pull requests are very welcome! Make sure your patches are well tested.
|
27
28
|
Ideally create a topic branch for every separate change you make. For
|
@@ -33,12 +34,13 @@ example:
|
|
33
34
|
4. Push to the branch (`git push origin my-new-feature`)
|
34
35
|
5. Create new Pull Request
|
35
36
|
|
36
|
-
##
|
37
|
+
## Authors
|
38
|
+
|
39
|
+
Created and maintained by Adam Jacob (adam@opscode.com)
|
37
40
|
|
38
|
-
|
39
|
-
Based on busser-serverspec, created and maintained by [HIGUCHI Daisuke][author] (<d-higuchi@creationline.com>)
|
41
|
+
Based on [busser-serverspec](https://github.com/cl-lab-k/busser-serverspec), created and maintained by HIGUCHI Daisuke (d-higuchi@creationline.com)
|
40
42
|
|
41
|
-
##
|
43
|
+
## License
|
42
44
|
|
43
|
-
Apache 2.0 (see [LICENSE]
|
45
|
+
Apache 2.0 (see [LICENSE](license))
|
44
46
|
|
data/busser-rspec.gemspec
CHANGED
@@ -20,6 +20,9 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_dependency 'busser'
|
22
22
|
|
23
|
+
spec.add_development_dependency 'rspec'
|
24
|
+
spec.add_development_dependency 'chef'
|
25
|
+
|
23
26
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
24
27
|
spec.add_development_dependency 'rake'
|
25
28
|
spec.add_development_dependency 'aruba'
|
@@ -5,7 +5,9 @@ Feature: Plugin install command
|
|
5
5
|
|
6
6
|
Background:
|
7
7
|
Given a test BUSSER_ROOT directory named "busser-rspec-install"
|
8
|
+
And a sandboxed GEM_HOME directory named "busser-rspec-gem-home"
|
8
9
|
|
9
10
|
Scenario: Running the postinstall generator
|
10
11
|
When I run `busser plugin install busser-rspec --force-postinstall`
|
11
|
-
Then
|
12
|
+
Then a gem named "rspec" is installed
|
13
|
+
And the exit status should be 0
|
@@ -5,27 +5,37 @@ Feature: Test command
|
|
5
5
|
|
6
6
|
Background:
|
7
7
|
Given a test BUSSER_ROOT directory named "busser-rspec-test"
|
8
|
+
And a sandboxed GEM_HOME directory named "busser-rspec-gem-home"
|
8
9
|
When I successfully run `busser plugin install busser-rspec --force-postinstall`
|
9
10
|
Given a suite directory named "rspec"
|
10
11
|
|
11
12
|
Scenario: A passing test suite
|
12
|
-
Given a file in suite "rspec" named "
|
13
|
+
Given a file in suite "rspec" named "default_spec.rb" with:
|
13
14
|
"""
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
describe 'default' do
|
16
|
+
it 'succeed' do
|
17
|
+
end
|
18
|
+
end
|
17
19
|
"""
|
18
20
|
When I run `busser test rspec`
|
19
|
-
Then
|
21
|
+
Then the output should contain:
|
22
|
+
"""
|
23
|
+
1 example, 0 failures
|
24
|
+
"""
|
20
25
|
And the exit status should be 0
|
21
26
|
|
22
27
|
Scenario: A failing test suite
|
23
|
-
Given a file in suite "rspec" named "
|
28
|
+
Given a file in suite "rspec" named "default_spec.rb" with:
|
24
29
|
"""
|
25
|
-
|
26
|
-
|
27
|
-
|
30
|
+
describe 'default' do
|
31
|
+
it 'fail' do
|
32
|
+
raise
|
33
|
+
end
|
34
|
+
end
|
28
35
|
"""
|
29
36
|
When I run `busser test rspec`
|
30
|
-
Then
|
37
|
+
Then the output should contain:
|
38
|
+
"""
|
39
|
+
1 example, 1 failure
|
40
|
+
"""
|
31
41
|
And the exit status should not be 0
|
data/lib/busser/rspec/version.rb
CHANGED
@@ -25,28 +25,30 @@ require 'rubygems'
|
|
25
25
|
#
|
26
26
|
class Busser::RunnerPlugin::Rspec < Busser::RunnerPlugin::Base
|
27
27
|
postinstall do
|
28
|
-
install_gem("rspec"
|
28
|
+
install_gem("rspec")
|
29
29
|
install_gem("bundler")
|
30
30
|
end
|
31
31
|
|
32
32
|
def test
|
33
33
|
rspec_path = suite_path('rspec').to_s
|
34
34
|
|
35
|
-
|
36
|
-
setup_file = File.join(rspec_path, "setup-recipe.rb")
|
35
|
+
setup_file = File.join(rspec_path, "setup-recipe.rb")
|
37
36
|
|
37
|
+
Dir.chdir(rspec_path) do
|
38
38
|
if File.exists?(setup_file)
|
39
|
-
|
39
|
+
if !File.exists?("/opt/chef/bin/chef-apply")
|
40
|
+
raise "You have a chef setup file at #{setup_file}, but /opt/chef/bin/chef-apply does not if exist"
|
41
|
+
end
|
42
|
+
run("/opt/chef/bin/chef-apply #{setup_file}")
|
40
43
|
end
|
41
44
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
45
|
+
if File.exists?(File.join(rspec_path, "Gemfile"))
|
46
|
+
# Bundle install local completes quickly if the gems are already found locally
|
47
|
+
# it fails if it needs to talk to the internet. The || below is the fallback
|
48
|
+
# to the internet-enabled version. It's a speed optimization.
|
49
|
+
run("env PATH=#{ENV['PATH']}:#{Gem.bindir} bundle install --local || bundle install")
|
46
50
|
end
|
47
|
-
end
|
48
51
|
|
49
|
-
Dir.chdir(rspec_path) do
|
50
52
|
runner = File.expand_path(File.join(File.dirname(__FILE__), "..", "rspec", "runner.rb"))
|
51
53
|
run_ruby_script!("#{runner} -I #{rspec_path} -I #{rspec_path}/lib #{rspec_path}")
|
52
54
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: busser-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-01-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: busser
|
@@ -27,6 +27,38 @@ dependencies:
|
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: chef
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
30
62
|
- !ruby/object:Gem::Dependency
|
31
63
|
name: bundler
|
32
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,7 +194,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
194
|
version: '0'
|
163
195
|
segments:
|
164
196
|
- 0
|
165
|
-
hash: -
|
197
|
+
hash: -1620810802609636202
|
166
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
199
|
none: false
|
168
200
|
requirements:
|
@@ -171,10 +203,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
203
|
version: '0'
|
172
204
|
segments:
|
173
205
|
- 0
|
174
|
-
hash: -
|
206
|
+
hash: -1620810802609636202
|
175
207
|
requirements: []
|
176
208
|
rubyforge_project:
|
177
|
-
rubygems_version: 1.8.
|
209
|
+
rubygems_version: 1.8.23
|
178
210
|
signing_key:
|
179
211
|
specification_version: 3
|
180
212
|
summary: A Busser runner plugin for RSpec
|