chef 16.1.16-universal-mingw32 → 16.3.45-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 (364) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -7
  3. data/README.md +3 -3
  4. data/Rakefile +3 -16
  5. data/chef-universal-mingw32.gemspec +2 -2
  6. data/chef.gemspec +7 -6
  7. data/lib/chef/application.rb +12 -0
  8. data/lib/chef/application/apply.rb +2 -1
  9. data/lib/chef/application/base.rb +1 -1
  10. data/lib/chef/application/client.rb +1 -1
  11. data/lib/chef/application/windows_service_manager.rb +1 -1
  12. data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
  13. data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
  14. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  15. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
  16. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  17. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
  18. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
  19. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  20. data/lib/chef/chef_fs/path_utils.rb +1 -1
  21. data/lib/chef/client.rb +3 -3
  22. data/lib/chef/cookbook/chefignore.rb +1 -1
  23. data/lib/chef/cookbook/metadata.rb +1 -1
  24. data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
  25. data/lib/chef/cookbook/syntax_check.rb +1 -2
  26. data/lib/chef/cookbook_loader.rb +15 -29
  27. data/lib/chef/cookbook_version.rb +2 -2
  28. data/lib/chef/data_bag.rb +5 -6
  29. data/lib/chef/deprecated.rb +12 -0
  30. data/lib/chef/digester.rb +3 -2
  31. data/lib/chef/dsl/platform_introspection.rb +2 -0
  32. data/lib/chef/environment.rb +1 -2
  33. data/lib/chef/exceptions.rb +3 -0
  34. data/lib/chef/file_access_control.rb +1 -1
  35. data/lib/chef/file_access_control/windows.rb +2 -2
  36. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  37. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  38. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
  39. data/lib/chef/handler.rb +2 -0
  40. data/lib/chef/http.rb +27 -13
  41. data/lib/chef/http/authenticator.rb +3 -1
  42. data/lib/chef/http/http_request.rb +1 -1
  43. data/lib/chef/http/json_output.rb +1 -1
  44. data/lib/chef/http/ssl_policies.rb +18 -0
  45. data/lib/chef/knife.rb +5 -5
  46. data/lib/chef/knife/bootstrap.rb +19 -19
  47. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  48. data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
  49. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  50. data/lib/chef/knife/config_get.rb +2 -1
  51. data/lib/chef/knife/config_list_profiles.rb +4 -1
  52. data/lib/chef/knife/config_use_profile.rb +15 -5
  53. data/lib/chef/knife/configure.rb +1 -1
  54. data/lib/chef/knife/cookbook_delete.rb +1 -1
  55. data/lib/chef/knife/cookbook_upload.rb +6 -14
  56. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  57. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  58. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  59. data/lib/chef/knife/core/hashed_command_loader.rb +1 -0
  60. data/lib/chef/knife/core/subcommand_loader.rb +20 -1
  61. data/lib/chef/knife/core/ui.rb +8 -2
  62. data/lib/chef/knife/core/windows_bootstrap_context.rb +2 -3
  63. data/lib/chef/knife/data_bag_create.rb +1 -1
  64. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  65. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  66. data/lib/chef/knife/rehash.rb +3 -21
  67. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  68. data/lib/chef/knife/ssh.rb +6 -2
  69. data/lib/chef/knife/supermarket_share.rb +1 -1
  70. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  71. data/lib/chef/log.rb +8 -3
  72. data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
  73. data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
  74. data/lib/chef/mixin/openssl_helper.rb +27 -5
  75. data/lib/chef/mixin/path_sanity.rb +5 -4
  76. data/lib/chef/mixin/securable.rb +2 -2
  77. data/lib/chef/mixin/shell_out.rb +4 -188
  78. data/lib/chef/mixin/template.rb +1 -0
  79. data/lib/chef/mixin/which.rb +6 -3
  80. data/lib/chef/mixins.rb +1 -0
  81. data/lib/chef/node.rb +36 -12
  82. data/lib/chef/node_map.rb +21 -18
  83. data/lib/chef/platform/service_helpers.rb +31 -28
  84. data/lib/chef/powershell.rb +1 -1
  85. data/lib/chef/provider/batch.rb +3 -10
  86. data/lib/chef/provider/cron.rb +2 -14
  87. data/lib/chef/provider/execute.rb +2 -1
  88. data/lib/chef/provider/git.rb +12 -4
  89. data/lib/chef/provider/group/dscl.rb +2 -2
  90. data/lib/chef/provider/group/windows.rb +1 -1
  91. data/lib/chef/provider/ifconfig.rb +7 -7
  92. data/lib/chef/provider/mount/aix.rb +1 -1
  93. data/lib/chef/provider/mount/solaris.rb +0 -1
  94. data/lib/chef/provider/mount/windows.rb +2 -2
  95. data/lib/chef/provider/noop.rb +1 -1
  96. data/lib/chef/provider/package/openbsd.rb +1 -1
  97. data/lib/chef/provider/package/portage.rb +2 -2
  98. data/lib/chef/provider/package/powershell.rb +6 -2
  99. data/lib/chef/provider/package/rubygems.rb +2 -2
  100. data/lib/chef/provider/package/snap.rb +97 -29
  101. data/lib/chef/provider/package/windows.rb +9 -4
  102. data/lib/chef/provider/package/windows/msi.rb +3 -3
  103. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  104. data/lib/chef/provider/package/zypper.rb +0 -1
  105. data/lib/chef/provider/powershell_script.rb +10 -14
  106. data/lib/chef/provider/remote_file/http.rb +4 -1
  107. data/lib/chef/provider/script.rb +4 -75
  108. data/lib/chef/provider/service.rb +2 -2
  109. data/lib/chef/provider/service/arch.rb +1 -1
  110. data/lib/chef/provider/service/debian.rb +2 -2
  111. data/lib/chef/provider/service/openbsd.rb +4 -4
  112. data/lib/chef/provider/service/redhat.rb +1 -1
  113. data/lib/chef/provider/service/windows.rb +1 -1
  114. data/lib/chef/provider/subversion.rb +2 -2
  115. data/lib/chef/provider/user/dscl.rb +4 -4
  116. data/lib/chef/provider/user/linux.rb +3 -3
  117. data/lib/chef/provider/user/mac.rb +5 -5
  118. data/lib/chef/provider/windows_script.rb +87 -25
  119. data/lib/chef/provider/yum_repository.rb +1 -1
  120. data/lib/chef/provider/zypper_repository.rb +31 -11
  121. data/lib/chef/resource.rb +24 -11
  122. data/lib/chef/resource/alternatives.rb +1 -1
  123. data/lib/chef/resource/apt_package.rb +1 -1
  124. data/lib/chef/resource/archive_file.rb +28 -8
  125. data/lib/chef/resource/bash.rb +0 -1
  126. data/lib/chef/resource/batch.rb +4 -2
  127. data/lib/chef/resource/build_essential.rb +2 -2
  128. data/lib/chef/resource/chef_client_scheduled_task.rb +14 -2
  129. data/lib/chef/resource/chef_gem.rb +57 -21
  130. data/lib/chef/resource/chocolatey_feature.rb +1 -2
  131. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  132. data/lib/chef/resource/cron/cron.rb +46 -0
  133. data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
  134. data/lib/chef/resource/cron_access.rb +13 -5
  135. data/lib/chef/resource/csh.rb +0 -1
  136. data/lib/chef/resource/dmg_package.rb +2 -2
  137. data/lib/chef/resource/execute.rb +479 -9
  138. data/lib/chef/resource/file.rb +1 -1
  139. data/lib/chef/resource/freebsd_package.rb +1 -1
  140. data/lib/chef/resource/gem_package.rb +35 -2
  141. data/lib/chef/resource/helpers/cron_validations.rb +6 -3
  142. data/lib/chef/resource/homebrew_package.rb +30 -1
  143. data/lib/chef/resource/homebrew_update.rb +107 -0
  144. data/lib/chef/resource/hostname.rb +23 -36
  145. data/lib/chef/resource/kernel_module.rb +14 -1
  146. data/lib/chef/resource/launchd.rb +1 -1
  147. data/lib/chef/resource/lwrp_base.rb +1 -0
  148. data/lib/chef/resource/macos_userdefaults.rb +176 -61
  149. data/lib/chef/resource/mount.rb +1 -1
  150. data/lib/chef/resource/openssl_x509_certificate.rb +11 -14
  151. data/lib/chef/resource/openssl_x509_crl.rb +1 -2
  152. data/lib/chef/resource/perl.rb +0 -1
  153. data/lib/chef/resource/plist.rb +23 -4
  154. data/lib/chef/resource/powershell_script.rb +4 -2
  155. data/lib/chef/resource/python.rb +0 -1
  156. data/lib/chef/resource/remote_file.rb +26 -10
  157. data/lib/chef/resource/ruby.rb +0 -1
  158. data/lib/chef/resource/service.rb +2 -2
  159. data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
  160. data/lib/chef/resource/sudo.rb +30 -3
  161. data/lib/chef/resource/swap_file.rb +17 -0
  162. data/lib/chef/resource/template.rb +1 -1
  163. data/lib/chef/resource/timezone.rb +15 -0
  164. data/lib/chef/resource/user_ulimit.rb +1 -1
  165. data/lib/chef/resource/windows_ad_join.rb +30 -1
  166. data/lib/chef/resource/windows_audit_policy.rb +227 -0
  167. data/lib/chef/resource/windows_auto_run.rb +11 -0
  168. data/lib/chef/resource/windows_certificate.rb +26 -0
  169. data/lib/chef/resource/windows_dns_record.rb +17 -0
  170. data/lib/chef/resource/windows_firewall_profile.rb +197 -0
  171. data/lib/chef/resource/windows_font.rb +3 -3
  172. data/lib/chef/resource/windows_package.rb +1 -1
  173. data/lib/chef/resource/windows_pagefile.rb +1 -1
  174. data/lib/chef/resource/windows_script.rb +2 -16
  175. data/lib/chef/resource/windows_security_policy.rb +67 -36
  176. data/lib/chef/resource/windows_shortcut.rb +1 -2
  177. data/lib/chef/resource/windows_task.rb +4 -4
  178. data/lib/chef/resource/windows_user_privilege.rb +30 -7
  179. data/lib/chef/resource/yum_repository.rb +9 -9
  180. data/lib/chef/resource_inspector.rb +7 -1
  181. data/lib/chef/resources.rb +5 -2
  182. data/lib/chef/role.rb +1 -2
  183. data/lib/chef/search/query.rb +1 -1
  184. data/lib/chef/server_api_versions.rb +4 -0
  185. data/lib/chef/shell/shell_session.rb +2 -0
  186. data/lib/chef/util/diff.rb +2 -3
  187. data/lib/chef/util/windows/net_user.rb +1 -1
  188. data/lib/chef/util/windows/volume.rb +1 -1
  189. data/lib/chef/version.rb +2 -2
  190. data/lib/chef/win32/file.rb +1 -1
  191. data/lib/chef/win32/registry.rb +3 -4
  192. data/lib/chef/win32/security.rb +1 -1
  193. data/spec/data/lwrp/providers/buck_passer.rb +1 -1
  194. data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
  195. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
  196. data/spec/functional/knife/configure_spec.rb +1 -1
  197. data/spec/functional/knife/ssh_spec.rb +5 -16
  198. data/spec/functional/resource/aix_service_spec.rb +9 -2
  199. data/spec/functional/resource/aixinit_service_spec.rb +1 -2
  200. data/spec/functional/resource/apt_package_spec.rb +0 -1
  201. data/spec/functional/resource/bash_spec.rb +3 -2
  202. data/spec/functional/resource/bff_spec.rb +1 -1
  203. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  204. data/spec/functional/resource/cron_spec.rb +20 -2
  205. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  206. data/spec/functional/resource/execute_spec.rb +1 -1
  207. data/spec/functional/resource/git_spec.rb +23 -1
  208. data/spec/functional/resource/group_spec.rb +15 -3
  209. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  210. data/spec/functional/resource/insserv_spec.rb +3 -3
  211. data/spec/functional/resource/link_spec.rb +2 -5
  212. data/spec/functional/resource/mount_spec.rb +9 -1
  213. data/spec/functional/resource/msu_package_spec.rb +9 -3
  214. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  215. data/spec/functional/resource/remote_file_spec.rb +9 -15
  216. data/spec/functional/resource/rpm_spec.rb +1 -1
  217. data/spec/functional/resource/timezone_spec.rb +2 -0
  218. data/spec/functional/resource/windows_package_spec.rb +0 -1
  219. data/spec/functional/resource/windows_path_spec.rb +4 -0
  220. data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
  221. data/spec/functional/resource/windows_service_spec.rb +4 -0
  222. data/spec/functional/resource/windows_task_spec.rb +12 -11
  223. data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
  224. data/spec/functional/resource/yum_package_spec.rb +4 -1
  225. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  226. data/spec/functional/run_lock_spec.rb +2 -1
  227. data/spec/functional/shell_spec.rb +5 -6
  228. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  229. data/spec/functional/version_spec.rb +1 -1
  230. data/spec/functional/win32/crypto_spec.rb +1 -1
  231. data/spec/integration/knife/config_list_profiles_spec.rb +30 -2
  232. data/spec/integration/knife/config_use_profile_spec.rb +55 -2
  233. data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
  234. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  235. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  236. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  237. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  238. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  239. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  240. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  241. data/spec/integration/recipes/notifies_spec.rb +1 -1
  242. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  243. data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
  244. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
  245. data/spec/integration/recipes/resource_load_spec.rb +4 -2
  246. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  247. data/spec/integration/recipes/use_partial_spec.rb +1 -1
  248. data/spec/scripts/ssl-serve.rb +1 -1
  249. data/spec/spec_helper.rb +10 -4
  250. data/spec/support/chef_helpers.rb +1 -20
  251. data/spec/support/platform_helpers.rb +1 -3
  252. data/spec/support/platforms/win32/spec_service.rb +1 -1
  253. data/spec/support/shared/functional/execute_resource.rb +1 -1
  254. data/spec/support/shared/functional/file_resource.rb +0 -1
  255. data/spec/support/shared/functional/securable_resource.rb +1 -2
  256. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  257. data/spec/support/shared/functional/windows_script.rb +2 -2
  258. data/spec/support/shared/integration/knife_support.rb +2 -9
  259. data/spec/support/shared/unit/application_dot_d.rb +0 -1
  260. data/spec/support/shared/unit/execute_resource.rb +1 -1
  261. data/spec/support/shared/unit/provider/file.rb +12 -8
  262. data/spec/unit/application/solo_spec.rb +4 -2
  263. data/spec/unit/application_spec.rb +11 -2
  264. data/spec/unit/chef_fs/config_spec.rb +2 -2
  265. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  266. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
  267. data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
  268. data/spec/unit/client_spec.rb +4 -1
  269. data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
  270. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  271. data/spec/unit/data_bag_spec.rb +6 -3
  272. data/spec/unit/data_collector_spec.rb +1 -1
  273. data/spec/unit/decorator_spec.rb +23 -23
  274. data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
  275. data/spec/unit/environment_spec.rb +5 -1
  276. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
  277. data/spec/unit/guard_interpreter_spec.rb +1 -1
  278. data/spec/unit/http/api_versions_spec.rb +20 -2
  279. data/spec/unit/http/ssl_policies_spec.rb +20 -0
  280. data/spec/unit/json_compat_spec.rb +1 -1
  281. data/spec/unit/knife/bootstrap_spec.rb +5 -8
  282. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  283. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  284. data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
  285. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  286. data/spec/unit/log/syslog_spec.rb +6 -10
  287. data/spec/unit/log/winevt_spec.rb +21 -13
  288. data/spec/unit/lwrp_spec.rb +9 -6
  289. data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
  290. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  291. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  292. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  293. data/spec/unit/mixin/securable_spec.rb +0 -1
  294. data/spec/unit/mixin/shell_out_spec.rb +25 -26
  295. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  296. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  297. data/spec/unit/mixin/uris_spec.rb +1 -1
  298. data/spec/unit/mixin/user_context_spec.rb +1 -9
  299. data/spec/unit/mixin/which.rb +8 -0
  300. data/spec/unit/node_spec.rb +98 -11
  301. data/spec/unit/property_spec.rb +6 -6
  302. data/spec/unit/provider/batch_spec.rb +130 -0
  303. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  304. data/spec/unit/provider/cron_spec.rb +9 -49
  305. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  306. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  307. data/spec/unit/provider/execute_spec.rb +1 -8
  308. data/spec/unit/provider/git_spec.rb +3 -3
  309. data/spec/unit/provider/ifconfig_spec.rb +0 -1
  310. data/spec/unit/provider/mdadm_spec.rb +1 -3
  311. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  312. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  313. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  314. data/spec/unit/provider/package/powershell_spec.rb +95 -86
  315. data/spec/unit/provider/package/rubygems_spec.rb +5 -10
  316. data/spec/unit/provider/package/smartos_spec.rb +1 -1
  317. data/spec/unit/provider/package/snap_spec.rb +1 -1
  318. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  319. data/spec/unit/provider/package/windows_spec.rb +30 -53
  320. data/spec/unit/provider/powershell_script_spec.rb +3 -45
  321. data/spec/unit/provider/script_spec.rb +20 -110
  322. data/spec/unit/provider/service/redhat_spec.rb +1 -1
  323. data/spec/unit/provider/service/windows_spec.rb +2 -6
  324. data/spec/unit/provider/systemd_unit_spec.rb +28 -24
  325. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  326. data/spec/unit/provider/windows_env_spec.rb +5 -4
  327. data/spec/unit/provider/zypper_repository_spec.rb +60 -10
  328. data/spec/unit/provider_spec.rb +1 -0
  329. data/spec/unit/resource/archive_file_spec.rb +11 -2
  330. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  331. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
  332. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  333. data/spec/unit/resource/cron_spec.rb +2 -2
  334. data/spec/unit/resource/execute_spec.rb +10 -0
  335. data/spec/unit/resource/file/verification_spec.rb +2 -1
  336. data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
  337. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  338. data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
  339. data/spec/unit/resource/powershell_script_spec.rb +10 -15
  340. data/spec/unit/resource/timezone_spec.rb +1 -1
  341. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  342. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  343. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  344. data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
  345. data/spec/unit/resource/windows_package_spec.rb +1 -0
  346. data/spec/unit/resource/windows_task_spec.rb +1 -1
  347. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  348. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  349. data/spec/unit/resource_reporter_spec.rb +1 -1
  350. data/spec/unit/resource_spec.rb +84 -1
  351. data/spec/unit/role_spec.rb +23 -21
  352. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  353. data/spec/unit/run_lock_spec.rb +1 -1
  354. data/spec/unit/scan_access_control_spec.rb +1 -1
  355. data/spec/unit/server_api_spec.rb +43 -16
  356. data/spec/unit/util/backup_spec.rb +1 -1
  357. data/spec/unit/util/diff_spec.rb +1 -15
  358. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  359. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  360. data/spec/unit/util/selinux_spec.rb +2 -1
  361. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  362. data/spec/unit/win32/security_spec.rb +4 -3
  363. metadata +68 -40
  364. data/lib/chef/resource/cron.rb +0 -157
