chef 15.11.8-universal-mingw32 → 15.16.2-universal-mingw32

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.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +12 -13
  3. data/README.md +3 -3
  4. data/Rakefile +11 -17
  5. data/chef-universal-mingw32.gemspec +4 -4
  6. data/chef.gemspec +25 -7
  7. data/distro/powershell/chef/chef.psm1 +3 -3
  8. data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
  9. data/lib/chef/api_client/registration.rb +2 -2
  10. data/lib/chef/application/apply.rb +1 -1
  11. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
  12. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +2 -2
  13. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +1 -1
  14. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -2
  15. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  16. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +1 -1
  17. data/lib/chef/chef_fs/path_utils.rb +3 -3
  18. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  19. data/lib/chef/data_bag.rb +2 -2
  20. data/lib/chef/data_collector/error_handlers.rb +1 -1
  21. data/lib/chef/deprecated.rb +12 -0
  22. data/lib/chef/dsl/declare_resource.rb +1 -1
  23. data/lib/chef/dsl/platform_introspection.rb +2 -0
  24. data/lib/chef/environment.rb +2 -2
  25. data/lib/chef/exceptions.rb +3 -0
  26. data/lib/chef/http.rb +2 -1
  27. data/lib/chef/knife/bootstrap.rb +6 -9
  28. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  29. data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
  30. data/lib/chef/knife/cookbook_download.rb +1 -1
  31. data/lib/chef/knife/cookbook_metadata.rb +1 -1
  32. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  33. data/lib/chef/knife/core/hashed_command_loader.rb +3 -2
  34. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  35. data/lib/chef/knife/exec.rb +2 -2
  36. data/lib/chef/knife/ssh.rb +20 -1
  37. data/lib/chef/log.rb +1 -1
  38. data/lib/chef/mixin/openssl_helper.rb +26 -3
  39. data/lib/chef/mixin/template.rb +1 -0
  40. data/lib/chef/node_map.rb +5 -2
  41. data/lib/chef/provider/mount/solaris.rb +0 -1
  42. data/lib/chef/provider/package/cab.rb +1 -1
  43. data/lib/chef/provider/package/chocolatey.rb +1 -1
  44. data/lib/chef/provider/package/dnf/dnf_helper.py +5 -0
  45. data/lib/chef/provider/package/freebsd/pkgng.rb +3 -1
  46. data/lib/chef/provider/package/msu.rb +1 -0
  47. data/lib/chef/provider/package/powershell.rb +5 -1
  48. data/lib/chef/provider/package/snap.rb +96 -27
  49. data/lib/chef/provider/package/yum/yum_helper.py +4 -0
  50. data/lib/chef/provider/package/zypper.rb +0 -1
  51. data/lib/chef/provider/service/arch.rb +2 -2
  52. data/lib/chef/provider/service/debian.rb +1 -1
  53. data/lib/chef/provider/service/gentoo.rb +2 -2
  54. data/lib/chef/provider/service/macosx.rb +2 -2
  55. data/lib/chef/provider/service/openbsd.rb +1 -1
  56. data/lib/chef/provider/service/redhat.rb +2 -2
  57. data/lib/chef/provider/service/upstart.rb +1 -1
  58. data/lib/chef/provider/yum_repository.rb +1 -1
  59. data/lib/chef/provider/zypper_repository.rb +31 -11
  60. data/lib/chef/resource.rb +2 -0
  61. data/lib/chef/resource/archive_file.rb +28 -8
  62. data/lib/chef/resource/cron_access.rb +13 -5
  63. data/lib/chef/resource/cron_d.rb +2 -1
  64. data/lib/chef/resource/homebrew_cask.rb +3 -3
  65. data/lib/chef/resource/hostname.rb +19 -18
  66. data/lib/chef/resource/locale.rb +1 -1
  67. data/lib/chef/resource/lwrp_base.rb +7 -0
  68. data/lib/chef/resource/msu_package.rb +5 -0
  69. data/lib/chef/resource/ssh_known_hosts_entry.rb +1 -1
  70. data/lib/chef/resource/sudo.rb +2 -2
  71. data/lib/chef/resource/windows_feature_powershell.rb +6 -2
  72. data/lib/chef/resource/windows_font.rb +2 -1
  73. data/lib/chef/role.rb +2 -2
  74. data/lib/chef/shell.rb +32 -1
  75. data/lib/chef/shell/shell_session.rb +2 -0
  76. data/lib/chef/util/diff.rb +1 -1
  77. data/lib/chef/util/dsc/configuration_generator.rb +1 -1
  78. data/lib/chef/util/powershell/cmdlet.rb +1 -1
  79. data/lib/chef/version.rb +2 -2
  80. data/lib/chef/version_string.rb +1 -1
  81. data/lib/chef/win32/file.rb +2 -2
  82. data/spec/functional/knife/ssh_spec.rb +4 -4
  83. data/spec/functional/resource/aix_service_spec.rb +0 -1
  84. data/spec/functional/resource/aixinit_service_spec.rb +7 -8
  85. data/spec/functional/resource/apt_package_spec.rb +0 -1
  86. data/spec/functional/resource/bff_spec.rb +2 -2
  87. data/spec/functional/resource/cookbook_file_spec.rb +1 -1
  88. data/spec/functional/resource/cron_spec.rb +0 -1
  89. data/spec/functional/resource/dsc_resource_spec.rb +1 -1
  90. data/spec/functional/resource/insserv_spec.rb +4 -5
  91. data/spec/functional/resource/link_spec.rb +17 -17
  92. data/spec/functional/resource/msu_package_spec.rb +5 -2
  93. data/spec/functional/resource/rpm_spec.rb +2 -2
  94. data/spec/functional/resource/user/dscl_spec.rb +1 -1
  95. data/spec/functional/resource/user/mac_user_spec.rb +1 -1
  96. data/spec/functional/resource/windows_certificate_spec.rb +3 -3
  97. data/spec/functional/resource/windows_font_spec.rb +49 -0
  98. data/spec/functional/resource/windows_task_spec.rb +8 -8
  99. data/spec/functional/run_lock_spec.rb +2 -1
  100. data/spec/functional/shell_spec.rb +5 -5
  101. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  102. data/spec/functional/version_spec.rb +1 -1
  103. data/spec/functional/win32/service_manager_spec.rb +1 -1
  104. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  105. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +2 -2
  106. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  107. data/spec/integration/recipes/notifies_spec.rb +1 -1
  108. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  109. data/spec/integration/recipes/recipe_dsl_spec.rb +1 -1
  110. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
  111. data/spec/integration/recipes/resource_load_spec.rb +1 -0
  112. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  113. data/spec/scripts/ssl-serve.rb +1 -1
  114. data/spec/spec_helper.rb +10 -8
  115. data/spec/support/platform_helpers.rb +12 -42
  116. data/spec/support/platforms/win32/spec_service.rb +1 -1
  117. data/spec/support/shared/functional/directory_resource.rb +1 -1
  118. data/spec/support/shared/functional/execute_resource.rb +1 -1
  119. data/spec/support/shared/functional/file_resource.rb +2 -2
  120. data/spec/support/shared/functional/win32_service.rb +1 -1
  121. data/spec/support/shared/functional/windows_script.rb +3 -3
  122. data/spec/support/shared/integration/knife_support.rb +2 -5
  123. data/spec/unit/application_spec.rb +7 -0
  124. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
  125. data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
  126. data/spec/unit/data_bag_spec.rb +1 -1
  127. data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
  128. data/spec/unit/environment_spec.rb +7 -7
  129. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
  130. data/spec/unit/knife/bootstrap_spec.rb +16 -16
  131. data/spec/unit/knife/cookbook_download_spec.rb +4 -4
  132. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +1 -1
  133. data/spec/unit/knife/cookbook_upload_spec.rb +5 -6
  134. data/spec/unit/knife/core/hashed_command_loader_spec.rb +3 -3
  135. data/spec/unit/knife/ssh_spec.rb +2 -2
  136. data/spec/unit/knife/supermarket_share_spec.rb +5 -3
  137. data/spec/unit/lwrp_spec.rb +4 -4
  138. data/spec/unit/mixin/securable_spec.rb +0 -1
  139. data/spec/unit/mixin/user_context_spec.rb +1 -9
  140. data/spec/unit/property_spec.rb +6 -6
  141. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  142. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +1 -1
  143. data/spec/unit/provider/package/powershell_spec.rb +95 -86
  144. data/spec/unit/provider/package/rubygems_spec.rb +5 -10
  145. data/spec/unit/provider/package/snap_spec.rb +1 -1
  146. data/spec/unit/provider/package/windows_spec.rb +30 -53
  147. data/spec/unit/provider/service/arch_service_spec.rb +3 -2
  148. data/spec/unit/provider/service/debian_service_spec.rb +1 -1
  149. data/spec/unit/provider/service/gentoo_service_spec.rb +7 -7
  150. data/spec/unit/provider/service/macosx_spec.rb +3 -3
  151. data/spec/unit/provider/service/redhat_spec.rb +2 -2
  152. data/spec/unit/provider/service/upstart_service_spec.rb +3 -3
  153. data/spec/unit/provider/service/windows_spec.rb +2 -6
  154. data/spec/unit/provider/systemd_unit_spec.rb +28 -24
  155. data/spec/unit/provider/zypper_repository_spec.rb +75 -25
  156. data/spec/unit/provider_spec.rb +1 -0
  157. data/spec/unit/resource/archive_file_spec.rb +11 -2
  158. data/spec/unit/resource/msu_package_spec.rb +4 -0
  159. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  160. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  161. data/spec/unit/resource/windows_feature_powershell_spec.rb +30 -4
  162. data/spec/unit/resource/windows_package_spec.rb +1 -0
  163. data/spec/unit/resource/windows_task_spec.rb +1 -1
  164. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  165. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  166. data/spec/unit/resource_spec.rb +1 -1
  167. data/spec/unit/role_spec.rb +11 -11
  168. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  169. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  170. data/spec/unit/win32/security_spec.rb +4 -3
  171. metadata +64 -39
