chef 15.10.12 → 15.11.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -3
- data/Rakefile +1 -1
- data/lib/chef/application/apply.rb +1 -1
- data/lib/chef/application/exit_code.rb +2 -2
- data/lib/chef/chef_fs/chef_fs_data_store.rb +3 -3
- data/lib/chef/chef_fs/file_system/chef_server/policies_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/chef_server/rest_list_dir.rb +1 -1
- data/lib/chef/chef_fs/file_system/multiplexed_dir.rb +1 -1
- data/lib/chef/cookbook_version.rb +4 -4
- data/lib/chef/deprecated.rb +1 -1
- data/lib/chef/dsl/platform_introspection.rb +1 -1
- data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
- data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
- data/lib/chef/knife.rb +26 -20
- data/lib/chef/knife/bootstrap.rb +22 -21
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +12 -8
- data/lib/chef/knife/bootstrap/client_builder.rb +23 -19
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
- data/lib/chef/knife/cookbook_site_search.rb +1 -1
- data/lib/chef/knife/cookbook_site_show.rb +1 -1
- data/lib/chef/knife/cookbook_site_unshare.rb +1 -1
- data/lib/chef/knife/core/windows_bootstrap_context.rb +18 -3
- data/lib/chef/knife/ssh.rb +1 -1
- data/lib/chef/mixin/create_path.rb +8 -8
- data/lib/chef/node/mixin/deep_merge_cache.rb +7 -7
- data/lib/chef/provider/package/chocolatey.rb +3 -2
- data/lib/chef/provider/service/simple.rb +3 -3
- data/lib/chef/provider/windows_task.rb +1 -1
- data/lib/chef/resource/build_essential.rb +1 -1
- data/lib/chef/resource/launchd.rb +4 -4
- data/lib/chef/resource/macos_userdefaults.rb +3 -3
- data/lib/chef/resource/windows_firewall_rule.rb +8 -4
- data/lib/chef/resource/windows_share.rb +4 -4
- data/lib/chef/resource/windows_task.rb +13 -13
- data/lib/chef/resource_inspector.rb +4 -3
- data/lib/chef/util/dsc/lcm_output_parser.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/api/command_line_helper.rb +89 -0
- data/lib/chef/win32/api/file.rb +18 -18
- data/lib/chef/win32/file.rb +1 -1
- data/lib/chef/win32/process.rb +2 -2
- data/spec/functional/resource/chocolatey_package_spec.rb +29 -0
- data/spec/functional/resource/user/dscl_spec.rb +1 -1
- data/spec/functional/resource/user/mac_user_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -11
- data/spec/support/shared/functional/file_resource.rb +1 -1
- data/spec/unit/knife/bootstrap_spec.rb +10 -13
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +6 -0
- data/spec/unit/knife/role_env_run_list_add_spec.rb +6 -6
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +4 -4
- data/spec/unit/knife/role_env_run_list_set_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_add_spec.rb +6 -6
- data/spec/unit/knife/role_run_list_clear_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_remove_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_replace_spec.rb +4 -4
- data/spec/unit/knife/role_run_list_set_spec.rb +4 -4
- data/spec/unit/provider/git_spec.rb +3 -3
- data/spec/unit/provider/osx_profile_spec.rb +2 -2
- data/spec/unit/provider/package/chocolatey_spec.rb +1 -1
- data/spec/unit/provider/package/msu_spec.rb +3 -3
- data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
- data/spec/unit/provider_resolver_spec.rb +9 -9
- data/spec/unit/run_context_spec.rb +1 -1
- metadata +7 -6
data/lib/chef/win32/api/file.rb
CHANGED
@@ -461,22 +461,22 @@ BOOL WINAPI DeviceIoControl(
|
|
461
461
|
=end
|
462
462
|
safe_attach_function :DeviceIoControl, %i{HANDLE DWORD LPVOID DWORD LPVOID DWORD LPDWORD pointer}, :BOOL
|
463
463
|
|
464
|
-
# BOOL WINAPI DeleteVolumeMountPoint(
|
465
|
-
|
466
|
-
# );
|
464
|
+
# BOOL WINAPI DeleteVolumeMountPoint(
|
465
|
+
# _In_ LPCTSTR lpszVolumeMountPoint
|
466
|
+
# );
|
467
467
|
safe_attach_function :DeleteVolumeMountPointW, [:LPCTSTR], :BOOL
|
468
468
|
|
469
|
-
# BOOL WINAPI SetVolumeMountPoint(
|
470
|
-
|
471
|
-
|
472
|
-
# );
|
469
|
+
# BOOL WINAPI SetVolumeMountPoint(
|
470
|
+
# _In_ LPCTSTR lpszVolumeMountPoint,
|
471
|
+
# _In_ LPCTSTR lpszVolumeName
|
472
|
+
# );
|
473
473
|
safe_attach_function :SetVolumeMountPointW, %i{LPCTSTR LPCTSTR}, :BOOL
|
474
474
|
|
475
|
-
# BOOL WINAPI GetVolumeNameForVolumeMountPoint(
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
# );
|
475
|
+
# BOOL WINAPI GetVolumeNameForVolumeMountPoint(
|
476
|
+
# _In_ LPCTSTR lpszVolumeMountPoint,
|
477
|
+
# _Out_ LPTSTR lpszVolumeName,
|
478
|
+
# _In_ DWORD cchBufferLength
|
479
|
+
# );
|
480
480
|
safe_attach_function :GetVolumeNameForVolumeMountPointW, %i{LPCTSTR LPTSTR DWORD}, :BOOL
|
481
481
|
|
482
482
|
=begin
|
@@ -538,12 +538,12 @@ BOOL WINAPI VerQueryValue(
|
|
538
538
|
# ensures the handle is closed on exit of the block
|
539
539
|
# FIXME: yard with @yield
|
540
540
|
def file_search_handle(path)
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
541
|
+
# Workaround for CHEF-4419:
|
542
|
+
# Make sure paths starting with "/" has a drive letter
|
543
|
+
# assigned from the current working diretory.
|
544
|
+
# Note: With CHEF-4427 this issue will be fixed with a
|
545
|
+
# broader fix to map all the paths starting with "/" to
|
546
|
+
# SYSTEM_DRIVE on windows.
|
547
547
|
path = ::File.expand_path(path) if path.start_with? "/"
|
548
548
|
path = canonical_encode_path(path)
|
549
549
|
find_data = WIN32_FIND_DATA.new
|
data/lib/chef/win32/file.rb
CHANGED
data/lib/chef/win32/process.rb
CHANGED
@@ -82,8 +82,8 @@ class Chef
|
|
82
82
|
(call_succeeded != 0) && (is_64_bit_process_result.get_int(0) != 0)
|
83
83
|
end
|
84
84
|
|
85
|
-
|
86
|
-
|
85
|
+
# Must have PROCESS_QUERY_INFORMATION or PROCESS_QUERY_LIMITED_INFORMATION rights,
|
86
|
+
# AND the PROCESS_VM_READ right
|
87
87
|
def self.get_process_memory_info(handle)
|
88
88
|
memory_info = PROCESS_MEMORY_COUNTERS.new
|
89
89
|
unless GetProcessMemoryInfo(handle.handle, memory_info, memory_info.size)
|
@@ -32,6 +32,11 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
32
32
|
new_resource
|
33
33
|
end
|
34
34
|
|
35
|
+
let(:provider) do
|
36
|
+
provider = subject.provider_for_action(subject.action)
|
37
|
+
provider
|
38
|
+
end
|
39
|
+
|
35
40
|
context "installing a package" do
|
36
41
|
after { remove_package }
|
37
42
|
|
@@ -88,6 +93,30 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
88
93
|
expect(package_list.call).to eq("#{package_name}|2.0")
|
89
94
|
end
|
90
95
|
|
96
|
+
context "when multiple options passed as string" do
|
97
|
+
before do
|
98
|
+
subject.options "--force --confirm"
|
99
|
+
subject.source nil
|
100
|
+
end
|
101
|
+
|
102
|
+
it "splits a string into an array of options" do
|
103
|
+
expect(provider.send(:cmd_args)).to eq(["--force", "--confirm"])
|
104
|
+
end
|
105
|
+
|
106
|
+
it "calls command_line_to_argv_w_helper method" do
|
107
|
+
expect(provider).to receive(:command_line_to_argv_w_helper).with(subject.options).and_return(["--force", "--confirm"])
|
108
|
+
provider.send(:cmd_args)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
context "when multiple options passed as array" do
|
113
|
+
it "Does not call command_line_to_argv_w_helper method" do
|
114
|
+
subject.options [ "--force", "--confirm" ]
|
115
|
+
expect(provider).not_to receive(:command_line_to_argv_w_helper)
|
116
|
+
provider.send(:cmd_args)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
91
120
|
it "installs with multiple options as an array" do
|
92
121
|
subject.options [ "--force", "--confirm" ]
|
93
122
|
subject.run_action(:install)
|
@@ -29,7 +29,7 @@ describe "Chef::Resource::User with Chef::Provider::User::Dscl provider", metada
|
|
29
29
|
def clean_user
|
30
30
|
shell_out!("/usr/bin/dscl . -delete '/Users/#{username}'")
|
31
31
|
rescue Mixlib::ShellOut::ShellCommandFailed
|
32
|
-
|
32
|
+
# Raised when the user is already cleaned
|
33
33
|
end
|
34
34
|
|
35
35
|
def user_should_exist
|
@@ -29,7 +29,7 @@ describe "Chef::Resource::User with Chef::Provider::User::MacUser provider", met
|
|
29
29
|
def clean_user
|
30
30
|
shell_out!("/usr/bin/dscl . -delete '/Users/#{username}'")
|
31
31
|
rescue Mixlib::ShellOut::ShellCommandFailed
|
32
|
-
|
32
|
+
# Raised when the user is already cleaned
|
33
33
|
end
|
34
34
|
|
35
35
|
def ensure_file_cache_path_exists
|
data/spec/spec_helper.rb
CHANGED
@@ -34,17 +34,6 @@ require "rspec/mocks"
|
|
34
34
|
|
35
35
|
require "webmock/rspec"
|
36
36
|
|
37
|
-
if ENV["COVERAGE"]
|
38
|
-
require "simplecov"
|
39
|
-
SimpleCov.start do
|
40
|
-
add_filter "/spec/"
|
41
|
-
add_group "Remote File", "remote_file"
|
42
|
-
add_group "Resources", "/resource/"
|
43
|
-
add_group "Providers", "/provider/"
|
44
|
-
add_group "Knife", "knife"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
37
|
require "chef"
|
49
38
|
require "chef/knife"
|
50
39
|
|
@@ -370,7 +370,7 @@ shared_examples_for "a configured file resource" do
|
|
370
370
|
Chef::Config[:ssl_verify_mode] = :verify_none
|
371
371
|
end
|
372
372
|
|
373
|
-
|
373
|
+
# note the stripping of the drive letter from the tmpdir on windows
|
374
374
|
let(:backup_glob) { File.join(CHEF_SPEC_BACKUP_PATH, test_file_dir.sub(/^([A-Za-z]:)/, ""), "#{file_base}*") }
|
375
375
|
|
376
376
|
# Most tests update the resource, but a few do not. We need to test that the
|
@@ -854,6 +854,7 @@ describe Chef::Knife::Bootstrap do
|
|
854
854
|
context "and no CLI options have been given" do
|
855
855
|
before do
|
856
856
|
knife.config = {}
|
857
|
+
knife.merge_configs
|
857
858
|
end
|
858
859
|
let(:expected_result) do
|
859
860
|
{
|
@@ -905,6 +906,7 @@ describe Chef::Knife::Bootstrap do
|
|
905
906
|
knife.config[:connection_port] = 12
|
906
907
|
knife.config[:winrm_port] = "13" # indirectly verify we're not looking for the wrong CLI flag
|
907
908
|
knife.config[:connection_password] = "lobster"
|
909
|
+
knife.merge_configs
|
908
910
|
end
|
909
911
|
|
910
912
|
it "generates a config hash using the CLI options when available and falling back to Chef::Config values" do
|
@@ -1004,6 +1006,7 @@ describe Chef::Knife::Bootstrap do
|
|
1004
1006
|
context "and no CLI options have been given" do
|
1005
1007
|
before do
|
1006
1008
|
knife.config = {}
|
1009
|
+
knife.merge_configs
|
1007
1010
|
end
|
1008
1011
|
let(:expected_result) do
|
1009
1012
|
{
|
@@ -1018,7 +1021,7 @@ describe Chef::Knife::Bootstrap do
|
|
1018
1021
|
keys_only: true,
|
1019
1022
|
key_files: ["/identity.pem", "/gateway.pem"],
|
1020
1023
|
sudo: false,
|
1021
|
-
verify_host_key:
|
1024
|
+
verify_host_key: false,
|
1022
1025
|
port: 9999,
|
1023
1026
|
non_interactive: true,
|
1024
1027
|
}
|
@@ -1056,6 +1059,7 @@ describe Chef::Knife::Bootstrap do
|
|
1056
1059
|
knife.config[:use_sudo] = true
|
1057
1060
|
knife.config[:use_sudo_pasword] = true
|
1058
1061
|
knife.config[:ssh_forward_agent] = true
|
1062
|
+
knife.merge_configs
|
1059
1063
|
end
|
1060
1064
|
|
1061
1065
|
let(:expected_result) do
|
@@ -1072,7 +1076,7 @@ describe Chef::Knife::Bootstrap do
|
|
1072
1076
|
keys_only: false, # implied false from config password present
|
1073
1077
|
key_files: ["/identity.pem", "/gateway.pem"], # Config
|
1074
1078
|
sudo: true, # ccli
|
1075
|
-
verify_host_key:
|
1079
|
+
verify_host_key: false, # Config
|
1076
1080
|
port: 12, # cli
|
1077
1081
|
non_interactive: true,
|
1078
1082
|
}
|
@@ -1940,22 +1944,15 @@ describe Chef::Knife::Bootstrap do
|
|
1940
1944
|
Chef::Config[:knife][:test_key_a] = "a from Chef::Config"
|
1941
1945
|
Chef::Config[:knife][:test_key_c] = "c from Chef::Config"
|
1942
1946
|
Chef::Config[:knife][:alt_test_key_c] = "alt c from Chef::Config"
|
1947
|
+
knife.merge_configs
|
1943
1948
|
end
|
1944
1949
|
|
1945
|
-
it "returns
|
1946
|
-
expect(knife.config_value(:
|
1947
|
-
end
|
1948
|
-
|
1949
|
-
it "returns CLI value when key is provided by CLI and Chef::Config" do
|
1950
|
-
expect(knife.config_value(:test_key_a)).to eq "a from cli"
|
1951
|
-
end
|
1952
|
-
|
1953
|
-
it "returns Chef::Config value whent he key is only provided by Chef::Config" do
|
1954
|
-
expect(knife.config_value(:test_key_c)).to eq "c from Chef::Config"
|
1950
|
+
it "returns the Chef::Config value from the cli when the CLI key is set" do
|
1951
|
+
expect(knife.config_value(:test_key_a, :alt_test_key_c)).to eq "a from cli"
|
1955
1952
|
end
|
1956
1953
|
|
1957
1954
|
it "returns the Chef::Config value from the alternative key when the CLI key is not set" do
|
1958
|
-
expect(knife.config_value(:
|
1955
|
+
expect(knife.config_value(:test_key_d, :alt_test_key_c)).to eq "alt c from Chef::Config"
|
1959
1956
|
end
|
1960
1957
|
|
1961
1958
|
it "returns the default value when the key is not provided by CLI or Chef::Config" do
|
@@ -184,6 +184,12 @@ describe Chef::Knife::Core::WindowsBootstrapContext do
|
|
184
184
|
end
|
185
185
|
end
|
186
186
|
|
187
|
+
describe "#start_chef" do
|
188
|
+
it "returns the expected string" do
|
189
|
+
expect(bootstrap_context.start_chef).to match(%r{SET \"PATH=%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\;C:\\ruby\\bin;C:\/opscode\/chef\\bin;C:\/opscode\/chef\\embedded\\bin\;%PATH%\"\n})
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
187
193
|
describe "msi_url" do
|
188
194
|
context "when msi_url config option is not set" do
|
189
195
|
let(:config) { { channel: "stable" } }
|
@@ -21,8 +21,8 @@ require "spec_helper"
|
|
21
21
|
|
22
22
|
describe Chef::Knife::RoleEnvRunListAdd do
|
23
23
|
before(:each) do
|
24
|
-
# Chef::Config[:role_name] = "websimian"
|
25
|
-
# Chef::Config[:env_name] = "QA"
|
24
|
+
# Chef::Config[:role_name] = "websimian"
|
25
|
+
# Chef::Config[:env_name] = "QA"
|
26
26
|
@knife = Chef::Knife::RoleEnvRunListAdd.new
|
27
27
|
@knife.config = {
|
28
28
|
after: nil,
|
@@ -36,10 +36,10 @@ describe Chef::Knife::RoleEnvRunListAdd do
|
|
36
36
|
|
37
37
|
describe "run" do
|
38
38
|
|
39
|
-
# it "should display all the things" do
|
40
|
-
# @knife.run
|
41
|
-
# @role.to_json.should == 'show all the things'
|
42
|
-
# end
|
39
|
+
# it "should display all the things" do
|
40
|
+
# @knife.run
|
41
|
+
# @role.to_json.should == 'show all the things'
|
42
|
+
# end
|
43
43
|
|
44
44
|
it "should have an empty default run list" do
|
45
45
|
@knife.run
|
@@ -44,10 +44,10 @@ describe Chef::Knife::RoleEnvRunListClear do
|
|
44
44
|
|
45
45
|
describe "run" do
|
46
46
|
|
47
|
-
# it "should display all the things" do
|
48
|
-
# @knife.run
|
49
|
-
# @role.to_json.should == 'show all the things'
|
50
|
-
# end
|
47
|
+
# it "should display all the things" do
|
48
|
+
# @knife.run
|
49
|
+
# @role.to_json.should == 'show all the things'
|
50
|
+
# end
|
51
51
|
|
52
52
|
it "should load the node" do
|
53
53
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -44,10 +44,10 @@ describe Chef::Knife::RoleEnvRunListRemove do
|
|
44
44
|
|
45
45
|
describe "run" do
|
46
46
|
|
47
|
-
# it "should display all the things" do
|
48
|
-
# @knife.run
|
49
|
-
# @role.to_json.should == 'show all the things'
|
50
|
-
# end
|
47
|
+
# it "should display all the things" do
|
48
|
+
# @knife.run
|
49
|
+
# @role.to_json.should == 'show all the things'
|
50
|
+
# end
|
51
51
|
|
52
52
|
it "should load the node" do
|
53
53
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -44,10 +44,10 @@ describe Chef::Knife::RoleEnvRunListReplace do
|
|
44
44
|
|
45
45
|
describe "run" do
|
46
46
|
|
47
|
-
# it "should display all the things" do
|
48
|
-
# @knife.run
|
49
|
-
# @role.to_json.should == 'show all the things'
|
50
|
-
# end
|
47
|
+
# it "should display all the things" do
|
48
|
+
# @knife.run
|
49
|
+
# @role.to_json.should == 'show all the things'
|
50
|
+
# end
|
51
51
|
|
52
52
|
it "should load the node" do
|
53
53
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -44,10 +44,10 @@ describe Chef::Knife::RoleEnvRunListSet do
|
|
44
44
|
|
45
45
|
describe "run" do
|
46
46
|
|
47
|
-
# it "should display all the things" do
|
48
|
-
# @knife.run
|
49
|
-
# @role.to_json.should == 'show all the things'
|
50
|
-
# end
|
47
|
+
# it "should display all the things" do
|
48
|
+
# @knife.run
|
49
|
+
# @role.to_json.should == 'show all the things'
|
50
|
+
# end
|
51
51
|
|
52
52
|
it "should load the node" do
|
53
53
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -21,8 +21,8 @@ require "spec_helper"
|
|
21
21
|
|
22
22
|
describe Chef::Knife::RoleRunListAdd do
|
23
23
|
before(:each) do
|
24
|
-
# Chef::Config[:role_name] = "websimian"
|
25
|
-
# Chef::Config[:env_name] = "QA"
|
24
|
+
# Chef::Config[:role_name] = "websimian"
|
25
|
+
# Chef::Config[:env_name] = "QA"
|
26
26
|
@knife = Chef::Knife::RoleRunListAdd.new
|
27
27
|
@knife.config = {
|
28
28
|
after: nil,
|
@@ -36,10 +36,10 @@ describe Chef::Knife::RoleRunListAdd do
|
|
36
36
|
|
37
37
|
describe "run" do
|
38
38
|
|
39
|
-
# it "should display all the things" do
|
40
|
-
# @knife.run
|
41
|
-
# @role.to_json.should == 'show all the things'
|
42
|
-
# end
|
39
|
+
# it "should display all the things" do
|
40
|
+
# @knife.run
|
41
|
+
# @role.to_json.should == 'show all the things'
|
42
|
+
# end
|
43
43
|
|
44
44
|
it "should have a run list with the monkey role" do
|
45
45
|
@knife.run
|
@@ -43,10 +43,10 @@ describe Chef::Knife::RoleRunListClear do
|
|
43
43
|
|
44
44
|
describe "run" do
|
45
45
|
|
46
|
-
# it "should display all the things" do
|
47
|
-
# @knife.run
|
48
|
-
# @role.to_json.should == 'show all the things'
|
49
|
-
# end
|
46
|
+
# it "should display all the things" do
|
47
|
+
# @knife.run
|
48
|
+
# @role.to_json.should == 'show all the things'
|
49
|
+
# end
|
50
50
|
|
51
51
|
it "should load the node" do
|
52
52
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -43,10 +43,10 @@ describe Chef::Knife::RoleRunListRemove do
|
|
43
43
|
|
44
44
|
describe "run" do
|
45
45
|
|
46
|
-
# it "should display all the things" do
|
47
|
-
# @knife.run
|
48
|
-
# @role.to_json.should == 'show all the things'
|
49
|
-
# end
|
46
|
+
# it "should display all the things" do
|
47
|
+
# @knife.run
|
48
|
+
# @role.to_json.should == 'show all the things'
|
49
|
+
# end
|
50
50
|
|
51
51
|
it "should load the node" do
|
52
52
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -43,10 +43,10 @@ describe Chef::Knife::RoleRunListReplace do
|
|
43
43
|
|
44
44
|
describe "run" do
|
45
45
|
|
46
|
-
# it "should display all the things" do
|
47
|
-
# @knife.run
|
48
|
-
# @role.to_json.should == 'show all the things'
|
49
|
-
# end
|
46
|
+
# it "should display all the things" do
|
47
|
+
# @knife.run
|
48
|
+
# @role.to_json.should == 'show all the things'
|
49
|
+
# end
|
50
50
|
|
51
51
|
it "should load the node" do
|
52
52
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -43,10 +43,10 @@ describe Chef::Knife::RoleRunListSet do
|
|
43
43
|
|
44
44
|
describe "run" do
|
45
45
|
|
46
|
-
# it "should display all the things" do
|
47
|
-
# @knife.run
|
48
|
-
# @role.to_json.should == 'show all the things'
|
49
|
-
# end
|
46
|
+
# it "should display all the things" do
|
47
|
+
# @knife.run
|
48
|
+
# @role.to_json.should == 'show all the things'
|
49
|
+
# end
|
50
50
|
|
51
51
|
it "should load the node" do
|
52
52
|
expect(Chef::Role).to receive(:load).with("will").and_return(@role)
|
@@ -638,7 +638,7 @@ describe Chef::Provider::Git do
|
|
638
638
|
expect(@provider).to receive(:enable_submodules)
|
639
639
|
expect(@provider).to receive(:add_remotes)
|
640
640
|
@provider.run_action(:checkout)
|
641
|
-
|
641
|
+
# @resource.should be_updated
|
642
642
|
end
|
643
643
|
|
644
644
|
it "should not checkout if the destination exists or is a non empty directory" do
|
@@ -676,7 +676,7 @@ describe Chef::Provider::Git do
|
|
676
676
|
expect(@provider).to receive(:enable_submodules)
|
677
677
|
expect(@provider).to receive(:add_remotes)
|
678
678
|
@provider.run_action(:sync)
|
679
|
-
|
679
|
+
# @resource.should be_updated
|
680
680
|
end
|
681
681
|
|
682
682
|
it "does not fetch any updates if the remote revision matches the current revision" do
|
@@ -696,7 +696,7 @@ describe Chef::Provider::Git do
|
|
696
696
|
expect(@provider).to receive(:action_checkout)
|
697
697
|
expect(@provider).not_to receive(:shell_out!)
|
698
698
|
@provider.run_action(:sync)
|
699
|
-
|
699
|
+
# @resource.should be_updated
|
700
700
|
end
|
701
701
|
|
702
702
|
it "clones the repo instead of fetching updates if the deploy directory is empty" do
|