@@ -53,8 +53,26 @@ describe Chef::HTTP::APIVersions do
53
53
  m
54
54
  end
55
55
 
56
+ let(:version_class) do
57
+ Class.new do
58
+ extend Chef::Mixin::VersionedAPIFactory
59
+
60
+ version_class_v0 = Class.new do
61
+ extend Chef::Mixin::VersionedAPI
62
+ minimum_api_version 0
63
+ end
64
+ add_versioned_api_class version_class_v0
65
+
66
+ version_class_v2 = Class.new do
67
+ extend Chef::Mixin::VersionedAPI
68
+ minimum_api_version 2
69
+ end
70
+ add_versioned_api_class version_class_v2
71
+ end
72
+ end
73
+
56
74
  let(:client) do
57
- TestVersionClient.new(url, { version_class: VersionedClassVersions })
75
+ TestVersionClient.new(url, { version_class: version_class })
58
76
  end
59
77
 
60
78
  let(:middleware) do
@@ -72,7 +90,7 @@ describe Chef::HTTP::APIVersions do
72
90
  end
73
91
 
74
92
  context "with an unacceptable api version" do
75
- let (:return_value) { "406" }
93
+ let(:return_value) { "406" }
76
94
  it "resets the list of supported versions" do
77
95
  Chef::ServerAPIVersions.instance.set_versions({ "min_version" => 1, "max_version" => 3 })