@@ -64,7 +64,7 @@ class Chef
64
64
 
65
65
  def use_tempfile_if_missing(file)
66
66
  tempfile = nil
67
- unless File.exists?(file)
67
+ unless File.exist?(file)
68
68
  Chef::Log.trace("File #{file} does not exist to diff against, using empty tempfile")
69
69
  tempfile = Tempfile.new("chef-diff")
70
70
  file = tempfile.path
@@ -64,7 +64,7 @@ class Chef::Util::DSC
64
64
  # The name may not be null or empty, and should start with a letter.
65
65
  def validate_configuration_name!(configuration_name)
66
66
  if !!(configuration_name =~ /\A[A-Za-z]+[_a-zA-Z0-9]*\Z/) == false
67
- raise ArgumentError, 'Configuration `#{configuration_name}` is not a valid PowerShell cmdlet name'
67
+ raise ArgumentError, "Configuration `#{configuration_name}` is not a valid PowerShell cmdlet name"
68
68
  end
69
69
  end
70
70
 
@@ -164,7 +164,7 @@ class Chef
164
164
  end
165
165
 
166
166
  def self.destroy(name)
167
- proc { File.delete(name) if File.exists? name }
167
+ proc { File.delete(name) if File.exist? name }
168
168
  end
169
169
  end
