beaker-rspec 6.1.0 → 6.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDFlMWEyNGI2ZGNiOTgxZjBjNTlhNjdlZjk3YTY5NTRkN2Q0NmUwMg==
4
+ MTA2OGVlNGU3YWNkNWMzNjc0YzkxMTVhMjU3N2E5OTJiODQ0ZTgyNg==
5
5
  data.tar.gz: !binary |-
6
- ZGVmMDgxOWYxY2QwYzVhNzEyYmM5ZGVkNmQzMWI0MzQyZDA3YWY5MQ==
6
+ ODMyY2Q5NGI3YTA1YjgwNzdiYzRhODdkOWNmNjRkOTNhYjk2YzAyNw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YThlMjI2MWY2MDcyYzIxNDdkYjkzNGM0MjE1MTgwZmY0MWQ0MGIwZGIyYjJi
10
- NzU0MTBhYWEzZDI0NWZlOGU5NDQ4NDcwMDgzMWQwMTg5ZDBlOTAwNGFkNGI5
11
- ZjY0M2U2YWM1NTZlNTZkYjcxZjc1MzJjMDA0NTZhY2QxMDYxNGY=
9
+ M2ViNmU1NThkNDUyZGQwMDg2MjZjMTUwNzVhOGI5NTM1MTc1YWRlMTNlZDJm
10
+ Y2QzNzQ3OWQyZjliY2RhOTczYzE1Y2U2MzM2NDI2ZTAxMmQ0MmQ5MjM5ZGVh
11
+ YmFkYjljY2JhNzMxMzZiMmM0MzI3ZTFlYjYzOTVmNGNjYTEzMzU=
12
12
  data.tar.gz: !binary |-
13
- MmM2MjRlNjZkMWNjNzUxMTk4YzEyMmI0NzZmYWMzYzdhNTgxMzdmZmFjYWUx
14
- N2NjZGM2MGIxNDhkMGZjNWYxMjk1YWNlYTEyODBiNzU1MjEwMjk2OTU1YjRh
15
- YjhiODdiZmNjMTFmM2ExZDg4ZTUxOGEwY2ZhNjBjMzc5YTljMzY=
13
+ NzAwZDJiMmQ1ZGFhZWFlZTFmMjZiNGIyMjRhYzk4NzNjZjUxN2YwZWUyYjBm
14
+ ZmQ3NzUwYjk4MzQ5YjJlOTJmMmY1YjllY2YyNzJjYzQyY2JjMThmOWY4NzY3
15
+ OWZlYzFiNGRmMGY4MGQ0OTIwYjQ1ZjA3MDg3NjYzNDMwNjI3MDg=
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
- #beaker-rspec
1
+ # beaker-rspec
2
2
 