78
96
  run_api_version_handler
@@ -166,4 +166,24 @@ describe "HTTP SSL Policy" do
166
166
  end
167
167
 
168
168
  end
169
+
170
+ describe Chef::HTTP::VerifyPeerSSLPolicy do
171
+
172
+ let(:ssl_policy) { Chef::HTTP::VerifyPeerSSLPolicy.new(unconfigured_http_client) }
173
+
174
+ it "sets the OpenSSL verify mode to verify_peer" do
175
+ expect(http_client.verify_mode).to eq(OpenSSL::SSL::VERIFY_PEER)
176
+ end
177
+
178
+ end
179
+
180
+ describe Chef::HTTP::VerifyNoneSSLPolicy do
181
+
182
+ let(:ssl_policy) { Chef::HTTP::VerifyNoneSSLPolicy.new(unconfigured_http_client) }
183
+
184
+ it "sets the OpenSSL verify mode to verify_peer" do
185
+ expect(http_client.verify_mode).to eq(OpenSSL::SSL::VERIFY_NONE)
186
+ end
187
+
188
+ end
169
189
  end
@@ -16,7 +16,7 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require_relative "../spec_helper"
19
+ require "spec_helper"
20
20
  require "chef/json_compat"
21
21
 
22
22
  describe Chef::JSONCompat do