170
170
  end
data/lib/chef/version.rb CHANGED
@@ -22,8 +22,8 @@
22
22
  require_relative "version_string"
23
23
 
24
24
  class Chef
25
- CHEF_ROOT = File.expand_path("../..", __FILE__)
26
- VERSION = Chef::VersionString.new("15.11.8")
25
+ CHEF_ROOT = File.expand_path("..", __dir__)
26
+ VERSION = Chef::VersionString.new("15.16.2")
27
27
  end
28
28
 
29
29
  #
@@ -13,7 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- require "chef-utils/version_string"
16
+ require "chef-utils/version_string" unless defined?(ChefUtils::VersionString)
17
17
 
18
18
  class Chef
19
19
  VersionString = ChefUtils::VersionString
@@ -78,7 +78,7 @@ class Chef
78
78
  def self.symlink?(file_name)
79
79
  is_symlink = false
80
80
  path = encode_path(file_name)
81
- if ::File.exists?(file_name) || ::File.symlink?(file_name)
81
+ if ::File.exist?(file_name) || ::File.symlink?(file_name)
82
82
  if (GetFileAttributesW(path) & FILE_ATTRIBUTE_REPARSE_POINT) > 0
83
83
  file_search_handle(file_name) do |handle, find_data|
84
84
  if find_data[:dw_reserved_0] == IO_REPARSE_TAG_SYMLINK
