chefspec 4.0.1 → 4.0.2
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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/CHANGELOG.md +7 -0
- data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +1 -1
- data/examples/server/spec/node_spec.rb +20 -17
- data/gemfiles/chef-11.14.0.gemfile +5 -0
- data/lib/chefspec/server.rb +31 -3
- data/lib/chefspec/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42b8dc074521cc846b3577e67be0b31cefbd11bd
|
4
|
+
data.tar.gz: b49ec85da25e784e7688674100a675842d92448d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f5fbfb4a6746c897e50bccc8207bfcbbbaee688849eb6ffa28db24b88b9fa594b9b8fe9c5a745305f96440d21bf2a2ea2d137da1b7bd9a0ae154e5591706fc5
|
7
|
+
data.tar.gz: 6ab6c2840dcec33358b7d507fd16147e99eaa3d0f9e8c0efbfa52e854c3977b056f91d31488223871032ee5ad057da236100cf858fd4c00c449bc78b68b2466c
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
CHANGELOG for ChefSpec
|
2
2
|
======================
|
3
3
|
|
4
|
+
## 4.0.2 (August 13, 2014)
|
5
|
+
Bugfixes:
|
6
|
+
- Fix a regression caused by a new version of Chef Zero in single_org mode
|
7
|
+
|
8
|
+
Improvements:
|
9
|
+
- Test against Chef 11.14.0 in the Travis matrix
|
10
|
+
|
4
11
|
## 4.0.1 (June 27, 2014)
|
5
12
|
Bugfixes:
|
6
13
|
- Fix class comparisons
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require_relative '../libraries/resource_service'
|
2
2
|
|
3
3
|
describe 'heavy_provider_light_resource::default' do
|
4
|
-
it "does not bomb (because the resource was not wiped out when the provider was encountered" do
|
4
|
+
it "does not bomb (because the resource was not wiped out when the provider was encountered)" do
|
5
5
|
ChefSpec::Runner.new.converge(described_recipe)
|
6
6
|
end
|
7
7
|
end
|
@@ -15,26 +15,29 @@ describe 'server::node' do
|
|
15
15
|
.with_message('node[bacon], node[chefspec]')
|
16
16
|
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
context 'with custom Ohai data' do
|
19
|
+
it 'has the node data' do
|
20
|
+
ChefSpec::Runner.new(platform: 'ubuntu', version: '12.04')
|
21
|
+
.converge(described_recipe)
|
22
|
+
|
23
|
+
expect(ChefSpec::Server).to have_node('chefspec')
|
24
|
+
|
25
|
+
node = ChefSpec::Server.node('chefspec')
|
26
|
+
expect(node['kernel']['name']).to eq('Linux')
|
27
|
+
expect(node['kernel']['release']).to eq('3.2.0-26-generic')
|
28
|
+
expect(node['kernel']['machine']).to eq('x86_64')
|
29
|
+
end
|
28
30
|
end
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
32
|
+
context 'with overridden node data' do
|
33
|
+
it 'has the node data' do
|
34
|
+
ChefSpec::Runner.new { |node| node.set['breakfast']['bacon'] = true }
|
35
|
+
.converge(described_recipe)
|
34
36
|
|
35
|
-
|
37
|
+
expect(ChefSpec::Server).to have_node('chefspec')
|
36
38
|
|
37
|
-
|
38
|
-
|
39
|
+
node = ChefSpec::Server.node('chefspec')
|
40
|
+
expect(node['breakfast']['bacon']).to be_truthy
|
41
|
+
end
|
39
42
|
end
|
40
43
|
end
|
data/lib/chefspec/server.rb
CHANGED
@@ -161,9 +161,6 @@ module ChefSpec
|
|
161
161
|
|
162
162
|
# Set a random port so ChefSpec may be run in multiple jobs
|
163
163
|
port: port,
|
164
|
-
|
165
|
-
# Disable the "old" way - this is actually +multi_tenant: true+
|
166
|
-
single_org: false,
|
167
164
|
)
|
168
165
|
end
|
169
166
|
|
@@ -299,6 +296,26 @@ module ChefSpec
|
|
299
296
|
# Get the path to an item in the data store.
|
300
297
|
#
|
301
298
|
def get(*args)
|
299
|
+
# This is a real-life "what in the actual fuck!?". Since some engineers
|
300
|
+
# cannot seem to understand the importance of an unchanging public API,
|
301
|
+
# we have to implement crazy, outlandish checks like this.
|
302
|
+
#
|
303
|
+
# In the 2.0 series of Chef Zero, the DataStore did not prefix values.
|
304
|
+
# In the 2.1+ series, DataStore values are nested under
|
305
|
+
# +organizations/chef+, for some ridiciously reason.
|
306
|
+
#
|
307
|
+
# Oh, and for the record, there was no CHANGELOG entry or anything. They
|
308
|
+
# just decided it would be a good idea to change one of the main APIs in
|
309
|
+
# the system.
|
310
|
+
if ChefZero::VERSION.to_f == 2.0
|
311
|
+
get_without_prefix(*args)
|
312
|
+
else
|
313
|
+
get_with_prefix(*args)
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
# @see {get}
|
318
|
+
def get_without_prefix(*args)
|
302
319
|
if args.size == 1
|
303
320
|
@server.data_store.list(args)
|
304
321
|
else
|
@@ -306,6 +323,17 @@ module ChefSpec
|
|
306
323
|
end
|
307
324
|
end
|
308
325
|
|
326
|
+
# @see {get}
|
327
|
+
def get_with_prefix(*args)
|
328
|
+
args.unshift('organizations', 'chef')
|
329
|
+
|
330
|
+
if args.size == 3
|
331
|
+
@server.data_store.list(args)
|
332
|
+
else
|
333
|
+
@server.data_store.get(args)
|
334
|
+
end
|
335
|
+
end
|
336
|
+
|
309
337
|
#
|
310
338
|
# A randomly assigned, open port for run the Chef Zero server.
|
311
339
|
#
|
data/lib/chefspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chefspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Crump
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chef
|
@@ -605,6 +605,7 @@ files:
|
|
605
605
|
- features/user.feature
|
606
606
|
- features/yum_package.feature
|
607
607
|
- gemfiles/chef-11.12.0.gemfile
|
608
|
+
- gemfiles/chef-11.14.0.gemfile
|
608
609
|
- gemfiles/chef-master.gemfile
|
609
610
|
- lib/chefspec.rb
|
610
611
|
- lib/chefspec/api.rb
|
@@ -753,7 +754,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
753
754
|
version: '0'
|
754
755
|
requirements: []
|
755
756
|
rubyforge_project:
|
756
|
-
rubygems_version: 2.
|
757
|
+
rubygems_version: 2.3.0
|
757
758
|
signing_key:
|
758
759
|
specification_version: 4
|
759
760
|
summary: Write RSpec examples and generate coverage reports for Chef recipes!
|