@@ -1729,8 +1729,8 @@ describe Chef::Knife::Bootstrap do
1729
1729
  allow(vault_handler_mock).to receive(:doing_chef_vault?).and_return false
1730
1730
  end
1731
1731
 
1732
- it "shows a message" do
1733
- expect(knife.ui).to receive(:info)
1732
+ it "shows a warning message" do
1733
+ expect(knife.ui).to receive(:warn).twice
1734
1734
  knife.register_client
1735
1735
  end
1736
1736
  end
@@ -1861,12 +1861,10 @@ describe Chef::Knife::Bootstrap do
1861
1861
  let(:connection_protocol) { "ssh" }
1862
1862
 
1863
1863
  it "warns, prompts for password, then reconnects with a password-enabled configuration using the new password" do
1864
- question_mock = double("question")
1865
1864
  expect(knife).to receive(:do_connect).and_raise(expected_error_password_prompt)
1866
1865
  expect(knife.ui).to receive(:warn).with(/Failed to auth.*/)
1867
- expect(knife.ui).to receive(:ask).and_yield(question_mock).and_return("newpassword")
1866
+ expect(knife.ui).to receive(:ask).and_return("newpassword")
1868
1867
  # Ensure that we set echo off to prevent showing password on the screen
1869
- expect(question_mock).to receive(:echo=).with false
1870
1868
  expect(knife).to receive(:do_connect) do |opts|
