chef-dk 0.5.0.rc.1 → 0.5.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.
- checksums.yaml +4 -4
- data/README.md +63 -24
- data/lib/chef-dk/builtin_commands.rb +2 -0
- data/lib/chef-dk/command/diff.rb +312 -0
- data/lib/chef-dk/command/push.rb +1 -1
- data/lib/chef-dk/command/shell_init.rb +21 -3
- data/lib/chef-dk/command/update.rb +28 -5
- data/lib/chef-dk/configurable.rb +1 -1
- data/lib/chef-dk/exceptions.rb +3 -0
- data/lib/chef-dk/pager.rb +106 -0
- data/lib/chef-dk/policyfile/chef_repo_cookbook_source.rb +114 -0
- data/lib/chef-dk/policyfile/comparison_base.rb +124 -0
- data/lib/chef-dk/policyfile/cookbook_sources.rb +1 -0
- data/lib/chef-dk/policyfile/differ.rb +266 -0
- data/lib/chef-dk/policyfile/dsl.rb +26 -3
- data/lib/chef-dk/policyfile/uploader.rb +4 -5
- data/lib/chef-dk/policyfile_compiler.rb +8 -0
- data/lib/chef-dk/policyfile_lock.rb +135 -3
- data/lib/chef-dk/policyfile_services/install.rb +1 -0
- data/lib/chef-dk/policyfile_services/update_attributes.rb +104 -0
- data/lib/chef-dk/service_exceptions.rb +12 -0
- data/lib/chef-dk/ui.rb +8 -0
- data/lib/chef-dk/version.rb +1 -1
- data/spec/spec_helper.rb +6 -0
- data/spec/test_helpers.rb +4 -0
- data/spec/unit/command/diff_spec.rb +283 -0
- data/spec/unit/command/shell_init_spec.rb +19 -2
- data/spec/unit/command/update_spec.rb +96 -0
- data/spec/unit/command/verify_spec.rb +0 -6
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile +3 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md +4 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore +96 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb +9 -0
- data/spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb +8 -0
- data/spec/unit/pager_spec.rb +119 -0
- data/spec/unit/policyfile/chef_repo_cookbook_source_spec.rb +66 -0
- data/spec/unit/policyfile/comparison_base_spec.rb +343 -0
- data/spec/unit/policyfile/differ_spec.rb +687 -0
- data/spec/unit/policyfile_evaluation_spec.rb +87 -0
- data/spec/unit/policyfile_lock_build_spec.rb +247 -8
- data/spec/unit/policyfile_lock_serialization_spec.rb +47 -0
- data/spec/unit/policyfile_services/export_repo_spec.rb +2 -0
- data/spec/unit/policyfile_services/push_spec.rb +2 -0
- data/spec/unit/policyfile_services/update_attributes_spec.rb +217 -0
- metadata +62 -6
@@ -27,6 +27,8 @@ describe ChefDK::PolicyfileLock, "when reading a Policyfile.lock" do
|
|
27
27
|
"cookbook_locks" => {
|
28
28
|
# TODO: add some valid locks
|
29
29
|
},
|
30
|
+
"default_attributes" => { "foo" => "bar" },
|
31
|
+
"override_attributes" => { "override_foo" => "override_bar" },
|
30
32
|
"solution_dependencies" => {
|
31
33
|
"Policyfile" => [],
|
32
34
|
"dependencies" => {}
|
@@ -38,6 +40,27 @@ describe ChefDK::PolicyfileLock, "when reading a Policyfile.lock" do
|
|
38
40
|
|
39
41
|
let(:lockfile) { ChefDK::PolicyfileLock.new(storage_config) }
|
40
42
|
|
43
|
+
describe "populating the deserialized lock" do
|
44
|
+
|
45
|
+
before do
|
46
|
+
lockfile.build_from_lock_data(valid_lock_data)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "includes the run list" do
|
50
|
+
expect(lockfile.run_list).to eq(["recipe[cookbook::recipe_name]"])
|
51
|
+
end
|
52
|
+
|
53
|
+
it "includes the cookbook locks" do
|
54
|
+
expect(lockfile.cookbook_locks).to eq({})
|
55
|
+
end
|
56
|
+
|
57
|
+
it "includes the attributes" do
|
58
|
+
expect(lockfile.default_attributes).to eq({"foo" => "bar"})
|
59
|
+
expect(lockfile.override_attributes).to eq({"override_foo" => "override_bar"})
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
41
64
|
describe "validating required fields" do
|
42
65
|
|
43
66
|
it "does not raise an error when all fields are valid" do
|
@@ -88,6 +111,30 @@ describe ChefDK::PolicyfileLock, "when reading a Policyfile.lock" do
|
|
88
111
|
expect { lockfile.build_from_lock_data(invalid_locks) }.to raise_error(ChefDK::InvalidLockfile)
|
89
112
|
end
|
90
113
|
|
114
|
+
it "requires the `default_attributes` section be present and its value is a Hash" do
|
115
|
+
missing_attrs = valid_lock_data.dup
|
116
|
+
missing_attrs.delete("default_attributes")
|
117
|
+
|
118
|
+
expect { lockfile.build_from_lock_data(missing_attrs) }.to raise_error(ChefDK::InvalidLockfile)
|
119
|
+
|
120
|
+
invalid_attrs = valid_lock_data.dup
|
121
|
+
invalid_attrs["default_attributes"] = []
|
122
|
+
|
123
|
+
expect { lockfile.build_from_lock_data(invalid_attrs) }.to raise_error(ChefDK::InvalidLockfile)
|
124
|
+
end
|
125
|
+
|
126
|
+
it "requires the `override_attributes` section be present and its value is a Hash" do
|
127
|
+
missing_attrs = valid_lock_data.dup
|
128
|
+
missing_attrs.delete("override_attributes")
|
129
|
+
|
130
|
+
expect { lockfile.build_from_lock_data(missing_attrs) }.to raise_error(ChefDK::InvalidLockfile)
|
131
|
+
|
132
|
+
invalid_attrs = valid_lock_data.dup
|
133
|
+
invalid_attrs["override_attributes"] = []
|
134
|
+
|
135
|
+
expect { lockfile.build_from_lock_data(invalid_attrs) }.to raise_error(ChefDK::InvalidLockfile)
|
136
|
+
end
|
137
|
+
|
91
138
|
describe "validating solution_dependencies" do
|
92
139
|
|
93
140
|
it "requires the `solution_dependencies' section be present" do
|
@@ -0,0 +1,217 @@
|
|
1
|
+
#
|
2
|
+
# Copyright:: Copyright (c) 2015 Chef Software Inc.
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
#
|
17
|
+
|
18
|
+
require 'spec_helper'
|
19
|
+
require 'chef-dk/helpers'
|
20
|
+
require 'chef-dk/policyfile_services/update_attributes'
|
21
|
+
|
22
|
+
describe ChefDK::PolicyfileServices::UpdateAttributes do
|
23
|
+
|
24
|
+
include ChefDK::Helpers
|
25
|
+
|
26
|
+
let(:working_dir) do
|
27
|
+
path = File.join(tempdir, "policyfile_services_test_working_dir")
|
28
|
+
Dir.mkdir(path)
|
29
|
+
path
|
30
|
+
end
|
31
|
+
|
32
|
+
let(:policyfile_rb_explicit_name) { nil }
|
33
|
+
|
34
|
+
let(:policyfile_rb_name) { policyfile_rb_explicit_name || "Policyfile.rb" }
|
35
|
+
|
36
|
+
let(:policyfile_lock_name) { "Policyfile.lock.json" }
|
37
|
+
|
38
|
+
let(:policyfile_rb_path) { File.join(working_dir, policyfile_rb_name) }
|
39
|
+
|
40
|
+
let(:policyfile_lock_path) { File.join(working_dir, policyfile_lock_name) }
|
41
|
+
|
42
|
+
let(:local_cookbooks_root) do
|
43
|
+
File.join(fixtures_path, "local_path_cookbooks")
|
44
|
+
end
|
45
|
+
|
46
|
+
let(:local_cookbook_path) { File.join(local_cookbooks_root, "local-cookbook") }
|
47
|
+
|
48
|
+
let(:local_cookbook_copy_path) { File.join(working_dir, "cookbooks/local-cookbook") }
|
49
|
+
|
50
|
+
let(:policyfile_content) do
|
51
|
+
<<-E
|
52
|
+
name 'install-example'
|
53
|
+
|
54
|
+
run_list 'local-cookbook'
|
55
|
+
|
56
|
+
cookbook 'local-cookbook', path: 'cookbooks/local-cookbook'
|
57
|
+
|
58
|
+
default["default_attr"] = "new_value_default"
|
59
|
+
|
60
|
+
override["override_attr"] = "new_value_override"
|
61
|
+
E
|
62
|
+
end
|
63
|
+
|
64
|
+
let(:ui) { TestHelpers::TestUI.new }
|
65
|
+
|
66
|
+
let(:storage_config) do
|
67
|
+
ChefDK::Policyfile::StorageConfig.new( cache_path: nil, relative_paths_root: working_dir )
|
68
|
+
end
|
69
|
+
|
70
|
+
subject(:update_attrs_service) { described_class.new(policyfile: policyfile_rb_name, ui: ui, root_dir: working_dir) }
|
71
|
+
|
72
|
+
before do
|
73
|
+
FileUtils.mkdir_p(File.dirname(local_cookbook_copy_path))
|
74
|
+
FileUtils.cp_r(local_cookbook_path, local_cookbook_copy_path)
|
75
|
+
end
|
76
|
+
|
77
|
+
context "when first created" do
|
78
|
+
|
79
|
+
it "has the UI object it was created with" do
|
80
|
+
expect(update_attrs_service.ui).to eq(ui)
|
81
|
+
end
|
82
|
+
|
83
|
+
it "creates a storage config from the given policyfile path and root dir" do
|
84
|
+
new_storage_config = instance_double("ChefDK::Policyfile::StorageConfig")
|
85
|
+
expect(ChefDK::Policyfile::StorageConfig).to receive(:new).with(no_args).and_return(new_storage_config)
|
86
|
+
expect(new_storage_config).to receive(:use_policyfile).with(policyfile_rb_path).and_return(new_storage_config)
|
87
|
+
expect(update_attrs_service.storage_config).to eq(new_storage_config)
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
context "when no Policyfile is present or specified" do
|
93
|
+
|
94
|
+
it "errors out" do
|
95
|
+
expect { update_attrs_service.assert_policy_and_lock_present! }.to raise_error(ChefDK::PolicyfileNotFound, "Policyfile not found at path #{policyfile_rb_path}")
|
96
|
+
expect { update_attrs_service.run }.to raise_error(ChefDK::PolicyfileUpdateError)
|
97
|
+
end
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
context "when no lockfile exists" do
|
102
|
+
|
103
|
+
it "errors out" do
|
104
|
+
with_file(policyfile_rb_path) { |f| f.print(policyfile_content) }
|
105
|
+
expect { update_attrs_service.assert_policy_and_lock_present! }.to raise_error(ChefDK::LockfileNotFound, "Policyfile lock not found at path #{policyfile_lock_path}")
|
106
|
+
expect { update_attrs_service.run }.to raise_error(ChefDK::PolicyfileUpdateError)
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
context "when both the policyfile and lockfile exist" do
|
112
|
+
|
113
|
+
let(:lock_data_with_new_values) do
|
114
|
+
{
|
115
|
+
"revision_id" => "522d740beba4c4e5857bd8bccdb2d7ffd0bbd45ac4350f92b26e4e3b8f68d530",
|
116
|
+
"name" => "install-example",
|
117
|
+
"run_list" => ["recipe[local-cookbook::default]"],
|
118
|
+
"cookbook_locks"=> {
|
119
|
+
"local-cookbook"=> {
|
120
|
+
"version"=>"2.3.4",
|
121
|
+
"identifier"=>"fab501cfaf747901bd82c1bc706beae7dc3a350c",
|
122
|
+
"dotted_decimal_identifier"=> "70567763561641081.489844270461035.258281553147148",
|
123
|
+
"source"=>"cookbooks/local-cookbook",
|
124
|
+
"cache_key"=>nil,
|
125
|
+
"scm_info" => nil,
|
126
|
+
"source_options"=> {
|
127
|
+
"path"=>"cookbooks/local-cookbook"
|
128
|
+
}
|
129
|
+
}
|
130
|
+
},
|
131
|
+
"default_attributes" => {"default_attr"=>"new_value_default"},
|
132
|
+
"override_attributes" => {"override_attr"=>"new_value_override"},
|
133
|
+
"solution_dependencies" => {
|
134
|
+
"Policyfile"=>[["local-cookbook", ">= 0.0.0"]],
|
135
|
+
"dependencies"=>{"local-cookbook (2.3.4)"=>[]}
|
136
|
+
}
|
137
|
+
}
|
138
|
+
end
|
139
|
+
|
140
|
+
let(:previous_policyfile_lock_data) { lock_data_with_new_values }
|
141
|
+
|
142
|
+
let(:policyfile_lock_content) do
|
143
|
+
FFI_Yajl::Encoder.encode(previous_policyfile_lock_data, pretty: true )
|
144
|
+
end
|
145
|
+
|
146
|
+
before do
|
147
|
+
with_file(policyfile_rb_path) { |f| f.print(policyfile_content) }
|
148
|
+
with_file(policyfile_lock_path) { |f| f.print(policyfile_lock_content) }
|
149
|
+
end
|
150
|
+
|
151
|
+
def result_policyfile_lock_data
|
152
|
+
expect(File).to exist(policyfile_lock_path)
|
153
|
+
content = IO.read(policyfile_lock_path)
|
154
|
+
FFI_Yajl::Parser.parse(content)
|
155
|
+
end
|
156
|
+
|
157
|
+
context "when the current lock already has the desired attributes" do
|
158
|
+
|
159
|
+
it "makes no changes to the lockfile" do
|
160
|
+
update_attrs_service.run
|
161
|
+
expect(result_policyfile_lock_data).to eq(lock_data_with_new_values)
|
162
|
+
end
|
163
|
+
|
164
|
+
it "emits a message that no changes have been made to the lockfile" do
|
165
|
+
update_attrs_service.run
|
166
|
+
|
167
|
+
message = "Attributes already up to date"
|
168
|
+
expect(ui.output).to include(message)
|
169
|
+
end
|
170
|
+
|
171
|
+
end
|
172
|
+
|
173
|
+
context "when the Policyfile.rb has different attributes than the lockfile" do
|
174
|
+
|
175
|
+
let(:previous_policyfile_lock_data) do
|
176
|
+
{
|
177
|
+
"revision_id" => "522d740beba4c4e5857bd8bccdb2d7ffd0bbd45ac4350f92b26e4e3b8f68d530",
|
178
|
+
"name" => "install-example",
|
179
|
+
"run_list" => ["recipe[local-cookbook::default]"],
|
180
|
+
"cookbook_locks"=> {
|
181
|
+
"local-cookbook"=> {
|
182
|
+
"version"=>"2.3.4",
|
183
|
+
"identifier"=>"fab501cfaf747901bd82c1bc706beae7dc3a350c",
|
184
|
+
"dotted_decimal_identifier"=> "70567763561641081.489844270461035.258281553147148",
|
185
|
+
"source"=>"cookbooks/local-cookbook",
|
186
|
+
"cache_key" => nil,
|
187
|
+
"scm_info" => nil,
|
188
|
+
"source_options"=> {
|
189
|
+
"path"=>"cookbooks/local-cookbook"
|
190
|
+
}
|
191
|
+
}
|
192
|
+
},
|
193
|
+
"default_attributes" => {"default_attr"=>"old_value_default"},
|
194
|
+
"override_attributes" => {"override_attr"=>"old_value_override"},
|
195
|
+
"solution_dependencies" => {
|
196
|
+
"Policyfile"=>[["local-cookbook", ">= 0.0.0"]],
|
197
|
+
"dependencies"=>{"local-cookbook (2.3.4)"=>[]}
|
198
|
+
}
|
199
|
+
}
|
200
|
+
end
|
201
|
+
|
202
|
+
it "updates the lockfile with the new attributes" do
|
203
|
+
update_attrs_service.run
|
204
|
+
expect(result_policyfile_lock_data).to eq(lock_data_with_new_values)
|
205
|
+
end
|
206
|
+
|
207
|
+
it "emits a messsage stating the attributes have been updated" do
|
208
|
+
update_attrs_service.run
|
209
|
+
expect(ui.output).to include("Updated attributes in #{policyfile_lock_path}")
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
215
|
+
|
216
|
+
end
|
217
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-dk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel DeLeo
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mixlib-cli
|
@@ -69,7 +69,7 @@ dependencies:
|
|
69
69
|
version: '12.0'
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 12.2.
|
72
|
+
version: 12.2.1
|
73
73
|
type: :runtime
|
74
74
|
prerelease: false
|
75
75
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -79,7 +79,7 @@ dependencies:
|
|
79
79
|
version: '12.0'
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 12.2.
|
82
|
+
version: 12.2.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: solve
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.2'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: diff-lcs
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: paint
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '1.0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: rspec-core
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +199,7 @@ files:
|
|
171
199
|
- lib/chef-dk/chef_runner.rb
|
172
200
|
- lib/chef-dk/cli.rb
|
173
201
|
- lib/chef-dk/command/base.rb
|
202
|
+
- lib/chef-dk/command/diff.rb
|
174
203
|
- lib/chef-dk/command/exec.rb
|
175
204
|
- lib/chef-dk/command/export.rb
|
176
205
|
- lib/chef-dk/command/gem.rb
|
@@ -203,11 +232,15 @@ files:
|
|
203
232
|
- lib/chef-dk/exceptions.rb
|
204
233
|
- lib/chef-dk/generator.rb
|
205
234
|
- lib/chef-dk/helpers.rb
|
235
|
+
- lib/chef-dk/pager.rb
|
236
|
+
- lib/chef-dk/policyfile/chef_repo_cookbook_source.rb
|
206
237
|
- lib/chef-dk/policyfile/chef_server_cookbook_source.rb
|
207
238
|
- lib/chef-dk/policyfile/community_cookbook_source.rb
|
239
|
+
- lib/chef-dk/policyfile/comparison_base.rb
|
208
240
|
- lib/chef-dk/policyfile/cookbook_location_specification.rb
|
209
241
|
- lib/chef-dk/policyfile/cookbook_locks.rb
|
210
242
|
- lib/chef-dk/policyfile/cookbook_sources.rb
|
243
|
+
- lib/chef-dk/policyfile/differ.rb
|
211
244
|
- lib/chef-dk/policyfile/dsl.rb
|
212
245
|
- lib/chef-dk/policyfile/null_cookbook_source.rb
|
213
246
|
- lib/chef-dk/policyfile/read_cookbook_for_compat_mode_upload.rb
|
@@ -222,6 +255,7 @@ files:
|
|
222
255
|
- lib/chef-dk/policyfile_services/export_repo.rb
|
223
256
|
- lib/chef-dk/policyfile_services/install.rb
|
224
257
|
- lib/chef-dk/policyfile_services/push.rb
|
258
|
+
- lib/chef-dk/policyfile_services/update_attributes.rb
|
225
259
|
- lib/chef-dk/service_exception_inspectors.rb
|
226
260
|
- lib/chef-dk/service_exception_inspectors/base.rb
|
227
261
|
- lib/chef-dk/service_exception_inspectors/http.rb
|
@@ -286,6 +320,7 @@ files:
|
|
286
320
|
- spec/unit/chef_runner_spec.rb
|
287
321
|
- spec/unit/cli_spec.rb
|
288
322
|
- spec/unit/command/base_spec.rb
|
323
|
+
- spec/unit/command/diff_spec.rb
|
289
324
|
- spec/unit/command/exec_spec.rb
|
290
325
|
- spec/unit/command/export_spec.rb
|
291
326
|
- spec/unit/command/generate_spec.rb
|
@@ -375,6 +410,11 @@ files:
|
|
375
410
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore
|
376
411
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb
|
377
412
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb
|
413
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile
|
414
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md
|
415
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore
|
416
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb
|
417
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb
|
378
418
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml
|
379
419
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile
|
380
420
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md
|
@@ -387,10 +427,14 @@ files:
|
|
387
427
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
|
388
428
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
|
389
429
|
- spec/unit/generator_spec.rb
|
430
|
+
- spec/unit/pager_spec.rb
|
431
|
+
- spec/unit/policyfile/chef_repo_cookbook_source_spec.rb
|
390
432
|
- spec/unit/policyfile/chef_server_cookbook_source_spec.rb
|
391
433
|
- spec/unit/policyfile/community_cookbook_source_spec.rb
|
434
|
+
- spec/unit/policyfile/comparison_base_spec.rb
|
392
435
|
- spec/unit/policyfile/cookbook_location_specification_spec.rb
|
393
436
|
- spec/unit/policyfile/cookbook_locks_spec.rb
|
437
|
+
- spec/unit/policyfile/differ_spec.rb
|
394
438
|
- spec/unit/policyfile/null_cookbook_source_spec.rb
|
395
439
|
- spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb
|
396
440
|
- spec/unit/policyfile/reports/install_spec.rb
|
@@ -407,6 +451,7 @@ files:
|
|
407
451
|
- spec/unit/policyfile_services/export_repo_spec.rb
|
408
452
|
- spec/unit/policyfile_services/install_spec.rb
|
409
453
|
- spec/unit/policyfile_services/push_spec.rb
|
454
|
+
- spec/unit/policyfile_services/update_attributes_spec.rb
|
410
455
|
- spec/unit/service_exception_inspectors/base_spec.rb
|
411
456
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
412
457
|
- spec/unit/shell_out_spec.rb
|
@@ -424,9 +469,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
424
469
|
version: '2.0'
|
425
470
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
426
471
|
requirements:
|
427
|
-
- - "
|
472
|
+
- - ">="
|
428
473
|
- !ruby/object:Gem::Version
|
429
|
-
version:
|
474
|
+
version: '0'
|
430
475
|
requirements: []
|
431
476
|
rubyforge_project:
|
432
477
|
rubygems_version: 2.4.2
|
@@ -445,6 +490,7 @@ test_files:
|
|
445
490
|
- spec/unit/chef_runner_spec.rb
|
446
491
|
- spec/unit/cli_spec.rb
|
447
492
|
- spec/unit/command/base_spec.rb
|
493
|
+
- spec/unit/command/diff_spec.rb
|
448
494
|
- spec/unit/command/exec_spec.rb
|
449
495
|
- spec/unit/command/export_spec.rb
|
450
496
|
- spec/unit/command/generate_spec.rb
|
@@ -534,6 +580,11 @@ test_files:
|
|
534
580
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/chefignore
|
535
581
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/metadata.rb
|
536
582
|
- spec/unit/fixtures/local_path_cookbooks/another-local-cookbook/recipes/default.rb
|
583
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/Berksfile
|
584
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/README.md
|
585
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/chefignore
|
586
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/metadata.rb
|
587
|
+
- spec/unit/fixtures/local_path_cookbooks/cookbook-with-a-dep/recipes/default.rb
|
537
588
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/.kitchen.yml
|
538
589
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/Berksfile
|
539
590
|
- spec/unit/fixtures/local_path_cookbooks/local-cookbook/README.md
|
@@ -546,10 +597,14 @@ test_files:
|
|
546
597
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/metadata.rb
|
547
598
|
- spec/unit/fixtures/local_path_cookbooks/noignore-f59ee7a5bca6a4e606b67f7f856b768d847c39bb/recipes/default.rb
|
548
599
|
- spec/unit/generator_spec.rb
|
600
|
+
- spec/unit/pager_spec.rb
|
601
|
+
- spec/unit/policyfile/chef_repo_cookbook_source_spec.rb
|
549
602
|
- spec/unit/policyfile/chef_server_cookbook_source_spec.rb
|
550
603
|
- spec/unit/policyfile/community_cookbook_source_spec.rb
|
604
|
+
- spec/unit/policyfile/comparison_base_spec.rb
|
551
605
|
- spec/unit/policyfile/cookbook_location_specification_spec.rb
|
552
606
|
- spec/unit/policyfile/cookbook_locks_spec.rb
|
607
|
+
- spec/unit/policyfile/differ_spec.rb
|
553
608
|
- spec/unit/policyfile/null_cookbook_source_spec.rb
|
554
609
|
- spec/unit/policyfile/read_cookbook_for_compat_mode_upload_spec.rb
|
555
610
|
- spec/unit/policyfile/reports/install_spec.rb
|
@@ -566,6 +621,7 @@ test_files:
|
|
566
621
|
- spec/unit/policyfile_services/export_repo_spec.rb
|
567
622
|
- spec/unit/policyfile_services/install_spec.rb
|
568
623
|
- spec/unit/policyfile_services/push_spec.rb
|
624
|
+
- spec/unit/policyfile_services/update_attributes_spec.rb
|
569
625
|
- spec/unit/service_exception_inspectors/base_spec.rb
|
570
626
|
- spec/unit/service_exception_inspectors/http_spec.rb
|
571
627
|
- spec/unit/shell_out_spec.rb
|