@@ -104,7 +104,7 @@ class Chef
104
104
  # will raise a NotImplementedError, as per MRI.
105
105
  #
106
106
  def self.readlink(link_name)
107
- raise Errno::ENOENT, link_name unless ::File.exists?(link_name) || ::File.symlink?(link_name)
107
+ raise Errno::ENOENT, link_name unless ::File.exist?(link_name) || ::File.symlink?(link_name)
108
108
 
109
109
  symlink_file_handle(link_name) do |handle|
110
110
  # Go to DeviceIoControl to get the symlink information
@@ -274,7 +274,7 @@ describe Chef::Knife::Ssh do
274
274
  end
275
275
 
276
276
  it "uses the ssh_gateway" do
277
- expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", {})
277
+ expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { append_all_supported_algorithms: true })
278
278
  @knife.run
279
279
  expect(@knife.config[:ssh_gateway]).to eq("user@ec2.public_hostname")
280
280
  end
@@ -287,7 +287,7 @@ describe Chef::Knife::Ssh do
287
287
  end
288
288
 
289
289
  it "uses the ssh_gateway" do
290
- expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", {})
290
+ expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { append_all_supported_algorithms: true })
291
291
  @knife.run
292
292
  expect(@knife.config[:ssh_gateway]).to eq("user@ec2.public_hostname")
293
293
  end
@@ -301,7 +301,7 @@ describe Chef::Knife::Ssh do
301
301
  end
302
302
 
303
303
  it "uses the ssh_gateway_identity file" do
304
- expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { keys: File.expand_path("#{ENV["HOME"]}/.ssh/aws-gateway.rsa").squeeze("/"), keys_only: true })
304
+ expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { append_all_supported_algorithms: true, keys: File.expand_path("#{ENV["HOME"]}/.ssh/aws-gateway.rsa").squeeze("/"), keys_only: true })
305
305
  @knife.run
306
306
  expect(@knife.config[:ssh_gateway_identity]).to eq("~/.ssh/aws-gateway.rsa")
307
307
  end
@@ -315,7 +315,7 @@ describe Chef::Knife::Ssh do
315
315
  end
316
316
 
317
317
  it "uses the ssh_gateway_identity file" do
318
- expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { keys: File.expand_path("#{ENV["HOME"]}/.ssh/aws-gateway.rsa").squeeze("/"), keys_only: true })
318
+ expect(@knife.session).to receive(:via).with("ec2.public_hostname", "user", { append_all_supported_algorithms: true, keys: File.expand_path("#{ENV["HOME"]}/.ssh/aws-gateway.rsa").squeeze("/"), keys_only: true })
319
319
  @knife.run
320
320
  expect(@knife.config[:ssh_gateway_identity]).to eq("~/.ssh/aws-gateway.rsa")