3
3
  beaker-rspec is a bridge between the puppet acceptance test harness ([beaker](https://github.com/puppetlabs/beaker)) and [rspec](https://github.com/rspec/rspec). It also integrates [serverspec](http://serverspec.org/).
4
4
 
5
- #Upgrading from beaker-rspec 5 to 6
5
+ # Upgrading from beaker-rspec 5 to 6
6
6
 
7
7
  In beaker-rspec 6, we've picked up the newest beaker, 3.y. In this release, we've
8
8
  given up support for Ruby 1.9 and moved to 2.2.5 as our lowest tested version,
@@ -13,46 +13,50 @@ To learn more about those changes, please checkout our
13
13
  doc. Note that besides the Ruby version & beaker dependency change, nothing else
14
14
  was changed in beaker-rspec itself.
15
15
 
16
- #Typical Workflow
16
+ # Typical Workflow
17
17
 
18
18
  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
19
 
20
- 1. Run tests with `BEAKER_destroy=no`, no setting for `BEAKER_provision`
21
- * beaker-rspec will use spec/acceptance/nodesets/default.yml node file
22
- * boxes will be newly provisioned
23
- * boxes will be preserved post-testing
20
+ * Run tests with `BEAKER_destroy=no`, no setting for `BEAKER_provision`
21
+ * beaker-rspec will use spec/acceptance/nodesets/default.yml node file
22
+ * boxes will be newly provisioned
23
+ * boxes will be preserved post-testing
24
+
24
25
  * Run tests with `BEAKER_destroy=no` and `BEAKER_provision=no`
25
- * beaker-rspec will use spec/acceptance/nodesets/default.yml node file
26
- * boxes will be re-used from previous run
27
- * boxes will be preserved post-testing
28
- * Nodes become corrupted with too many test runs/bad data and need to be refreshed then set `BEAKER_provision=yes`
29
- * Testing is complete and you want to clean up, run once more with `BEAKER_destroy` unset
30
- * you can also:
26
+ * beaker-rspec will use spec/acceptance/nodesets/default.yml node file
27
+ * boxes will be re-used from previous run
28
+ * boxes will be preserved post-testing
29
+ * Nodes become corrupted with too many test runs/bad data and need to be refreshed then set `BEAKER_provision=yes`
30
+ * Testing is complete and you want to clean up, run once more with `BEAKER_destroy` unset
31
+ * you can also:
31
32
 
32
- cd .vagrant/beaker_vagrant_files/default.yml ; vagrant destroy --force
33
+ ```
34
+ cd .vagrant/beaker_vagrant_files/default.yml ; vagrant destroy --force
35
+ ```
33
36
 
34
- ##Supported ENV variables
37
+ ## Supported ENV variables
35
38
 
36
39
  * `BEAKER_color`: set to `no` to disable color output
37
40
  * `BEAKER_debug`: set to any value to enable beaker debug logging
38
41
  * `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.
39
42
  * `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.
40
44
  * `BEAKER_provision`: set to `no` to skip provisioning boxes before testing, beaker will then assume that boxes are already provisioned and reachable
41
45
  * `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 module's spec/acceptance/nodesets directory.
42
46
  * `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)
43
47
 
44
48
  For details on the specific mappings, the [setup code](https://github.com/puppetlabs/beaker-rspec/blob/2771b4b1864692690254a969680a57ff22ac0516/lib/beaker-rspec/spec_helper.rb#L26-L32) and the [beaker docs](https://github.com/puppetlabs/beaker/blob/master/docs/tutorials/the_command_line.md).
45
49
 
46
- #Building your Module Testing Environment
50
+ # Building your Module Testing Environment
47
51
 
48
52
  Using puppetlabs-mysql as an example module.
49
53
 
50
- ##Clone the module repository of the module where you want to add tests
54
+ ## Clone the module repository of the module where you want to add tests
51
55
 
52
56
  git clone https://github.com/puppetlabs/puppetlabs-mysql
53
57
  cd puppetlabs-mysql
54
58
 
55
- ##Install beaker-rspec
59
+ ## Install beaker-rspec
56
60
 
57
61
  In module's top level directory edit the Gemfile. You should see a `:system_tests`
58
62
  or `:acceptance` group there, but if not, add beaker-rspec there:
@@ -67,7 +71,7 @@ Then run
67
71
 
68
72
  bundle install
69
73
 
70
- ##Create node files
74
+ ## Create node files
71
75
 
72
76
  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`, it is assumed to be located in 'spec/acceptance/nodesets/${NAME}.yml' by beaker-rspec. If you wish to use a completely different file location use `BEAKER_setfile` and set it to the full path (including file extension) of your hosts file.
73
77
 
@@ -83,7 +87,7 @@ Create the nodesets directory. From module's top level directory:
83
87
 
84
88
  Copy any nodesets that you wish to use into the nodesets directory.
85
89
 
86
- ##Create the spec_helper_acceptance.rb
90
+ ## Create the spec_helper_acceptance.rb
87
91
 
88
92
  In the `spec` folder, you should see the project's `spec_helper_acceptance.rb`.
89
93
  This file contains all of the setup logic needed to get your Systems Under Test
@@ -133,7 +137,7 @@ This method will install the latest puppet-agent from the specified
133
137
 
134
138
  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`)
135
139
 
136
- ##Create spec tests for your module
140
+ ## Create spec tests for your module
137
141
 
138
142
  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).
139
143
 
@@ -178,8 +182,10 @@ describe 'mysql::server::account_security class' do
178
182
  end
179
183
  ```
180
184
 
181
- ##Run your spec tests
185
+ ## Run your spec tests
182
186
 
183
187
  From module's top level directory
184
188
 
185
- bundle exec rspec spec/acceptance
189
+ ```
190
+ bundle exec rspec spec/acceptance
191
+ ```
@@ -30,9 +30,10 @@ RSpec.configure do |c|
30
30
  :keyfile => ENV['BEAKER_keyfile'] || ENV['RS_KEYFILE'],
31
31
  :debug => ENV['BEAKER_debug'] || ENV['RS_DEBUG'],
32
32
  :destroy => ENV['BEAKER_destroy'] || ENV['RS_DESTROY'],
33
- }.delete_if {|key, value| value.nil?}
34
- #combine defaults and env_vars to determine overall options
35
- options = defaults.merge(env_vars)
33
+ :optionsfile => ENV['BEAKER_options_file'] || ENV['RS_OPTIONS_FILE'],
34
+ }.delete_if {|key, value| value.nil?}
35
+ #combine defaults and env_vars to determine overall options
36
+ options = defaults.merge(env_vars)
36
37
 
37
38
  # process options to construct beaker command string
38
39
  nodesetfile = options[:nodesetfile] || File.join('spec/acceptance/nodesets',"#{options[:nodeset]}.yml")
@@ -40,9 +41,10 @@ RSpec.configure do |c|
40
41
  keyfile = options[:keyfile] ? ['--keyfile', options[:keyfile]] : nil
41
42
  debug = options[:debug] ? ['--log-level', 'debug'] : nil
42
43
  color = options[:color] == 'no' ? ['--no-color'] : nil
44
+ options_file = options[:optionsfile] ? ['--options-file',options[:optionsfile]] || nil
43
45
 
44
46
  # Configure all nodes in nodeset
45
- c.setup([fresh_nodes, '--hosts', nodesetfile, keyfile, debug, color].flatten.compact)
47
+ c.setup([fresh_nodes, '--hosts', nodesetfile, keyfile, debug, color, options_file]).flatten.compact)
46
48
  c.provision
47
49
  c.validate
48
50
  c.configure
@@ -1,5 +1,5 @@
1
1
  module BeakerRSpec
2
2
  module Version
3
- STRING = '6.1.0'
3
+ STRING = '6.2.0'
4
4
  end
5
5
  end
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: 6.1.0
4
+ version: 6.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-29 00:00:00.000000000 Z
11
+ date: 2017-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest