beaker-rspec 6.3.0 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +31 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +1045 -0
- data/Gemfile +4 -0
- data/HISTORY.md +1 -29
- data/README.md +49 -16
- data/Rakefile +18 -0
- data/beaker-rspec.gemspec +7 -16
- data/lib/beaker-rspec/version.rb +1 -1
- metadata +21 -12
data/Gemfile
CHANGED
data/HISTORY.md
CHANGED
@@ -1,32 +1,4 @@
|
|
1
|
-
|
2
|
-
## Tags
|
3
|
-
* [LATEST - 29 Mar, 2017 (0197f39f)](#LATEST)
|
4
|
-
* [6.0.0 - 24 Oct, 2016 (77470480)](#6.0.0)
|
5
|
-
* [5.6.0 - 24 Jun, 2016 (bc70fe5a)](#5.6.0)
|
6
|
-
* [5.5.0 - 23 Jun, 2016 (a289ce27)](#5.5.0)
|
7
|
-
* [5.4.0 - 9 Jun, 2016 (f030a8b5)](#5.4.0)
|
8
|
-
* [5.3.0 - 13 Oct, 2015 (2efeb932)](#5.3.0)
|
9
|
-
* [5.2.2 - 3 Sep, 2015 (69980e14)](#5.2.2)
|
10
|
-
* [5.2.1 - 27 Aug, 2015 (49c45f61)](#5.2.1)
|
11
|
-
* [5.2.0 - 15 Jul, 2015 (261dacdb)](#5.2.0)
|
12
|
-
* [5.1.0 - 5 Jun, 2015 (3a72d131)](#5.1.0)
|
13
|
-
* [beaker-rspec5.0.2 - 30 Mar, 2015 (b9831088)](#beaker-rspec5.0.2)
|
14
|
-
* [beaker-rspec5.0.1 - 27 Jan, 2015 (7a64f285)](#beaker-rspec5.0.1)
|
15
|
-
* [beaker-rspec5.0.0 - 8 Jan, 2015 (bbf806a4)](#beaker-rspec5.0.0)
|
16
|
-
* [beaker-rspec4.0.0 - 5 Dec, 2014 (a4fe104a)](#beaker-rspec4.0.0)
|
17
|
-
* [beaker-rspec2.2.6 - 23 Jun, 2014 (c899b70b)](#beaker-rspec2.2.6)
|
18
|
-
* [beaker-rspec2.2.5 - 19 Jun, 2014 (4b9253e3)](#beaker-rspec2.2.5)
|
19
|
-
* [beaker-rspec2.2.4 - 8 May, 2014 (8fdb93a9)](#beaker-rspec2.2.4)
|
20
|
-
* [beaker-rspec2.2.3 - 23 Apr, 2014 (81241746)](#beaker-rspec2.2.3)
|
21
|
-
* [beaker-rspec2.2.2 - 27 Mar, 2014 (bd5717e6)](#beaker-rspec2.2.2)
|
22
|
-
* [beaker-rspec2.2.1 - 24 Mar, 2014 (5ec50c57)](#beaker-rspec2.2.1)
|
23
|
-
* [beaker-rspec2.2.0 - 13 Mar, 2014 (3f2cd006)](#beaker-rspec2.2.0)
|
24
|
-
* [beaker-rspec2.1.1 - 30 Jan, 2014 (94e2423a)](#beaker-rspec2.1.1)
|
25
|
-
* [beaker-rspec2.1.0 - 29 Jan, 2014 (3ffb18f1)](#beaker-rspec2.1.0)
|
26
|
-
* [beaker-rspec2.0.1 - 22 Jan, 2014 (0ece0e8d)](#beaker-rspec2.0.1)
|
27
|
-
* [beaker-rspec2.0.0 - 6 Dec, 2013 (d836ebac)](#beaker-rspec2.0.0)
|
28
|
-
* [beaker-rspec1.0.0 - 3 Dec, 2013 (65e89ec9)](#beaker-rspec1.0.0)
|
29
|
-
|
1
|
+
## [6.1.0](https://github.com/voxpupuli/beaker-rspec/tree/6.1.0) (2017-03-29)
|
30
2
|
## Details
|
31
3
|
### <a name = "LATEST">LATEST - 29 Mar, 2017 (0197f39f)
|
32
4
|
|
data/README.md
CHANGED
@@ -1,19 +1,30 @@
|
|
1
1
|
# beaker-rspec
|
2
2
|
|
3
|
-
|
3
|
+
[![License](https://img.shields.io/github/license/voxpupuli/beaker.svg)](https://github.com/voxpupuli/beaker/blob/master/LICENSE)
|
4
|
+
[![Test](https://github.com/voxpupuli/beaker/actions/workflows/test.yml/badge.svg)](https://github.com/voxpupuli/beaker/actions/workflows/test.yml)
|
5
|
+
[![Release](https://github.com/voxpupuli/beaker/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/beaker/actions/workflows/release.yml)
|
6
|
+
[![RubyGem Version](https://img.shields.io/gem/v/beaker.svg)](https://rubygems.org/gems/beaker)
|
7
|
+
[![RubyGem Downloads](https://img.shields.io/gem/dt/beaker.svg)](https://rubygems.org/gems/beaker)
|
8
|
+
[![Donated by Puppet Inc](https://img.shields.io/badge/donated%20by-Puppet%20Inc-fb7047.svg)](#transfer-notice)
|
4
9
|
|
5
|
-
|
10
|
+
beaker-rspec is a bridge between the puppet acceptance test harness ([beaker](https://github.com/voxpupuli/beaker)) and [rspec](https://github.com/rspec/rspec). It also integrates [serverspec](http://serverspec.org/).
|
11
|
+
|
12
|
+
## Upgrading from beaker-rspec 5 to 6
|
6
13
|
|
7
14
|
In beaker-rspec 6, we've picked up the newest beaker, 3.y. In this release, we've
|
8
|
-
given up support for Ruby
|
15
|
+
given up support for EoL Ruby and moved to 2.4 as our lowest tested version,
|
9
16
|
as well as a number of other changes underneath.
|
10
17
|
|
11
18
|
To learn more about those changes, please checkout our
|
12
|
-
[how-to upgrade](https://github.com/
|
19
|
+
[how-to upgrade](https://github.com/voxpupuli/beaker/blob/master/docs/how_to/upgrade_from_2_to_3.md)
|
13
20
|
doc. Note that besides the Ruby version & beaker dependency change, nothing else
|
14
21
|
was changed in beaker-rspec itself.
|
15
22
|
|
16
|
-
|
23
|
+
To figure out our current lowest supported Ruby version, check for the
|
24
|
+
`required_ruby_version` key in `beaker-rspec.gemspec`. To see all Ruby versions
|
25
|
+
we test on, check the list in `.github/workflows/test.yml`.
|
26
|
+
|
27
|
+
## Typical Workflow
|
17
28
|
|
18
29
|
Beaker does setup and provision all nodes from your nodeset on each test run, and cleans up the VMs after use. During development on a module it can be very handy to keep the VMs available for inspection or reuse. Set `BEAKER_destroy=no` do skip the cleanup and `BEAKER_provision=no` once the VMs are created.
|
19
30
|
|
@@ -34,30 +45,30 @@ Beaker does setup and provision all nodes from your nodeset on each test run, an
|
|
34
45
|
cd .vagrant/beaker_vagrant_files/default.yml ; vagrant destroy --force
|
35
46
|
```
|
36
47
|
|
37
|
-
|
48
|
+
### Supported ENV variables
|
38
49
|
|
39
50
|
* `BEAKER_color`: set to `no` to disable color output
|
40
51
|
* `BEAKER_debug`: set to any value to enable beaker debug logging
|
41
52
|
* `BEAKER_destroy`: set to `no` to keep the VMs after the test run. Set to `onpass` to keep the VMs around only after a test failure.
|
42
53
|
* `BEAKER_keyfile`: specify alternate SSH key to access the test VMs
|
43
|
-
* `BEAKER_options_file`: set to the file path of the options file to be used as the default options for beaker. Equivalent to the `--options-file` parameter.
|
54
|
+
* `BEAKER_options_file`: set to the file path of the options file to be used as the default options for beaker. Equivalent to the `--options-file` parameter.
|
44
55
|
* `BEAKER_provision`: set to `no` to skip provisioning boxes before testing, beaker will then assume that boxes are already provisioned and reachable
|
45
56
|
* `BEAKER_setdir`: change the directory with nodesets. Defaults to the module's `spec/acceptance/nodesets` directory.
|
46
57
|
* `BEAKER_set`: set to the name of the node file to be used during testing (exclude .yml file extension, it will be added by beaker-rspec). The file is assumed to be in the `setdir` (see `BEAKER_setdir`).
|
47
58
|
* `BEAKER_setfile` - set to the full path to a node file be used during testing (be sure to include full path and file extensions, beaker-rspec will use this path without editing/altering it in any way)
|
48
59
|
|
49
|
-
For details on the specific mappings, the [setup code](https://github.com/
|
60
|
+
For details on the specific mappings, the [setup code](https://github.com/voxpupuli/beaker-rspec/blob/2771b4b1864692690254a969680a57ff22ac0516/lib/beaker-rspec/spec_helper.rb#L26-L32) and the [beaker docs](https://github.com/voxpupuli/beaker/blob/master/docs/tutorials/the_command_line.md).
|
50
61
|
|
51
|
-
|
62
|
+
## Building your Module Testing Environment
|
52
63
|
|
53
64
|
Using puppetlabs-mysql as an example module.
|
54
65
|
|
55
|
-
|
66
|
+
### Clone the module repository of the module where you want to add tests
|
56
67
|
|
57
68
|
git clone https://github.com/puppetlabs/puppetlabs-mysql
|
58
69
|
cd puppetlabs-mysql
|
59
70
|
|
60
|
-
|
71
|
+
### Install beaker-rspec
|
61
72
|
|
62
73
|
In module's top level directory edit the Gemfile. You should see a `:system_tests`
|
63
74
|
or `:acceptance` group there, but if not, add beaker-rspec there:
|
@@ -72,7 +83,7 @@ Then run
|
|
72
83
|
|
73
84
|
bundle install
|
74
85
|
|
75
|
-
|
86
|
+
### Create node files
|
76
87
|
|
77
88
|
These files indicate the nodes (or hosts) that the tests will be run on. By default, any node file called `default.yml` will be used. You can override this using the `BEAKER_set` environment variable to indicate an alternate file. Do not provide full path or the '.yml' file extension to `BEAKER_set`, beaker-rspec expands the filename to '${DIR}/${NAME}.yml'. The directory defaults to `spec/acceptance/nodesets` but can be overridden with the `BEAKER_setdir` variable. `BEAKER_setdir` gives full control over the path (including file extension).
|
78
89
|
|
@@ -80,7 +91,7 @@ Nodes are pulled from [Puppet Labs Vagrant Boxes](https://vagrantcloud.com/puppe
|
|
80
91
|
|
81
92
|
Example node files can be found here:
|
82
93
|
|
83
|
-
* [Puppet Labs example Vagrant node files](https://github.com/
|
94
|
+
* [Puppet Labs example Vagrant node files](https://github.com/voxpupuli/beaker-vagrant/blob/master/docs/vagrant_hosts_file_examples.md)
|
84
95
|
|
85
96
|
Create the nodesets directory. From module's top level directory:
|
86
97
|
|
@@ -88,7 +99,7 @@ Create the nodesets directory. From module's top level directory:
|
|
88
99
|
|
89
100
|
Copy any nodesets that you wish to use into the nodesets directory.
|
90
101
|
|
91
|
-
|
102
|
+
### Create the spec_helper_acceptance.rb
|
92
103
|
|
93
104
|
In the `spec` folder, you should see the project's `spec_helper_acceptance.rb`.
|
94
105
|
This file contains all of the setup logic needed to get your Systems Under Test
|
@@ -138,7 +149,7 @@ This method will install the latest puppet-agent from the specified
|
|
138
149
|
|
139
150
|
Update spec_helper_acceptance.rb to reflect the module under test. You will need to set the correct module name and add any module dependencies. Place the file in the `spec` directory (in this case `puppetlabs-mysql/spec`)
|
140
151
|
|
141
|
-
|
152
|
+
### Create spec tests for your module
|
142
153
|
|
143
154
|
Spec tests are written in [RSpec](http://rspec.info). You can also use [serverspec](http://serverspec.org/) matchers to test [resources](http://serverspec.org/resource_types.html).
|
144
155
|
|
@@ -183,10 +194,32 @@ describe 'mysql::server::account_security class' do
|
|
183
194
|
end
|
184
195
|
```
|
185
196
|
|
186
|
-
|
197
|
+
### Run your spec tests
|
187
198
|
|
188
199
|
From module's top level directory
|
189
200
|
|
190
201
|
```
|
191
202
|
bundle exec rspec spec/acceptance
|
192
203
|
```
|
204
|
+
|
205
|
+
## Transfer Notice
|
206
|
+
|
207
|
+
This plugin was originally authored by [Puppet Inc](http://puppet.com).
|
208
|
+
The maintainer preferred that [Vox Pupuli](https://voxpupuli.org) take ownership of the module for future improvement and maintenance.
|
209
|
+
Existing pull requests and issues were transferred over, please fork and continue to contribute here.
|
210
|
+
|
211
|
+
Previously: https://github.com/puppetlabs/beaker
|
212
|
+
|
213
|
+
## License
|
214
|
+
|
215
|
+
This gem is licensed under the Apache-2 license.
|
216
|
+
|
217
|
+
## Release information
|
218
|
+
|
219
|
+
To make a new release, please do:
|
220
|
+
* update the version in lib/beaker-rspec/version.rb
|
221
|
+
* Install gems with `bundle install --with release --path .vendor`
|
222
|
+
* generate the changelog with `bundle exec rake changelog`
|
223
|
+
* Check if the new version matches the closed issues/PRs in the changelog
|
224
|
+
* Create a PR with it
|
225
|
+
* After it got merged, push a tag. GitHub actions will do the actual release to rubygems and GitHub Packages
|
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
task default: [:changelog]
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'rubygems'
|
7
|
+
require 'github_changelog_generator/task'
|
8
|
+
rescue LoadError
|
9
|
+
# github_changelog_generator isn't available, so we won't define a rake task with it
|
10
|
+
else
|
11
|
+
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
12
|
+
config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
|
13
|
+
config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog]
|
14
|
+
config.user = 'voxpupuli'
|
15
|
+
config.project = 'beaker-rspec'
|
16
|
+
config.future_release = Gem::Specification.load("#{config.project}.gemspec").version
|
17
|
+
end
|
18
|
+
end
|
data/beaker-rspec.gemspec
CHANGED
@@ -5,14 +5,14 @@ require 'beaker-rspec/version'
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "beaker-rspec"
|
7
7
|
s.version = BeakerRSpec::Version::STRING
|
8
|
-
s.authors = ["
|
9
|
-
s.email = ["
|
10
|
-
s.homepage = "https://github.com/
|
8
|
+
s.authors = ["Vox Pupuli"]
|
9
|
+
s.email = ["voxpupuli@groups.io"]
|
10
|
+
s.homepage = "https://github.com/voxpupuli/beaker-rspec"
|
11
11
|
s.summary = %q{RSpec bindings for beaker}
|
12
|
-
s.description = %q{RSpec bindings for beaker, see https://github.com/
|
12
|
+
s.description = %q{RSpec bindings for beaker, see https://github.com/voxpupuli/beaker}
|
13
13
|
s.license = 'Apache-2.0'
|
14
14
|
|
15
|
-
s.required_ruby_version =
|
15
|
+
s.required_ruby_version = '>= 2.4.0', '<4.0.0'
|
16
16
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
@@ -21,13 +21,8 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
# Testing dependencies
|
23
23
|
s.add_development_dependency 'minitest', '~> 5.4'
|
24
|
-
|
25
|
-
|
26
|
-
s.add_development_dependency 'fakefs', '~> 0.6', '< 0.14'
|
27
|
-
else
|
28
|
-
s.add_development_dependency 'fakefs', '~> 0.6'
|
29
|
-
end
|
30
|
-
s.add_development_dependency 'rake', '~> 10.1'
|
24
|
+
s.add_development_dependency 'fakefs', '>= 0.6', '< 2'
|
25
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
31
26
|
|
32
27
|
# Documentation dependencies
|
33
28
|
s.add_development_dependency 'yard'
|
@@ -36,10 +31,6 @@ Gem::Specification.new do |s|
|
|
36
31
|
# Dependency for example spec/acceptance tests
|
37
32
|
s.add_runtime_dependency 'beaker-pe'
|
38
33
|
|
39
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.2.2')
|
40
|
-
s.add_development_dependency 'rack', '~> 1.6'
|
41
|
-
end
|
42
|
-
|
43
34
|
# Run time dependencies
|
44
35
|
s.add_runtime_dependency 'beaker', '> 3.0'
|
45
36
|
s.add_runtime_dependency 'rspec', '~> 3.0'
|
data/lib/beaker-rspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Vox Pupuli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -28,30 +28,36 @@ dependencies:
|
|
28
28
|
name: fakefs
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.6'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '2'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '0.6'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rake
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
53
|
+
version: '13.0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
60
|
+
version: '13.0'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: yard
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,20 +156,23 @@ dependencies:
|
|
150
156
|
- - "~>"
|
151
157
|
- !ruby/object:Gem::Version
|
152
158
|
version: '2'
|
153
|
-
description: RSpec bindings for beaker, see https://github.com/
|
159
|
+
description: RSpec bindings for beaker, see https://github.com/voxpupuli/beaker
|
154
160
|
email:
|
155
|
-
-
|
161
|
+
- voxpupuli@groups.io
|
156
162
|
executables: []
|
157
163
|
extensions: []
|
158
164
|
extra_rdoc_files: []
|
159
165
|
files:
|
160
166
|
- ".github/dependabot.yml"
|
167
|
+
- ".github/workflows/release.yml"
|
161
168
|
- ".github/workflows/test.yml"
|
162
169
|
- ".gitignore"
|
170
|
+
- CHANGELOG.md
|
163
171
|
- Gemfile
|
164
172
|
- HISTORY.md
|
165
173
|
- LICENSE
|
166
174
|
- README.md
|
175
|
+
- Rakefile
|
167
176
|
- beaker-rspec.gemspec
|
168
177
|
- lib/beaker-rspec.rb
|
169
178
|
- lib/beaker-rspec/beaker_shim.rb
|
@@ -174,7 +183,7 @@ files:
|
|
174
183
|
- sample.cfg
|
175
184
|
- spec/acceptance/example_spec.rb
|
176
185
|
- spec/spec_helper.rb
|
177
|
-
homepage: https://github.com/
|
186
|
+
homepage: https://github.com/voxpupuli/beaker-rspec
|
178
187
|
licenses:
|
179
188
|
- Apache-2.0
|
180
189
|
metadata: {}
|
@@ -186,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
186
195
|
requirements:
|
187
196
|
- - ">="
|
188
197
|
- !ruby/object:Gem::Version
|
189
|
-
version: 2.
|
198
|
+
version: 2.4.0
|
190
199
|
- - "<"
|
191
200
|
- !ruby/object:Gem::Version
|
192
201
|
version: 4.0.0
|
@@ -196,7 +205,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
205
|
- !ruby/object:Gem::Version
|
197
206
|
version: '0'
|
198
207
|
requirements: []
|
199
|
-
rubygems_version: 3.
|
208
|
+
rubygems_version: 3.2.22
|
200
209
|
signing_key:
|
201
210
|
specification_version: 4
|
202
211
|
summary: RSpec bindings for beaker
|