321
321
  end
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Kaustubh Deorukhkar (<kaustubh@clogeny.com>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Kaustubh Deorukhkar (<kaustubh@clogeny.com>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -29,11 +28,11 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
29
28
  # Platform specific validation routines.
30
29
  def service_should_be_started(file_name)
31
30
  # The existence of this file indicates that the service was started.
32
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
31
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
33
32
  end
34
33
 
35
34
  def service_should_be_stopped(file_name)
36
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
35
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
37
36
  end
38
37
 
39
38
  def valide_symlinks(expected_output, run_level = nil, status = nil, priority = nil)
@@ -69,12 +68,12 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
69
68
  end
70
69
 
71
70
  before(:all) do
72
- File.delete("/etc/rc.d/init.d/chefinittest") if File.exists?("/etc/rc.d/init.d/chefinittest")
71
+ File.delete("/etc/rc.d/init.d/chefinittest") if File.exist?("/etc/rc.d/init.d/chefinittest")
73
72
  FileUtils.cp((File.join(File.dirname(__FILE__), "/../assets/chefinittest")).to_s, "/etc/rc.d/init.d/chefinittest")
74
73
  end
75
74
 
76
75
  after(:all) do
77
- File.delete("/etc/rc.d/init.d/chefinittest") if File.exists?("/etc/rc.d/init.d/chefinittest")
76
+ File.delete("/etc/rc.d/init.d/chefinittest") if File.exist?("/etc/rc.d/init.d/chefinittest")
78
77
  end
79
78
 
80
79
  before(:each) do
@@ -166,7 +165,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
166
165
  end
167
166
 
168
167
  after do
169
- File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exists?("/etc/rc.d/rc2.d/chefinittest")
168
+ File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exist?("/etc/rc.d/rc2.d/chefinittest")
170
169
  end
171
170
 
172
171
  it "creates symlink with status K" do
@@ -182,7 +181,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
182
181
  end
183
182
 
184
183
  after do
185
- File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exists?("/etc/rc.d/rc2.d/chefinittest")
184
+ File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exist?("/etc/rc.d/rc2.d/chefinittest")
186
185
  end
187
186
 
188
187
  it "creates a symlink with status K and a priority" do
@@ -199,7 +198,7 @@ describe Chef::Resource::Service, :requires_root, :aix_only do
199
198
  end
200
199
 
201
200
  after do
202
- File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exists?("/etc/rc.d/rc2.d/chefinittest")
201
+ File.delete("/etc/rc.d/rc2.d/Schefinittest") if File.exist?("/etc/rc.d/rc2.d/chefinittest")
203
202
  end
204
203
 
205
204
  it "create symlink with status stop (K) and a priority " do
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -31,12 +31,12 @@ describe Chef::Resource::BffPackage, :requires_root, external: ohai[:platform] !
31
31
 
32
32
  def bff_pkg_should_be_installed(resource)
33
33
  expect(shell_out("lslpp -L #{resource.name}").exitstatus).to eq(0)
34
- ::File.exists?("/usr/PkgA/bin/acommand")
34
+ ::File.exist?("/usr/PkgA/bin/acommand")
35
35
  end
36
36
 
37
37
  def bff_pkg_should_be_removed(resource)
38
38
  expect(shell_out("lslpp -L #{resource.name}").exitstatus).to eq(1)
39
- !::File.exists?("/usr/PkgA/bin/acommand")
39
+ !::File.exist?("/usr/PkgA/bin/acommand")
40
40
  end
41
41
 
42
42
  before(:all) do
@@ -72,7 +72,7 @@ describe Chef::Resource::CookbookFile do
72
72
  end
73
73
 
74
74
  after do
75
- FileUtils.rm_r(windows_non_temp_dir) if ChefUtils.windows? && File.exists?(windows_non_temp_dir)
75
+ FileUtils.rm_r(windows_non_temp_dir) if ChefUtils.windows? && File.exist?(windows_non_temp_dir)
76
76
  end
77
77
 
78
78
  end
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Kaustubh Deorukhkar (<kaustubh@clogeny.com>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -62,7 +62,7 @@ describe Chef::Resource::DscResource, :windows_powershell_dsc_only do
62
62
  end
63
63
 
64
64
  after do
65
- File.delete(tmp_file_name) if File.exists? tmp_file_name
65
+ File.delete(tmp_file_name) if File.exist? tmp_file_name
66
66
  end
67
67
 
68
68
  it "converges the resource if it is not converged" do
@@ -1,4 +1,3 @@
1
- # encoding: UTF-8
2
1
  #
3
2
  # Author:: Dheeraj Dubey (<dheeraj.dubey@msystechnologies.com>)
4
3
  # Copyright:: Copyright (c) Chef Software Inc.
@@ -40,11 +39,11 @@ describe Chef::Resource::Service, :requires_root, :sles11 do
40
39
  # Platform specific validation routines.
41
40
  def service_should_be_started(file_name)
42
41
  # The existence of this file indicates that the service was started.
43
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
42
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_truthy
44
43
  end
45
44
 
46
45
  def service_should_be_stopped(file_name)
47
- expect(File.exists?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
46
+ expect(File.exist?("#{Dir.tmpdir}/#{file_name}")).to be_falsey
48
47
  end
49
48
 
50
49
  def delete_test_files
@@ -73,13 +72,13 @@ describe Chef::Resource::Service, :requires_root, :sles11 do
73
72
  end
74
73
 
75
74
  before(:all) do
76
- File.delete("/etc/init.d/inittest") if File.exists?("/etc/init.d/inittest")
75
+ File.delete("/etc/init.d/inittest") if File.exist?("/etc/init.d/inittest")
77
76
  FileUtils.cp((File.join(File.dirname(__FILE__), "/../assets/inittest")).to_s, "/etc/init.d/inittest")
78
77
  FileUtils.chmod(0755, "/etc/init.d/inittest")
79
78
  end
80
79
 
81
80
  after(:all) do
82
- File.delete("/etc/init.d/inittest") if File.exists?("/etc/init.d/inittest")
81
+ File.delete("/etc/init.d/inittest") if File.exist?("/etc/init.d/inittest")
83
82
  end
84
83
 
85
84
  before(:each) do
@@ -56,9 +56,9 @@ describe Chef::Resource::Link do
56
56
 
57
57
  after(:each) do
58
58
  begin
59
- cleanup_link(to) if File.exists?(to)
60
- cleanup_link(target_file) if File.exists?(target_file)
61
- cleanup_link(CHEF_SPEC_BACKUP_PATH) if File.exists?(CHEF_SPEC_BACKUP_PATH)
59
+ cleanup_link(to) if File.exist?(to)
60
+ cleanup_link(target_file) if File.exist?(target_file)
61
+ cleanup_link(CHEF_SPEC_BACKUP_PATH) if File.exist?(CHEF_SPEC_BACKUP_PATH)
62
62
  rescue
63
63
  puts "Could not remove a file: #{$!}"
64
64
  end
@@ -276,7 +276,7 @@ describe Chef::Resource::Link do
276
276
  resource.run_action(:create)
277
277
  end
278
278
  it "preserves the hard link" do
279
- expect(File.exists?(target_file)).to be_truthy
279
+ expect(File.exist?(target_file)).to be_truthy
280
280
  expect(symlink?(target_file)).to be_falsey
281
281
  # Writing to one hardlinked file should cause both
282
282
  # to have the new value.
@@ -301,7 +301,7 @@ describe Chef::Resource::Link do
301
301
  resource.run_action(:create)
302
302
  end
303
303
  it "links to the target file" do
304
- expect(File.exists?(target_file)).to be_truthy
304
+ expect(File.exist?(target_file)).to be_truthy
305
305
  expect(symlink?(target_file)).to be_falsey
306
306
  # Writing to one hardlinked file should cause both
307
307
  # to have the new value.
@@ -341,7 +341,7 @@ describe Chef::Resource::Link do
341
341
  include_context "delete succeeds"
342
342
  it "the :delete action does not delete the target file" do
343
343
  resource.run_action(:delete)
344
- expect(File.exists?(to)).to be_truthy
344
+ expect(File.exist?(to)).to be_truthy
345
345
  end
346
346
  end
347
347
  context "pointing somewhere else", :requires_root_or_running_windows do
@@ -369,7 +369,7 @@ describe Chef::Resource::Link do
369
369
  include_context "delete succeeds"
370
370
  it "the :delete action does not delete the target file" do
371
371
  resource.run_action(:delete)
372
- expect(File.exists?(to)).to be_truthy
372
+ expect(File.exist?(to)).to be_truthy
373
373
  end
374
374
  end
375
375
  context "pointing nowhere" do
@@ -386,7 +386,7 @@ describe Chef::Resource::Link do
386
386
  context "and the link already exists and is a hard link to the file" do
387
387
  before(:each) do
388
388
  link(to, target_file)
389
- expect(File.exists?(target_file)).to be_truthy
389
+ expect(File.exist?(target_file)).to be_truthy
390
390
  expect(symlink?(target_file)).to be_falsey
391
391
  end
392
392
  include_context "create symbolic link succeeds"
@@ -406,7 +406,7 @@ describe Chef::Resource::Link do
406
406
  it "create errors out" do
407
407
  if windows?
408
408
  expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
409
- elsif os_x? || solaris? || freebsd? || aix?
409
+ elsif macos? || solaris? || freebsd? || aix?
410
410
  expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
411
411
  else
412
412
  expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
@@ -585,14 +585,14 @@ describe Chef::Resource::Link do
585
585
  context "and the link already exists and is a hard link to the file" do
586
586
  before(:each) do
587
587
  link(to, target_file)
588
- expect(File.exists?(target_file)).to be_truthy
588
+ expect(File.exist?(target_file)).to be_truthy
589
589
  expect(symlink?(target_file)).to be_falsey
590
590
  end
591
591
  include_context "create hard link is noop"
592
592
  include_context "delete succeeds"
593
593
  it "the :delete action does not delete the target file" do
594
594
  resource.run_action(:delete)
595
- expect(File.exists?(to)).to be_truthy
595
+ expect(File.exist?(to)).to be_truthy
596
596
  end
597
597
  end
598
598
  context "and the link already exists and is a file" do
@@ -609,7 +609,7 @@ describe Chef::Resource::Link do
609
609
  it "errors out" do
610
610
  if windows?
611
611
  expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
612
- elsif os_x? || solaris? || freebsd? || aix?
612
+ elsif macos? || solaris? || freebsd? || aix?
613
613
  expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
614
614
  else
615
615
  expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
@@ -656,10 +656,10 @@ describe Chef::Resource::Link do
656
656
  end
657
657
  context "and the link does not yet exist" do
658
658
  it "links to the target file" do
659
- skip("OS X/FreeBSD/AIX/Solaris symlink? and readlink working on hard links to symlinks") if os_x? || freebsd? || aix? || solaris?
659
+ skip("macOS/FreeBSD/AIX/Solaris symlink? and readlink working on hard links to symlinks") if macos? || freebsd? || aix? || solaris?
660
660
  resource.run_action(:create)
661
- expect(File.exists?(target_file)).to be_truthy
662
- # OS X gets angry about this sort of link. Bug in OS X, IMO.
661
+ expect(File.exist?(target_file)).to be_truthy
662
+ # macOS gets angry about this sort of link. Bug in macOS, IMO.
663
663
  expect(symlink?(target_file)).to be_truthy
664
664
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
665
665
  end
@@ -675,9 +675,9 @@ describe Chef::Resource::Link do
675
675
  end
676
676
  context "and the link does not yet exist" do
677
677
  it "links to the target file" do
678
- skip("OS X/FreeBSD/AIX/Solaris fails to create hardlinks to broken symlinks") if os_x? || freebsd? || aix? || solaris?
678
+ skip("macOS/FreeBSD/AIX/Solaris fails to create hardlinks to broken symlinks") if macos? || freebsd? || aix? || solaris?
679
679
  resource.run_action(:create)
680
- expect(File.exists?(target_file) || File.symlink?(target_file)).to be_truthy
680
+ expect(File.exist?(target_file) || File.symlink?(target_file)).to be_truthy
681
681
  expect(symlink?(target_file)).to be_truthy
682
682
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
683
683
  end
@@ -23,6 +23,8 @@ describe Chef::Resource::MsuPackage, :win2012r2_only do
23
23
 
24
24
  let(:package_name) { "Package_for_KB2959977" }
25
25
  let(:package_source) { "https://download.microsoft.com/download/3/B/3/3B320C07-B7B1-41E5-81F4-79EBC02DF7D3/Windows8.1-KB2959977-x64.msu" }
26
+ let(:package_identity) { "Package_for_KB2959977~31bf3856ad364e35~amd64~~6.3.1.1" }
27
+ let(:timeout) { 3600 }
26
28
 
27
29
  let(:new_resource) { Chef::Resource::CabPackage.new("windows_test_pkg") }
28
30
  let(:cab_provider) do
@@ -36,6 +38,7 @@ describe Chef::Resource::MsuPackage, :win2012r2_only do
36
38
  new_resource = Chef::Resource::MsuPackage.new("test msu package", run_context)
37
39
  new_resource.package_name package_name
38
40
  new_resource.source package_source
41
+ new_resource.timeout timeout
39
42
  new_resource
40
43
  end
41
44
 
@@ -44,7 +47,7 @@ describe Chef::Resource::MsuPackage, :win2012r2_only do
44
47
 
45
48
  it "installs the package successfully" do
46
49
  subject.run_action(:install)
47
- found_packages = cab_provider.installed_packages.select { |p| p["package_identity"] =~ /^#{package_name}~/ }
50
+ found_packages = cab_provider.installed_packages.select { |p| p["package_identity"] == package_identity }
48
51
  expect(found_packages.length).to be == 1
49
52
  end
50
53
  end
@@ -53,7 +56,7 @@ describe Chef::Resource::MsuPackage, :win2012r2_only do
53
56
  it "removes an installed package" do
54
57
  subject.run_action(:install)
55
58
  remove_package
56
- found_packages = cab_provider.installed_packages.select { |p| p["package_identity"] =~ /^#{package_name}~/ }
59
+ found_packages = cab_provider.installed_packages.select { |p| p["package_identity"] == package_identity }
57
60
  expect(found_packages.length).to be == 0
58
61
  end
59
62
  end
@@ -39,7 +39,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
39
39
  # mytest rpm package works in centos, redhat and in suse without any dependency issues.
40
40
  else
41
41
  expect(shell_out("rpm -qa | grep mytest").exitstatus).to eq(0)
42
- ::File.exists?("/opt/mytest/mytest.sh") # The mytest rpm package contains the mytest.sh file
42
+ ::File.exist?("/opt/mytest/mytest.sh") # The mytest rpm package contains the mytest.sh file
43
43
  end
44
44
  end
45
45
 
@@ -48,7 +48,7 @@ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
48
48
  expect(shell_out("rpm -qa | grep dummy").exitstatus).to eq(1)
49
49
  else
50
50
  expect(shell_out("rpm -qa | grep mytest").exitstatus).to eq(1)
51
- !::File.exists?("/opt/mytest/mytest.sh")
51
+ !::File.exist?("/opt/mytest/mytest.sh")
52
52
  end
53
53
  end
54
54
 
@@ -19,7 +19,7 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
 
21
21
  metadata = {
22
- macos_only: true,
22
+ macos_1013: true,
23
23
  requires_root: true,
24
24
  }
25
25
 
@@ -19,7 +19,7 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
 
21
21
  metadata = {
22
- macos_1014: true,
22
+ macos_gte_1014: true,
23
23
  requires_root: true,
24
24
  }
25
25
 
@@ -390,7 +390,7 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
390
390
  end
391
391
 
392
392
  after do
393
- if File.exists?(out_path)
393
+ if File.exist?(out_path)
394
394
  File.delete(out_path)
395
395
  end
396
396
  end
@@ -405,7 +405,7 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
405
405
  expect(no_of_certificates).to eq(1)
406
406
  end
407
407
  it "Stores Certificate content at given path" do
408
- expect(File.exists?(out_path)).to be_truthy
408
+ expect(File.exist?(out_path)).to be_truthy
409
409
  end
410
410
  it "Does not converge while fetching" do
411
411
  expect(win_certificate).not_to be_updated_by_last_action
@@ -425,7 +425,7 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
425
425
  expect(stdout.string.strip).to be_empty
426
426
  end
427
427
  it "Does not store certificate content at given path" do
428
- expect(File.exists?(out_path)).to be_falsy
428
+ expect(File.exist?(out_path)).to be_falsy
429
429
  end
430
430
  it "Does not converge while fetching" do
431
431
  expect(win_certificate).not_to be_updated_by_last_action