chef-apply 0.3.3 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +1 -1
- data/chef-apply.gemspec +2 -1
- data/lib/chef_apply/action/base.rb +1 -0
- data/lib/chef_apply/action/converge_target.rb +11 -11
- data/lib/chef_apply/action/converge_target/ccr_failure_mapper.rb +100 -0
- data/lib/chef_apply/action/generate_local_policy.rb +1 -1
- data/lib/chef_apply/action/generate_temp_cookbook.rb +53 -53
- data/lib/chef_apply/action/generate_temp_cookbook/recipe_lookup.rb +124 -0
- data/lib/chef_apply/action/generate_temp_cookbook/temp_cookbook.rb +175 -0
- data/lib/chef_apply/action/install_chef.rb +8 -8
- data/lib/chef_apply/action/install_chef/minimum_chef_version.rb +85 -0
- data/lib/chef_apply/cli.rb +10 -9
- data/lib/chef_apply/cli/options.rb +2 -2
- data/lib/chef_apply/cli/validation.rb +2 -1
- data/lib/chef_apply/file_fetcher.rb +1 -1
- data/lib/chef_apply/log.rb +4 -6
- data/lib/chef_apply/startup.rb +7 -4
- data/lib/chef_apply/target_host.rb +10 -5
- data/lib/chef_apply/target_host/linux.rb +1 -1
- data/lib/chef_apply/target_resolver.rb +3 -1
- data/lib/chef_apply/telemeter.rb +1 -1
- data/lib/chef_apply/text/error_translation.rb +1 -1
- data/lib/chef_apply/text/text_wrapper.rb +2 -1
- data/lib/chef_apply/ui/error_printer.rb +15 -13
- data/lib/chef_apply/ui/plain_text_element.rb +1 -2
- data/lib/chef_apply/ui/plain_text_header.rb +1 -1
- data/lib/chef_apply/ui/terminal.rb +4 -4
- data/lib/chef_apply/version.rb +1 -1
- data/spec/spec_helper.rb +43 -3
- data/spec/unit/action/base_spec.rb +2 -1
- data/spec/unit/{errors → action/converge_target}/ccr_failure_mapper_spec.rb +12 -9
- data/spec/unit/action/converge_target_spec.rb +21 -22
- data/spec/unit/action/generate_local_policy_spec.rb +5 -5
- data/spec/unit/{recipe_lookup_spec.rb → action/generate_temp_cookbook/recipe_lookup_spec.rb} +10 -10
- data/spec/unit/{temp_cookbook_spec.rb → action/generate_temp_cookbook/temp_cookbook_spec.rb} +23 -24
- data/spec/unit/action/generate_temp_cookbook_spec.rb +4 -6
- data/spec/unit/{minimum_chef_version_spec.rb → action/install_chef/minimum_chef_version_spec.rb} +13 -13
- data/spec/unit/action/install_chef_spec.rb +4 -4
- data/spec/unit/cli/options_spec.rb +17 -17
- data/spec/unit/cli/validation_spec.rb +6 -3
- data/spec/unit/cli_spec.rb +12 -9
- data/spec/unit/log_spec.rb +1 -1
- data/spec/unit/startup_spec.rb +11 -12
- data/spec/unit/target_host/windows_spec.rb +1 -1
- data/spec/unit/target_host_spec.rb +3 -2
- data/spec/unit/telemeter_spec.rb +5 -5
- data/spec/unit/text/error_translation_spec.rb +11 -7
- data/spec/unit/ui/error_printer_spec.rb +6 -7
- metadata +24 -11
- data/Gemfile.lock +0 -400
- data/lib/chef_apply/errors/ccr_failure_mapper.rb +0 -93
- data/lib/chef_apply/minimum_chef_version.rb +0 -79
- data/lib/chef_apply/recipe_lookup.rb +0 -117
- data/lib/chef_apply/temp_cookbook.rb +0 -170
@@ -47,8 +47,8 @@ RSpec.describe ChefApply::Action::InstallChef do
|
|
47
47
|
context "#perform_action" do
|
48
48
|
context "when chef is already installed on target" do
|
49
49
|
it "notifies of success and takes no further action" do
|
50
|
-
expect(ChefApply::MinimumChefVersion).to receive(:check!).with(install.target_host, false)
|
51
|
-
|
50
|
+
expect(ChefApply::Action::InstallChef::MinimumChefVersion).to receive(:check!).with(install.target_host, false)
|
51
|
+
.and_return(:minimum_version_met)
|
52
52
|
expect(install).not_to receive(:perform_local_install)
|
53
53
|
install.perform_action
|
54
54
|
end
|
@@ -56,8 +56,8 @@ RSpec.describe ChefApply::Action::InstallChef do
|
|
56
56
|
|
57
57
|
context "when chef is not already installed on target" do
|
58
58
|
it "should invoke perform_local_install" do
|
59
|
-
expect(ChefApply::MinimumChefVersion).to receive(:check!).with(install.target_host, false)
|
60
|
-
|
59
|
+
expect(ChefApply::Action::InstallChef::MinimumChefVersion).to receive(:check!).with(install.target_host, false)
|
60
|
+
.and_return(:client_not_installed)
|
61
61
|
expect(install).to receive(:perform_local_install)
|
62
62
|
install.perform_action
|
63
63
|
end
|
@@ -39,23 +39,23 @@ RSpec.describe ChefApply::CLIOptions do
|
|
39
39
|
let(:klass) { ChefApply::CLIOptions::TestClass.new }
|
40
40
|
|
41
41
|
it "contains the specified options" do
|
42
|
-
expect(klass.options.keys).to eq(
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
42
|
+
expect(klass.options.keys).to eq(%i{
|
43
|
+
version
|
44
|
+
help
|
45
|
+
config_path
|
46
|
+
identity_file
|
47
|
+
ssl
|
48
|
+
ssl_verify
|
49
|
+
protocol
|
50
|
+
user
|
51
|
+
password
|
52
|
+
cookbook_repo_paths
|
53
|
+
install
|
54
|
+
sudo
|
55
|
+
sudo_command
|
56
|
+
sudo_password
|
57
|
+
sudo_options
|
58
|
+
})
|
59
59
|
end
|
60
60
|
|
61
61
|
it "persists certain CLI options back to the ChefApply::Config" do
|
@@ -13,7 +13,7 @@ RSpec.describe ChefApply::CLI::Validation do
|
|
13
13
|
it "raises an error if not enough params are specified" do
|
14
14
|
params = [
|
15
15
|
[],
|
16
|
-
%w{one}
|
16
|
+
%w{one},
|
17
17
|
]
|
18
18
|
params.each do |p|
|
19
19
|
expect { subject.validate_params(p) }.to raise_error(OptionValidationError) do |e|
|
@@ -31,7 +31,7 @@ RSpec.describe ChefApply::CLI::Validation do
|
|
31
31
|
it "succeeds if the second argument looks like a cookbook name" do
|
32
32
|
params = [
|
33
33
|
%w{target cb},
|
34
|
-
%w{target cb::recipe}
|
34
|
+
%w{target cb::recipe},
|
35
35
|
]
|
36
36
|
params.each do |p|
|
37
37
|
expect { subject.validate_params(p) }.to_not raise_error
|
@@ -60,7 +60,7 @@ RSpec.describe ChefApply::CLI::Validation do
|
|
60
60
|
end
|
61
61
|
describe "#properties_from_string" do
|
62
62
|
it "parses properties into a hash" do
|
63
|
-
provided = %w{key1=value key2=1 key3=true key4=FaLsE key5=0777 key6=https://some.website key7=num1and2digit key_8=underscore}
|
63
|
+
provided = %w{key1=value key2=1 key3=true key4=FaLsE key5=0777 key6=https://some.website key7=num1and2digit key_8=underscore key9=127.0.0.1 key10=1. key11=1.1}
|
64
64
|
expected = {
|
65
65
|
"key1" => "value",
|
66
66
|
"key2" => 1,
|
@@ -70,6 +70,9 @@ RSpec.describe ChefApply::CLI::Validation do
|
|
70
70
|
"key6" => "https://some.website",
|
71
71
|
"key7" => "num1and2digit",
|
72
72
|
"key_8" => "underscore",
|
73
|
+
"key9" => "127.0.0.1",
|
74
|
+
"key10" => 1.0,
|
75
|
+
"key11" => 1.1,
|
73
76
|
}
|
74
77
|
expect(subject.properties_from_string(provided)).to eq(expected)
|
75
78
|
end
|
data/spec/unit/cli_spec.rb
CHANGED
@@ -22,6 +22,7 @@ require "chef_apply/telemeter"
|
|
22
22
|
require "chef_apply/telemeter/sender"
|
23
23
|
require "chef_apply/ui/terminal"
|
24
24
|
require "chef_apply/action/generate_temp_cookbook"
|
25
|
+
require "chef_apply/action/generate_temp_cookbook/temp_cookbook"
|
25
26
|
|
26
27
|
require "chef-cli/ui"
|
27
28
|
|
@@ -200,7 +201,7 @@ RSpec.describe ChefApply::CLI do
|
|
200
201
|
let(:action) { double("generator", generated_cookbook: temp_cookbook) }
|
201
202
|
|
202
203
|
context "when a resource is provided" do
|
203
|
-
it "gets an action via
|
204
|
+
it "gets an action via GenerateTempCookbook.from_options and executes it " do
|
204
205
|
expect(ChefApply::Action::GenerateTempCookbook)
|
205
206
|
.to receive(:from_options)
|
206
207
|
.with(resource_type: "user",
|
@@ -213,7 +214,7 @@ RSpec.describe ChefApply::CLI do
|
|
213
214
|
|
214
215
|
context "when a recipe specifier is provided" do
|
215
216
|
|
216
|
-
it "gets an action via
|
217
|
+
it "gets an action via GenerateTempCookbook.from_options and executes it" do
|
217
218
|
expect(ChefApply::Action::GenerateTempCookbook)
|
218
219
|
.to receive(:from_options)
|
219
220
|
.with(recipe_spec: "mycookbook::default", cookbook_repo_paths: "/tmp")
|
@@ -316,7 +317,7 @@ RSpec.describe ChefApply::CLI do
|
|
316
317
|
|
317
318
|
describe "#render_cookbook_setup" do
|
318
319
|
let(:reporter) { instance_double(ChefApply::StatusReporter) }
|
319
|
-
let(:temp_cookbook) { double(ChefApply::TempCookbook) }
|
320
|
+
let(:temp_cookbook) { double(ChefApply::Action::GenerateTempCookbook::TempCookbook) }
|
320
321
|
let(:archive_file_location) { "/path/to/archive" }
|
321
322
|
let(:args) { [] }
|
322
323
|
# before do
|
@@ -345,9 +346,10 @@ RSpec.describe ChefApply::CLI do
|
|
345
346
|
let(:host2) { ChefApply::TargetHost.new("ssh://host2") }
|
346
347
|
let(:cookbook_type) { :resource } # || :recipe
|
347
348
|
let(:temp_cookbook) do
|
348
|
-
instance_double(ChefApply::TempCookbook,
|
349
|
-
|
350
|
-
|
349
|
+
instance_double(ChefApply::Action::GenerateTempCookbook::TempCookbook,
|
350
|
+
descriptor: "resource[name]",
|
351
|
+
from: "resource")
|
352
|
+
end
|
351
353
|
let(:archive_file_location) { "/path/to/archive" }
|
352
354
|
|
353
355
|
before do
|
@@ -377,8 +379,9 @@ RSpec.describe ChefApply::CLI do
|
|
377
379
|
let(:reporter) { double("reporter") }
|
378
380
|
let(:action) do
|
379
381
|
double("ChefApply::Actions::InstallChef",
|
380
|
-
|
381
|
-
|
382
|
+
upgrading?: upgrading,
|
383
|
+
version_to_install: "14.0")
|
384
|
+
end
|
382
385
|
|
383
386
|
it "updates status, creates an InstallChef action and executes it" do
|
384
387
|
expect(reporter)
|
@@ -454,7 +457,7 @@ RSpec.describe ChefApply::CLI do
|
|
454
457
|
let(:upgrading) { true }
|
455
458
|
it "reports the update correctly" do
|
456
459
|
expect(reporter).to receive(:update).with(text_context.upgrade_success(target_host.installed_chef_version,
|
457
|
-
|
460
|
+
action.version_to_install))
|
458
461
|
subject.install(target_host, reporter)
|
459
462
|
end
|
460
463
|
end
|
data/spec/unit/log_spec.rb
CHANGED
data/spec/unit/startup_spec.rb
CHANGED
@@ -25,18 +25,18 @@ RSpec.describe ChefApply::Startup do
|
|
25
25
|
|
26
26
|
describe "#run" do
|
27
27
|
it "performs ordered startup tasks and invokes the CLI" do
|
28
|
-
ordered_messages =
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
28
|
+
ordered_messages = %i{verify_not_in_chefdk
|
29
|
+
first_run_tasks
|
30
|
+
setup_workstation_user_directories
|
31
|
+
setup_error_handling
|
32
|
+
load_config
|
33
|
+
setup_logging
|
34
|
+
start_telemeter_upload
|
35
|
+
start_chef_apply}
|
36
36
|
ordered_messages.each do |msg|
|
37
37
|
expect(subject).to receive(msg).ordered
|
38
38
|
end
|
39
|
-
subject.run
|
39
|
+
subject.run
|
40
40
|
end
|
41
41
|
|
42
42
|
context "when errors happen" do
|
@@ -304,9 +304,8 @@ RSpec.describe ChefApply::Startup do
|
|
304
304
|
|
305
305
|
it "sets up the logging for ChefApply and Chef" do
|
306
306
|
expect(ChefApply::Log).to receive(:setup)
|
307
|
-
.with(
|
308
|
-
expect(Chef::Log).to receive(:init)
|
309
|
-
.with(ChefApply::Log.location)
|
307
|
+
.with(ChefApply::Config.log.location, log_level)
|
308
|
+
expect(Chef::Log).to receive(:init).with(ChefApply::Log.stream)
|
310
309
|
subject.setup_logging
|
311
310
|
expect(ChefConfig.logger).to eq(ChefApply::Log)
|
312
311
|
end
|
@@ -18,7 +18,7 @@ RSpec.describe ChefApply::TargetHost::Windows do
|
|
18
18
|
expect(subject).to receive(:run_command!)
|
19
19
|
.with(ChefApply::TargetHost::Windows::MKTEMP_COMMAND)
|
20
20
|
.and_return(instance_double("result", stdout: path))
|
21
|
-
expect(subject.make_temp_dir
|
21
|
+
expect(subject.make_temp_dir).to eq(path)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -221,7 +221,8 @@ RSpec.describe ChefApply::TargetHost do
|
|
221
221
|
let(:path_is_file) { true }
|
222
222
|
let(:remote_file_mock) do
|
223
223
|
double("remote_file", exist?: path_exists,
|
224
|
-
file?: path_is_file, content: sample_content)
|
224
|
+
file?: path_is_file, content: sample_content)
|
225
|
+
end
|
225
226
|
before do
|
226
227
|
expect(subject).to receive(:backend).and_return backend_mock
|
227
228
|
expect(backend_mock).to receive(:file).with(path).and_return remote_file_mock
|
@@ -281,7 +282,7 @@ RSpec.describe ChefApply::TargetHost do
|
|
281
282
|
it "creates the temp directory and changes ownership" do
|
282
283
|
expect(subject).to receive(:make_temp_dir).and_return("/tmp/dir")
|
283
284
|
expect(subject).to receive(:chown).with("/tmp/dir", subject.user)
|
284
|
-
subject.temp_dir
|
285
|
+
subject.temp_dir
|
285
286
|
end
|
286
287
|
end
|
287
288
|
|
data/spec/unit/telemeter_spec.rb
CHANGED
@@ -62,11 +62,11 @@ RSpec.describe ChefApply::Telemeter do
|
|
62
62
|
context "when a valid target_host is present" do
|
63
63
|
it "invokes timed_capture with action and valid target data" do
|
64
64
|
target = instance_double("TargetHost",
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
base_os: "windows",
|
66
|
+
version: "10.0.0",
|
67
|
+
architecture: "x86_64",
|
68
|
+
hostname: "My_Host",
|
69
|
+
transport_type: "winrm")
|
70
70
|
action = instance_double("Action::Base", name: "test_action",
|
71
71
|
target_host: target)
|
72
72
|
expected_data = {
|
@@ -31,7 +31,8 @@ RSpec.describe ChefApply::Text::ErrorTranslation do
|
|
31
31
|
|
32
32
|
let(:error_table) do
|
33
33
|
{ display_defaults: display_defaults,
|
34
|
-
TESTERROR: test_error }
|
34
|
+
TESTERROR: test_error }
|
35
|
+
end
|
35
36
|
|
36
37
|
let(:test_error_text) { "This is a test error" }
|
37
38
|
let(:test_error) { {} }
|
@@ -39,11 +40,13 @@ RSpec.describe ChefApply::Text::ErrorTranslation do
|
|
39
40
|
subject { ChefApply::Text::ErrorTranslation }
|
40
41
|
let(:error_mock) do
|
41
42
|
double("R18n::Translated",
|
42
|
-
|
43
|
+
text: test_error_text )
|
44
|
+
end
|
43
45
|
let(:translation_mock) do
|
44
46
|
double("R18n::Translated",
|
45
|
-
|
46
|
-
|
47
|
+
TESTERROR: error_mock,
|
48
|
+
text: test_error_text )
|
49
|
+
end
|
47
50
|
before do
|
48
51
|
# Mock out the R18n portion - our methods care only that the key exists, and
|
49
52
|
# the test focus is on the display metadata.
|
@@ -67,7 +70,8 @@ RSpec.describe ChefApply::Text::ErrorTranslation do
|
|
67
70
|
context "when all display attributes are specified" do
|
68
71
|
let(:test_error) do
|
69
72
|
{ display: { decorations: false, header: false,
|
70
|
-
footer: false, stack: true, log: true } }
|
73
|
+
footer: false, stack: true, log: true } }
|
74
|
+
end
|
71
75
|
it "sets display attributes to specified values with no defaults" do
|
72
76
|
translation = subject.new("TESTERROR")
|
73
77
|
expect(translation.decorations).to be false
|
@@ -97,8 +101,8 @@ RSpec.describe ChefApply::Text::ErrorTranslation do
|
|
97
101
|
it "raises InvalidDisplayAttributes when invalid attributes are specified" do
|
98
102
|
expect { subject.new("TESTERROR") }
|
99
103
|
.to raise_error(ChefApply::Text::ErrorTranslation::InvalidDisplayAttributes) do |e|
|
100
|
-
|
101
|
-
|
104
|
+
expect(e.invalid_attrs).to eq({ bad_value: true })
|
105
|
+
end
|
102
106
|
|
103
107
|
end
|
104
108
|
end
|
@@ -34,12 +34,11 @@ RSpec.describe ChefApply::UI::ErrorPrinter do
|
|
34
34
|
let(:show_header) { true }
|
35
35
|
let(:translation_mock) do
|
36
36
|
instance_double("ChefApply::Errors::ErrorTranslation",
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
)
|
37
|
+
footer: show_footer,
|
38
|
+
log: show_log,
|
39
|
+
stack: show_stack,
|
40
|
+
header: show_header,
|
41
|
+
decorations: has_decorations)
|
43
42
|
end
|
44
43
|
subject { ChefApply::UI::ErrorPrinter.new(wrapped_exception, nil) }
|
45
44
|
|
@@ -188,7 +187,7 @@ RSpec.describe ChefApply::UI::ErrorPrinter do
|
|
188
187
|
|
189
188
|
let(:orig_args) { %w{test} }
|
190
189
|
it "formats and saves the backtrace" do
|
191
|
-
expect(inst).to receive(:add_backtrace_header).with(anything
|
190
|
+
expect(inst).to receive(:add_backtrace_header).with(anything, orig_args)
|
192
191
|
expect(inst).to receive(:add_formatted_backtrace)
|
193
192
|
expect(inst).to receive(:save_backtrace)
|
194
193
|
ChefApply::UI::ErrorPrinter.write_backtrace(wrapped_exception, orig_args)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-apply
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chef Software, Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mixlib-cli
|
@@ -96,6 +96,20 @@ dependencies:
|
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: train
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '3.0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '3.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: train-winrm
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - ">="
|
@@ -221,7 +235,6 @@ extensions: []
|
|
221
235
|
extra_rdoc_files: []
|
222
236
|
files:
|
223
237
|
- Gemfile
|
224
|
-
- Gemfile.lock
|
225
238
|
- LICENSE
|
226
239
|
- README.md
|
227
240
|
- Rakefile
|
@@ -232,9 +245,13 @@ files:
|
|
232
245
|
- lib/chef_apply.rb
|
233
246
|
- lib/chef_apply/action/base.rb
|
234
247
|
- lib/chef_apply/action/converge_target.rb
|
248
|
+
- lib/chef_apply/action/converge_target/ccr_failure_mapper.rb
|
235
249
|
- lib/chef_apply/action/generate_local_policy.rb
|
236
250
|
- lib/chef_apply/action/generate_temp_cookbook.rb
|
251
|
+
- lib/chef_apply/action/generate_temp_cookbook/recipe_lookup.rb
|
252
|
+
- lib/chef_apply/action/generate_temp_cookbook/temp_cookbook.rb
|
237
253
|
- lib/chef_apply/action/install_chef.rb
|
254
|
+
- lib/chef_apply/action/install_chef/minimum_chef_version.rb
|
238
255
|
- lib/chef_apply/action/reporter.rb
|
239
256
|
- lib/chef_apply/cli.rb
|
240
257
|
- lib/chef_apply/cli/help.rb
|
@@ -242,12 +259,9 @@ files:
|
|
242
259
|
- lib/chef_apply/cli/validation.rb
|
243
260
|
- lib/chef_apply/config.rb
|
244
261
|
- lib/chef_apply/error.rb
|
245
|
-
- lib/chef_apply/errors/ccr_failure_mapper.rb
|
246
262
|
- lib/chef_apply/errors/standard_error_resolver.rb
|
247
263
|
- lib/chef_apply/file_fetcher.rb
|
248
264
|
- lib/chef_apply/log.rb
|
249
|
-
- lib/chef_apply/minimum_chef_version.rb
|
250
|
-
- lib/chef_apply/recipe_lookup.rb
|
251
265
|
- lib/chef_apply/startup.rb
|
252
266
|
- lib/chef_apply/status_reporter.rb
|
253
267
|
- lib/chef_apply/target_host.rb
|
@@ -257,7 +271,6 @@ files:
|
|
257
271
|
- lib/chef_apply/telemeter.rb
|
258
272
|
- lib/chef_apply/telemeter/patch.rb
|
259
273
|
- lib/chef_apply/telemeter/sender.rb
|
260
|
-
- lib/chef_apply/temp_cookbook.rb
|
261
274
|
- lib/chef_apply/text.rb
|
262
275
|
- lib/chef_apply/text/error_translation.rb
|
263
276
|
- lib/chef_apply/text/text_wrapper.rb
|
@@ -275,20 +288,21 @@ files:
|
|
275
288
|
- spec/spec_helper.rb
|
276
289
|
- spec/support/matchers/output_to_terminal.rb
|
277
290
|
- spec/unit/action/base_spec.rb
|
291
|
+
- spec/unit/action/converge_target/ccr_failure_mapper_spec.rb
|
278
292
|
- spec/unit/action/converge_target_spec.rb
|
279
293
|
- spec/unit/action/generate_local_policy_spec.rb
|
294
|
+
- spec/unit/action/generate_temp_cookbook/recipe_lookup_spec.rb
|
295
|
+
- spec/unit/action/generate_temp_cookbook/temp_cookbook_spec.rb
|
280
296
|
- spec/unit/action/generate_temp_cookbook_spec.rb
|
297
|
+
- spec/unit/action/install_chef/minimum_chef_version_spec.rb
|
281
298
|
- spec/unit/action/install_chef_spec.rb
|
282
299
|
- spec/unit/cli/options_spec.rb
|
283
300
|
- spec/unit/cli/validation_spec.rb
|
284
301
|
- spec/unit/cli_spec.rb
|
285
302
|
- spec/unit/config_spec.rb
|
286
|
-
- spec/unit/errors/ccr_failure_mapper_spec.rb
|
287
303
|
- spec/unit/file_fetcher_spec.rb
|
288
304
|
- spec/unit/fixtures/multi-error.out
|
289
305
|
- spec/unit/log_spec.rb
|
290
|
-
- spec/unit/minimum_chef_version_spec.rb
|
291
|
-
- spec/unit/recipe_lookup_spec.rb
|
292
306
|
- spec/unit/startup_spec.rb
|
293
307
|
- spec/unit/target_host/linux_spec.rb
|
294
308
|
- spec/unit/target_host/windows_spec.rb
|
@@ -296,7 +310,6 @@ files:
|
|
296
310
|
- spec/unit/target_resolver_spec.rb
|
297
311
|
- spec/unit/telemeter/sender_spec.rb
|
298
312
|
- spec/unit/telemeter_spec.rb
|
299
|
-
- spec/unit/temp_cookbook_spec.rb
|
300
313
|
- spec/unit/text/error_translation_spec.rb
|
301
314
|
- spec/unit/ui/error_printer_spec.rb
|
302
315
|
- spec/unit/ui/terminal_spec.rb
|