1871
1869
  expect(opts[:password]).to eq "newpassword"
1872
1870
  end
@@ -1878,12 +1876,10 @@ describe Chef::Knife::Bootstrap do
1878
1876
  let(:connection_protocol) { "winrm" }
1879
1877
 
1880
1878
  it "warns, prompts for password, then reconnects with a password-enabled configuration using the new password for" do
1881
- question_mock = double("question")
1882
1879
  expect(knife).to receive(:do_connect).and_raise(expected_error_password_prompt_winrm)
1883
1880
  expect(knife.ui).to receive(:warn).with(/Failed to auth.*/)
1884
- expect(knife.ui).to receive(:ask).and_yield(question_mock).and_return("newpassword")
1881
+ expect(knife.ui).to receive(:ask).and_return("newpassword")
1885
1882
  # Ensure that we set echo off to prevent showing password on the screen
1886
- expect(question_mock).to receive(:echo=).with false
1887
1883
  expect(knife).to receive(:do_connect) do |opts|
1888
1884
  expect(opts[:password]).to eq "newpassword"
1889
1885
  end
@@ -1927,6 +1923,7 @@ describe Chef::Knife::Bootstrap do
1927
1923
  Chef::Config[:knife][:test_key_c] = "c from Chef::Config"
1928
1924
  Chef::Config[:knife][:alt_test_key_c] = "alt c from Chef::Config"
1929
1925
  knife.merge_configs
1926
+ Chef::Config[:treat_deprecation_warnings_as_errors] = false
1930
1927
  end
1931
1928
 
1932
1929
  it "returns the Chef::Config value from the cli when the CLI key is set" do
@@ -83,7 +83,7 @@ describe Chef::Knife::CookbookDownload do
83
83
  }
84
84
  end
85
85
 
86
- let (:cookbook) do
86
+ let(:cookbook) do
87
87
  cb = Chef::CookbookVersion.new("foobar")
88
88
  cb.version = "1.0.0"
89
89
  cb.manifest = manifest_data
@@ -91,7 +91,7 @@ describe Chef::Knife::CookbookDownload do
91
91
  end
92
92
 
93
93
  describe "and no version" do
94
- let (:manifest_data) { { all_files: [] } }
94
+ let(:manifest_data) { { all_files: [] } }
95
95
  it "should determine which version to download" do
96
96
  expect(@knife).to receive(:determine_version).and_return("1.0.0")
97
97
  expect(File).to receive(:exists?).with("/var/tmp/chef/foobar-1.0.0").and_return(false)
@@ -16,7 +16,6 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- # rename to cookbook not coookbook
20
19
  require "spec_helper"
21
20
 
22
21
  describe Chef::Knife::CookbookShow do
@@ -28,24 +27,24 @@ describe Chef::Knife::CookbookShow do
28
27
  allow(Chef::CookbookVersion).to receive(:load).and_return(cb)
29
28
  end
30
29
 
31
- let (:knife) do
30
+ let(:knife) do
32
31
  knife = Chef::Knife::CookbookShow.new
33
32
  knife.config = {}
34
33
  knife.name_args = [ "cookbook_name" ]
35
34
  knife
36
35
  end
37
36
 
38
- let (:cb) do
37
+ let(:cb) do
39
38
  cb = Chef::CookbookVersion.new("cookbook_name")
40
39
  cb.manifest = manifest
41
40
  cb
42
41
  end
43
42
 
44
- let (:rest) { double(Chef::ServerAPI) }
43
+ let(:rest) { double(Chef::ServerAPI) }
45
44
 
46
- let (:content) { "Example recipe text" }
45
+ let(:content) { "Example recipe text" }
47
46
 
