chef-dk 0.5.0.rc.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|