48
- let (:manifest) do
47
+ let(:manifest) do
49
48
  {
50
49
  "all_files" => [
51
50
  {
@@ -69,7 +68,7 @@ describe Chef::Knife::CookbookShow do
69
68
  end
70
69
 
71
70
  describe "with 1 argument: versions" do
72
- let (:response) do
71
+ let(:response) do
73
72
  {
74
73
  "cookbook_name" => {
75
74
  "url" => "http://url/cookbooks/cookbook_name",
@@ -17,7 +17,7 @@
17
17
  # limitations under the License.
18
18
  #
19
19
 
20
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "spec_helper"))
20
+ require "spec_helper"
21
21
 
22
22
  require "chef/cookbook_uploader"
23
23
  require "timeout"
@@ -40,7 +40,6 @@ describe Chef::Knife::CookbookUpload do
40
40
  allow(cookbook_loader).to receive(:load_cookbooks).and_return(cookbook_loader)
41
41
  allow(cookbook_loader).to receive(:compile_metadata).and_return(nil)
42
42
  allow(cookbook_loader).to receive(:freeze_versions).and_return(nil)
43
- allow(cookbook_loader).to receive(:unlink!).and_return(nil)
44
43
  cookbook_loader
45
44
  end
46
45
 
@@ -60,7 +59,7 @@ describe Chef::Knife::CookbookUpload do
60
59
 
61
60
  before(:each) do
62
61
  allow(Chef::CookbookLoader).to receive(:new).and_return(cookbook_loader)
63
- allow(Chef::CookbookLoader).to receive(:copy_to_tmp_dir_from_array).and_return(cookbook_loader)
62
+ allow(Chef::CookbookLoader).to receive(:copy_to_tmp_dir_from_array).and_yield(cookbook_loader)
64
63
  end
65
64
 
66
65
  describe "with --concurrency" do
@@ -70,7 +69,6 @@ describe Chef::Knife::CookbookUpload do
70
69
  test_cookbook = Chef::CookbookVersion.new("test_cookbook", "/tmp/blah")
71
70
  allow(cookbook_loader).to receive(:each).and_yield("test_cookbook", test_cookbook)
72
71
  allow(cookbook_loader).to receive(:cookbook_names).and_return(["test_cookbook"])
73
- allow(cookbook_loader).to receive(:tmp_working_dir_path).and_return("/tmp/blah")
74
72
  expect(Chef::CookbookUploader).to receive(:new)
75
73
  .with( kind_of(Array), { force: nil, concurrency: 3 })
76
74
  .and_return(double("Chef::CookbookUploader", upload_cookbooks: true))
@@ -323,19 +321,18 @@ describe Chef::Knife::CookbookUpload do
323
321
 
324
322
  context "when cookbook path is an array" do
325
323
  it "should warn users that no cookbooks exist" do
326
- knife.config[:cookbook_path] = ["/chef-repo/cookbooks", "/home/user/cookbooks"]
327
- expect(knife.ui).to receive(:warn).with(
328
- /Could not find any cookbooks in your cookbook path: '#{knife.config[:cookbook_path].join(', ')}'\. Use --cookbook-path to specify the desired path\./
329
- )
324
+ cookbook_path = windows? ? "C:/chef-repo/cookbooks" : "/chef-repo/cookbooks"
325
+ knife.config[:cookbook_path] = [cookbook_path, "/home/user/cookbooks"]
326
+ expect(knife.ui).to receive(:warn).with("Could not find any cookbooks in your cookbook path: '#{knife.config[:cookbook_path].join(", ")}'. Use --cookbook-path to specify the desired path.")
330
327
  knife.run
331
328
  end
332
329
  end
333
330
 
334
331
  context "when cookbook path is a string" do
335
332
  it "should warn users that no cookbooks exist" do
336
- knife.config[:cookbook_path] = "/chef-repo/cookbooks"
333
+ knife.config[:cookbook_path] = windows? ? "C:/chef-repo/cookbooks" : "/chef-repo/cookbooks"
337
334
  expect(knife.ui).to receive(:warn).with(
338
- /Could not find any cookbooks in your cookbook path: '#{knife.config[:cookbook_path]}'\. Use --cookbook-path to specify the desired path\./
335
+ "Could not find any cookbooks in your cookbook path: '#{knife.config[:cookbook_path]}'. Use --cookbook-path to specify the desired path."
339
336
  )
340
337
  knife.run
341
338
  end
@@ -95,7 +95,7 @@ describe Chef::Knife::DataBagEdit do
95
95
  let(:is_encrypted?) { true }
96
96
  let(:db) { Chef::DataBagItem.from_hash(enc_raw_hash) }
97
97
  # If the data bag is encrypted, it gets passed to `edit` as a hash. Otherwise, it gets passed as a DataBag
98
- let (:data_to_edit) { raw_hash }
98
+ let(:data_to_edit) { raw_hash }
99
99
 
100
100
  before(:each) do
101
101
  expect(knife).to receive(:encryption_secret_provided_ignore_encrypt_flag?).and_return(true)
@@ -23,25 +23,21 @@ describe "Chef::Log::Syslog", unix_only: true do
23
23
 
24
24
  before do
25
25
  Chef::Log.init(MonoLogger.new(syslog))
26
- @old_log_level = Chef::Log.level
27
26
  Chef::Log.level = :info
28
- @old_loggers = Chef::Log.loggers
29
- Chef::Log.use_log_devices([syslog])
30
- end
31
-
32
- after do
33
- Chef::Log.level = @old_log_level
34
- Chef::Log.use_log_devices(@old_loggers)
35
27
  end
36
28
 
37
29
  it "should send message with severity info to syslog." do
38
30
  expect(syslog).to receive(:add).with(1, "*** Chef 12.4.0.dev.0 ***", nil)
39
- Chef::Log.info("*** Chef 12.4.0.dev.0 ***")
31
+ expect {
32
+ Chef::Log.info("*** Chef 12.4.0.dev.0 ***")
33
+ }.not_to output.to_stderr
40
34
  end
41
35
 
42
36
  it "should send message with severity warning to syslog." do
43
37
  expect(syslog).to receive(:add).with(2, "No config file found or specified on command line. Using command line options instead.", nil)
44
- Chef::Log.warn("No config file found or specified on command line. Using command line options instead.")
38
+ expect {
39
+ Chef::Log.warn("No config file found or specified on command line. Using command line options instead.")
40
+ }.not_to output.to_stderr
45
41
  end
46
42
 
47
43
  it "should fallback into send message with severity info to syslog when wrong format." do
@@ -19,32 +19,40 @@
19
19
 
20
20
  require "spec_helper"
21
21
 
22
- describe Chef::Log::WinEvt do
22
+ describe Chef::Log::WinEvt, :windows_only do
23
23
  let(:evtlog) { instance_double("Win32::EventLog") }
24
24
  let(:winevt) { Chef::Log::WinEvt.new(evtlog) }
25
25
  let(:app) { Chef::Application.new }
26
26
 
27
27
  before do
28
28
  Chef::Log.init(MonoLogger.new(winevt))
29
- @old_log_level = Chef::Log.level
30
29
  Chef::Log.level = :info
31
- @old_loggers = Chef::Log.loggers
32
- Chef::Log.use_log_devices([winevt])
33
- end
34
-
35
- after do
36
- Chef::Log.level = @old_log_level
37
- Chef::Log.use_log_devices(@old_loggers)
38
30
  end
39
31
 
40
32
  it "should send message with severity info to Windows Event Log." do
41
- expect(winevt).to receive(:add).with(1, "*** Chef 12.4.0.dev.0 ***", nil)
42
- Chef::Log.info("*** Chef 12.4.0.dev.0 ***")
33
+ expect(evtlog).to receive(:report_event).with(
34
+ event_type: ::Win32::EventLog::INFO_TYPE,
35
+ source: Chef::Log::WinEvt::SOURCE,
36
+ event_id: Chef::Log::WinEvt::INFO_EVENT_ID,
37
+ data: ["*** Chef 12.4.0.dev.0 ***"]
38
+ )
39
+
40
+ expect {
41
+ Chef::Log.info("*** Chef 12.4.0.dev.0 ***")
42
+ }.not_to output.to_stderr
43
43
  end
44
44
 
45
45
  it "should send message with severity warning to Windows Event Log." do
46
- expect(winevt).to receive(:add).with(2, "No config file found or specified on command line. Using command line options instead.", nil)
47
- Chef::Log.warn("No config file found or specified on command line. Using command line options instead.")
46
+ expect(evtlog).to receive(:report_event).with(
47
+ event_type: ::Win32::EventLog::WARN_TYPE,
48
+ source: Chef::Log::WinEvt::SOURCE,
49
+ event_id: Chef::Log::WinEvt::WARN_EVENT_ID,
50
+ data: ["No config file found or specified on command line. Using command line options instead."]
51
+ )
52
+
53
+ expect {
54
+ Chef::Log.warn("No config file found or specified on command line. Using command line options instead.")
55
+ }.not_to output.to_stderr
48
56
  end
49
57
 
50
58
  it "should fallback into send message with severity info to Windows Event Log when wrong format." do
@@ -140,7 +140,7 @@ describe "LWRP" do
140
140
  before do
141
141
  @tmpdir = Dir.mktmpdir("lwrp_test")
142
142
  @lwrp_path = File.join(@tmpdir, "foo.rb")
143
- content = IO.read(File.expand_path("../../data/lwrp/resources/foo.rb", __FILE__))
143
+ content = IO.read(File.expand_path("../data/lwrp/resources/foo.rb", __dir__))
144
144
  IO.write(@lwrp_path, content)
145
145
  Chef::Resource::LWRPBase.build_from_file("lwrp", @lwrp_path, nil)
146
146
  @original_resource = Chef::ResourceResolver.resolve(:lwrp_foo)
@@ -152,7 +152,7 @@ describe "LWRP" do
152
152
 
153
153
  context "And the LWRP is asked to load again, this time with different code" do
154
154
  before do
155
- content = IO.read(File.expand_path("../../data/lwrp_override/resources/foo.rb", __FILE__))
155
+ content = IO.read(File.expand_path("../data/lwrp_override/resources/foo.rb", __dir__))
156
156
  IO.write(@lwrp_path, content)
157
157
  Chef::Resource::LWRPBase.build_from_file("lwrp", @lwrp_path, nil)
158
158
  end
@@ -390,11 +390,11 @@ describe "LWRP" do
390
390
  end
391
391
 
392
392
  before(:each) do
393
- Dir[File.expand_path(File.expand_path("../../data/lwrp/resources/*", __FILE__))].each do |file|
393
+ Dir[File.expand_path(File.expand_path("../data/lwrp/resources/*", __dir__))].each do |file|
394
394
  Chef::Resource::LWRPBase.build_from_file(lwrp_cookbook_name, file, run_context)
395
395
  end
396
396
 
397
- Dir[File.expand_path(File.expand_path("../../data/lwrp/providers/*", __FILE__))].each do |file|
397
+ Dir[File.expand_path(File.expand_path("../data/lwrp/providers/*", __dir__))].each do |file|
398
398
  Chef::Provider::LWRPBase.build_from_file(lwrp_cookbook_name, file, run_context)
399
399
  end
400
400
  end
@@ -653,14 +653,17 @@ describe "LWRP" do
653
653
  end
654
654
  end
655
655
 
656
- let(:recipe) do
656
+ let(:run_context) do
657
657
  cookbook_repo = File.expand_path(File.join(File.dirname(__FILE__), "..", "data", "cookbooks"))
658
658
  cookbook_loader = Chef::CookbookLoader.new(cookbook_repo)
659
659
  cookbook_loader.load_cookbooks
660
660
  cookbook_collection = Chef::CookbookCollection.new(cookbook_loader)
661
661
  node = Chef::Node.new
662
662
  events = Chef::EventDispatch::Dispatcher.new
663
- run_context = Chef::RunContext.new(node, cookbook_collection, events)
663
+ Chef::RunContext.new(node, cookbook_collection, events)
664
+ end
665
+
666
+ let(:recipe) do
664
667
  Chef::Recipe.new("hjk", "test", run_context)
665
668
  end
666
669
 
@@ -18,19 +18,19 @@
18
18
 
19
19
  require "spec_helper"
20
20
 
21
- class PathSanityTestHarness
22
- include Chef::Mixin::PathSanity
21
+ class DefaultPathsTestHarness
22
+ include Chef::Mixin::DefaultPaths
23
23
  end
24
24
 
25
- describe Chef::Mixin::PathSanity do
25
+ describe Chef::Mixin::DefaultPaths do
26
26
 
27
27
  before do
28
- @sanity = PathSanityTestHarness.new
28
+ @default_paths = DefaultPathsTestHarness.new
29
29
  end
30
30
 
31
- describe "when enforcing path sanity" do
31
+ describe "when enforcing default paths" do
32
32
  before do
33
- Chef::Config[:enforce_path_sanity] = true
33
+ Chef::Config[:enforce_default_paths] = true
34
34
  @ruby_bindir = "/some/ruby/bin"
35
35
  @gem_bindir = "/some/gem/bin"
36
36
  allow(Gem).to receive(:bindir).and_return(@gem_bindir)
@@ -40,41 +40,41 @@ describe Chef::Mixin::PathSanity do
40
40
 
41
41
  it "adds all useful PATHs even if environment is an empty hash" do
42
42
  env = {}
43
- @sanity.enforce_path_sanity(env)
43
+ @default_paths.enforce_default_paths(env)
44
44
  expect(env["PATH"]).to eq("#{@gem_bindir}:#{@ruby_bindir}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
45
45
  end
46
46
 
47
47
  it "adds all useful PATHs that are not yet in PATH to PATH" do
48
48
  env = { "PATH" => "" }
49
- @sanity.enforce_path_sanity(env)
49
+ @default_paths.enforce_default_paths(env)
50
50
  expect(env["PATH"]).to eq("#{@gem_bindir}:#{@ruby_bindir}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
51
51
  end
52
52
 
53
53
  it "does not re-add paths that already exist in PATH" do
54
54
  env = { "PATH" => "/usr/bin:/sbin:/bin" }
55
- @sanity.enforce_path_sanity(env)
55
+ @default_paths.enforce_default_paths(env)
56
56
  expect(env["PATH"]).to eq("#{@gem_bindir}:#{@ruby_bindir}:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin")
57
57
  end
58
58
 
59
59
  it "creates path with utf-8 encoding" do
60
60
  env = { "PATH" => "/usr/bin:/sbin:/bin:/b#{0x81.chr}t".force_encoding("ISO-8859-1") }
61
- @sanity.enforce_path_sanity(env)
61
+ @default_paths.enforce_default_paths(env)
62
62
  expect(env["PATH"].encoding.to_s).to eq("UTF-8")
63
63
  end
64
64
 
65
65
  it "adds the current executing Ruby's bindir and Gem bindir to the PATH" do
66
66
  env = { "PATH" => "" }
67
- @sanity.enforce_path_sanity(env)
67
+ @default_paths.enforce_default_paths(env)
68
68
  expect(env["PATH"]).to eq("#{@gem_bindir}:#{@ruby_bindir}:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
69
69
  end
70
70
 
71
- it "does not create entries for Ruby/Gem bindirs if they exist in SANE_PATH or PATH" do
71
+ it "does not create entries for Ruby/Gem bindirs if they exist in PATH" do
72
72
  ruby_bindir = "/usr/bin"
73
73
  gem_bindir = "/yo/gabba/gabba"
74
74
  allow(Gem).to receive(:bindir).and_return(gem_bindir)
75
75
  allow(RbConfig::CONFIG).to receive(:[]).with("bindir").and_return(ruby_bindir)
76
76
  env = { "PATH" => gem_bindir }
77
- @sanity.enforce_path_sanity(env)
77
+ @default_paths.enforce_default_paths(env)
78
78
  expect(env["PATH"]).to eq("/usr/bin:/yo/gabba/gabba:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin")
79
79
  end
80
80
 
@@ -85,7 +85,7 @@ describe Chef::Mixin::PathSanity do
85
85
  allow(RbConfig::CONFIG).to receive(:[]).with("bindir").and_return(ruby_bindir)
86
86
  allow(ChefUtils).to receive(:windows?).and_return(true)
87
87
  env = { "PATH" => 'C:\Windows\system32;C:\mr\softie' }
88
- @sanity.enforce_path_sanity(env)
88
+ @default_paths.enforce_default_paths(env)
89
89
  expect(env["PATH"]).to eq("#{gem_bindir};#{ruby_bindir};C:\\Windows\\system32;C:\\mr\\softie")
90
90
  end
91
91
  end