chef 16.1.0-universal-mingw32 → 16.3.38-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 (424) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -7
  3. data/README.md +3 -3
  4. data/Rakefile +4 -3
  5. data/chef-universal-mingw32.gemspec +2 -2
  6. data/chef.gemspec +7 -6
  7. data/distro/powershell/chef/chef.psm1 +3 -3
  8. data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
  9. data/lib/chef/application.rb +12 -0
  10. data/lib/chef/application/apply.rb +2 -1
  11. data/lib/chef/application/base.rb +1 -1
  12. data/lib/chef/application/client.rb +1 -1
  13. data/lib/chef/application/windows_service_manager.rb +1 -1
  14. data/lib/chef/{whitelist.rb → attribute_allowlist.rb} +11 -11
  15. data/lib/chef/{blacklist.rb → attribute_blocklist.rb} +9 -9
  16. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  17. data/lib/chef/chef_fs/data_handler/organization_data_handler.rb +1 -2
  18. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  19. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  20. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -5
  21. data/lib/chef/chef_fs/file_system/repository/base_file.rb +1 -0
  22. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  23. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +2 -2
  24. data/lib/chef/chef_fs/path_utils.rb +4 -4
  25. data/lib/chef/client.rb +3 -3
  26. data/lib/chef/cookbook/chefignore.rb +1 -1
  27. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  28. data/lib/chef/cookbook/metadata.rb +2 -2
  29. data/lib/chef/cookbook/remote_file_vendor.rb +1 -3
  30. data/lib/chef/cookbook/syntax_check.rb +1 -2
  31. data/lib/chef/cookbook_loader.rb +16 -30
  32. data/lib/chef/cookbook_manifest.rb +1 -1
  33. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  34. data/lib/chef/cookbook_version.rb +4 -4
  35. data/lib/chef/data_bag.rb +5 -6
  36. data/lib/chef/data_collector.rb +1 -1
  37. data/lib/chef/data_collector/error_handlers.rb +1 -1
  38. data/lib/chef/decorator/lazy_array.rb +2 -2
  39. data/lib/chef/deprecated.rb +12 -0
  40. data/lib/chef/digester.rb +5 -4
  41. data/lib/chef/dsl/declare_resource.rb +1 -1
  42. data/lib/chef/dsl/platform_introspection.rb +2 -0
  43. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  44. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  45. data/lib/chef/environment.rb +1 -2
  46. data/lib/chef/exceptions.rb +3 -0
  47. data/lib/chef/file_access_control.rb +1 -1
  48. data/lib/chef/file_access_control/windows.rb +2 -2
  49. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  50. data/lib/chef/formatters/base.rb +1 -1
  51. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  52. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
  53. data/lib/chef/http.rb +19 -4
  54. data/lib/chef/http/authenticator.rb +1 -1
  55. data/lib/chef/http/decompressor.rb +1 -1
  56. data/lib/chef/http/http_request.rb +1 -1
  57. data/lib/chef/http/json_output.rb +1 -1
  58. data/lib/chef/http/ssl_policies.rb +18 -0
  59. data/lib/chef/json_compat.rb +1 -1
  60. data/lib/chef/key.rb +1 -1
  61. data/lib/chef/knife.rb +6 -6
  62. data/lib/chef/knife/bootstrap.rb +24 -24
  63. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  64. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  65. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  66. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
  67. data/lib/chef/knife/bootstrap/train_connector.rb +1 -0
  68. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  69. data/lib/chef/knife/config_get.rb +2 -1
  70. data/lib/chef/knife/config_list_profiles.rb +4 -1
  71. data/lib/chef/knife/config_use_profile.rb +15 -5
  72. data/lib/chef/knife/configure.rb +1 -1
  73. data/lib/chef/knife/cookbook_delete.rb +1 -1
  74. data/lib/chef/knife/cookbook_upload.rb +6 -14
  75. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  76. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  77. data/lib/chef/knife/core/gem_glob_loader.rb +1 -1
  78. data/lib/chef/knife/core/hashed_command_loader.rb +2 -1
  79. data/lib/chef/knife/core/node_presenter.rb +1 -1
  80. data/lib/chef/knife/core/status_presenter.rb +1 -1
  81. data/lib/chef/knife/core/subcommand_loader.rb +21 -2
  82. data/lib/chef/knife/core/ui.rb +8 -2
  83. data/lib/chef/knife/core/windows_bootstrap_context.rb +18 -4
  84. data/lib/chef/knife/data_bag_create.rb +1 -1
  85. data/lib/chef/knife/key_create_base.rb +1 -1
  86. data/lib/chef/knife/key_edit_base.rb +1 -1
  87. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  88. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  89. data/lib/chef/knife/rehash.rb +3 -21
  90. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  91. data/lib/chef/knife/ssh.rb +7 -3
  92. data/lib/chef/knife/supermarket_share.rb +1 -1
  93. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  94. data/lib/chef/log.rb +8 -3
  95. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  96. data/lib/chef/mixin/checksum.rb +0 -1
  97. data/{spec/functional/resource/base.rb → lib/chef/mixin/chef_utils_wiring.rb} +24 -12
  98. data/{spec/unit/log_spec.rb → lib/chef/mixin/default_paths.rb} +13 -5
  99. data/lib/chef/mixin/openssl_helper.rb +31 -9
  100. data/lib/chef/mixin/path_sanity.rb +5 -4
  101. data/lib/chef/mixin/properties.rb +2 -2
  102. data/lib/chef/mixin/securable.rb +2 -2
  103. data/lib/chef/mixin/shell_out.rb +4 -188
  104. data/lib/chef/mixin/template.rb +1 -0
  105. data/lib/chef/mixin/which.rb +6 -3
  106. data/lib/chef/mixins.rb +1 -0
  107. data/lib/chef/node.rb +36 -12
  108. data/lib/chef/node/attribute.rb +2 -2
  109. data/lib/chef/node/immutable_collections.rb +1 -1
  110. data/lib/chef/node_map.rb +21 -18
  111. data/lib/chef/platform/service_helpers.rb +31 -28
  112. data/lib/chef/policy_builder/policyfile.rb +1 -1
  113. data/lib/chef/powershell.rb +1 -1
  114. data/lib/chef/property.rb +2 -2
  115. data/lib/chef/provider.rb +3 -3
  116. data/lib/chef/provider/batch.rb +3 -10
  117. data/lib/chef/provider/cron.rb +2 -14
  118. data/lib/chef/provider/directory.rb +1 -1
  119. data/lib/chef/provider/execute.rb +2 -1
  120. data/lib/chef/provider/file.rb +1 -1
  121. data/lib/chef/provider/git.rb +12 -4
  122. data/lib/chef/provider/group/dscl.rb +2 -2
  123. data/lib/chef/provider/group/windows.rb +1 -1
  124. data/lib/chef/provider/ifconfig.rb +7 -7
  125. data/lib/chef/provider/mount/aix.rb +1 -1
  126. data/lib/chef/provider/mount/solaris.rb +0 -1
  127. data/lib/chef/provider/mount/windows.rb +2 -2
  128. data/lib/chef/provider/noop.rb +1 -1
  129. data/lib/chef/provider/package/chocolatey.rb +1 -1
  130. data/lib/chef/provider/package/dpkg.rb +1 -1
  131. data/lib/chef/provider/package/openbsd.rb +1 -1
  132. data/lib/chef/provider/package/portage.rb +3 -2
  133. data/lib/chef/provider/package/powershell.rb +6 -2
  134. data/lib/chef/provider/package/rubygems.rb +3 -3
  135. data/lib/chef/provider/package/snap.rb +97 -29
  136. data/lib/chef/provider/package/windows.rb +11 -6
  137. data/lib/chef/provider/package/windows/msi.rb +3 -3
  138. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  139. data/lib/chef/provider/package/yum.rb +1 -1
  140. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  141. data/lib/chef/provider/package/zypper.rb +0 -1
  142. data/lib/chef/provider/powershell_script.rb +10 -14
  143. data/lib/chef/provider/remote_directory.rb +2 -2
  144. data/lib/chef/provider/remote_file/http.rb +4 -1
  145. data/lib/chef/provider/script.rb +4 -75
  146. data/lib/chef/provider/service.rb +2 -2
  147. data/lib/chef/provider/service/arch.rb +2 -2
  148. data/lib/chef/provider/service/debian.rb +2 -2
  149. data/lib/chef/provider/service/openbsd.rb +4 -4
  150. data/lib/chef/provider/service/redhat.rb +1 -1
  151. data/lib/chef/provider/service/upstart.rb +1 -1
  152. data/lib/chef/provider/service/windows.rb +1 -1
  153. data/lib/chef/provider/subversion.rb +2 -2
  154. data/lib/chef/provider/user/aix.rb +1 -1
  155. data/lib/chef/provider/user/dscl.rb +6 -6
  156. data/lib/chef/provider/user/linux.rb +3 -3
  157. data/lib/chef/provider/user/mac.rb +15 -11
  158. data/lib/chef/provider/windows_script.rb +87 -25
  159. data/lib/chef/provider/windows_task.rb +4 -2
  160. data/lib/chef/provider/yum_repository.rb +1 -1
  161. data/lib/chef/provider/zypper_repository.rb +31 -11
  162. data/lib/chef/resource.rb +27 -14
  163. data/lib/chef/resource/alternatives.rb +1 -1
  164. data/lib/chef/resource/apt_package.rb +1 -1
  165. data/lib/chef/resource/archive_file.rb +28 -8
  166. data/lib/chef/resource/bash.rb +0 -1
  167. data/lib/chef/resource/batch.rb +4 -2
  168. data/lib/chef/resource/build_essential.rb +2 -2
  169. data/lib/chef/resource/chef_client_scheduled_task.rb +14 -2
  170. data/lib/chef/resource/chef_gem.rb +57 -21
  171. data/lib/chef/resource/chef_handler.rb +2 -2
  172. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  173. data/lib/chef/resource/chocolatey_feature.rb +1 -2
  174. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  175. data/lib/chef/resource/cron/cron.rb +46 -0
  176. data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
  177. data/lib/chef/resource/cron_access.rb +13 -5
  178. data/lib/chef/resource/csh.rb +0 -1
  179. data/lib/chef/resource/dmg_package.rb +2 -2
  180. data/lib/chef/resource/execute.rb +480 -10
  181. data/lib/chef/resource/file.rb +10 -8
  182. data/lib/chef/resource/freebsd_package.rb +1 -1
  183. data/lib/chef/resource/gem_package.rb +35 -2
  184. data/lib/chef/resource/helpers/cron_validations.rb +6 -3
  185. data/lib/chef/resource/homebrew_package.rb +30 -1
  186. data/lib/chef/resource/homebrew_update.rb +107 -0
  187. data/lib/chef/resource/hostname.rb +7 -20
  188. data/lib/chef/resource/kernel_module.rb +14 -1
  189. data/lib/chef/resource/launchd.rb +1 -1
  190. data/lib/chef/resource/locale.rb +3 -3
  191. data/lib/chef/resource/lwrp_base.rb +1 -0
  192. data/lib/chef/resource/macos_userdefaults.rb +176 -56
  193. data/lib/chef/resource/mount.rb +1 -1
  194. data/lib/chef/resource/openssl_x509_certificate.rb +11 -14
  195. data/lib/chef/resource/openssl_x509_crl.rb +1 -2
  196. data/lib/chef/resource/perl.rb +0 -1
  197. data/lib/chef/resource/plist.rb +23 -4
  198. data/lib/chef/resource/powershell_script.rb +4 -2
  199. data/lib/chef/resource/python.rb +0 -1
  200. data/lib/chef/resource/remote_file.rb +26 -10
  201. data/lib/chef/resource/ruby.rb +0 -1
  202. data/lib/chef/resource/scm/git.rb +1 -1
  203. data/lib/chef/resource/service.rb +2 -2
  204. data/lib/chef/resource/ssh_known_hosts_entry.rb +16 -1
  205. data/lib/chef/resource/sudo.rb +30 -3
  206. data/lib/chef/resource/swap_file.rb +17 -0
  207. data/lib/chef/resource/template.rb +1 -1
  208. data/lib/chef/resource/timezone.rb +15 -0
  209. data/lib/chef/resource/user_ulimit.rb +1 -1
  210. data/lib/chef/resource/windows_ad_join.rb +30 -1
  211. data/lib/chef/resource/windows_audit_policy.rb +227 -0
  212. data/lib/chef/resource/windows_auto_run.rb +11 -0
  213. data/lib/chef/resource/windows_certificate.rb +27 -1
  214. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  215. data/lib/chef/resource/windows_dns_record.rb +17 -0
  216. data/lib/chef/resource/windows_firewall_profile.rb +197 -0
  217. data/lib/chef/resource/windows_font.rb +3 -3
  218. data/lib/chef/resource/windows_package.rb +1 -1
  219. data/lib/chef/resource/windows_pagefile.rb +2 -2
  220. data/lib/chef/resource/windows_script.rb +2 -16
  221. data/lib/chef/resource/windows_security_policy.rb +67 -36
  222. data/lib/chef/resource/windows_shortcut.rb +1 -2
  223. data/lib/chef/resource/windows_task.rb +10 -10
  224. data/lib/chef/resource/windows_user_privilege.rb +33 -10
  225. data/lib/chef/resource/yum_repository.rb +9 -9
  226. data/lib/chef/resource_inspector.rb +11 -4
  227. data/lib/chef/resources.rb +5 -2
  228. data/lib/chef/role.rb +1 -2
  229. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  230. data/lib/chef/search/query.rb +1 -1
  231. data/lib/chef/shell/ext.rb +1 -1
  232. data/lib/chef/shell/shell_session.rb +2 -0
  233. data/lib/chef/util/diff.rb +2 -3
  234. data/lib/chef/util/windows/net_user.rb +1 -1
  235. data/lib/chef/util/windows/volume.rb +1 -1
  236. data/lib/chef/version.rb +2 -2
  237. data/lib/chef/win32/api.rb +2 -2
  238. data/lib/chef/win32/api/error.rb +3 -1
  239. data/lib/chef/win32/api/file.rb +1 -1
  240. data/lib/chef/win32/api/net.rb +1 -0
  241. data/lib/chef/win32/file.rb +1 -1
  242. data/lib/chef/win32/mutex.rb +1 -1
  243. data/lib/chef/win32/net.rb +1 -0
  244. data/lib/chef/win32/registry.rb +3 -4
  245. data/lib/chef/win32/security.rb +1 -1
  246. data/lib/chef/win32/security/sid.rb +4 -4
  247. data/spec/data/lwrp/providers/buck_passer.rb +1 -1
  248. data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
  249. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
  250. data/spec/functional/knife/configure_spec.rb +1 -1
  251. data/spec/functional/knife/ssh_spec.rb +5 -16
  252. data/spec/functional/resource/aix_service_spec.rb +9 -2
  253. data/spec/functional/resource/aixinit_service_spec.rb +1 -2
  254. data/spec/functional/resource/apt_package_spec.rb +0 -1
  255. data/spec/functional/resource/bash_spec.rb +3 -2
  256. data/spec/functional/resource/bff_spec.rb +1 -1
  257. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  258. data/spec/functional/resource/cron_spec.rb +20 -2
  259. data/spec/functional/resource/dnf_package_spec.rb +6 -3
  260. data/spec/functional/resource/execute_spec.rb +1 -1
  261. data/spec/functional/resource/git_spec.rb +29 -7
  262. data/spec/functional/resource/group_spec.rb +15 -3
  263. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  264. data/spec/functional/resource/insserv_spec.rb +3 -3
  265. data/spec/functional/resource/link_spec.rb +2 -5
  266. data/spec/functional/resource/mount_spec.rb +9 -1
  267. data/spec/functional/resource/msu_package_spec.rb +9 -3
  268. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  269. data/spec/functional/resource/remote_file_spec.rb +9 -15
  270. data/spec/functional/resource/rpm_spec.rb +1 -1
  271. data/spec/functional/resource/timezone_spec.rb +2 -0
  272. data/spec/functional/resource/windows_package_spec.rb +0 -1
  273. data/spec/functional/resource/windows_path_spec.rb +4 -0
  274. data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
  275. data/spec/functional/resource/windows_service_spec.rb +4 -0
  276. data/spec/functional/resource/windows_task_spec.rb +16 -15
  277. data/spec/functional/resource/windows_user_privilege_spec.rb +1 -2
  278. data/spec/functional/resource/yum_package_spec.rb +4 -1
  279. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  280. data/spec/functional/run_lock_spec.rb +2 -1
  281. data/spec/functional/shell_spec.rb +5 -6
  282. data/spec/functional/util/powershell/cmdlet_spec.rb +1 -1
  283. data/spec/functional/version_spec.rb +1 -1
  284. data/spec/functional/win32/crypto_spec.rb +1 -1
  285. data/spec/integration/knife/config_list_profiles_spec.rb +30 -2
  286. data/spec/integration/knife/config_use_profile_spec.rb +55 -2
  287. data/spec/integration/knife/cookbook_upload_spec.rb +28 -1
  288. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  289. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  290. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  291. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  292. data/spec/integration/recipes/accumulator_spec.rb +1 -1
  293. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  294. data/spec/integration/recipes/lwrp_spec.rb +1 -1
  295. data/spec/integration/recipes/notifies_spec.rb +1 -1
  296. data/spec/integration/recipes/notifying_block_spec.rb +1 -1
  297. data/spec/integration/recipes/recipe_dsl_spec.rb +5 -1
  298. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +2 -0
  299. data/spec/integration/recipes/resource_load_spec.rb +4 -2
  300. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  301. data/spec/integration/recipes/use_partial_spec.rb +1 -1
  302. data/spec/scripts/ssl-serve.rb +1 -1
  303. data/spec/spec_helper.rb +10 -4
  304. data/spec/support/chef_helpers.rb +2 -21
  305. data/spec/support/platform_helpers.rb +1 -3
  306. data/spec/support/platforms/win32/spec_service.rb +1 -1
  307. data/spec/support/shared/functional/execute_resource.rb +1 -1
  308. data/spec/support/shared/functional/file_resource.rb +0 -1
  309. data/spec/support/shared/functional/securable_resource.rb +1 -2
  310. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  311. data/spec/support/shared/functional/windows_script.rb +3 -3
  312. data/spec/support/shared/integration/knife_support.rb +2 -9
  313. data/spec/support/shared/unit/application_dot_d.rb +0 -1
  314. data/spec/support/shared/unit/execute_resource.rb +1 -1
  315. data/spec/support/shared/unit/provider/file.rb +12 -8
  316. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
  317. data/spec/unit/application/solo_spec.rb +4 -2
  318. data/spec/unit/application_spec.rb +11 -2
  319. data/spec/unit/chef_fs/config_spec.rb +2 -2
  320. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  321. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +2 -4
  322. data/spec/unit/chef_fs/{parallelizer.rb → parallelizer_spec.rb} +1 -1
  323. data/spec/unit/client_spec.rb +4 -1
  324. data/spec/unit/cookbook/gem_installer_spec.rb +2 -1
  325. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  326. data/spec/unit/data_bag_spec.rb +6 -3
  327. data/spec/unit/data_collector_spec.rb +1 -1
  328. data/spec/unit/decorator_spec.rb +23 -23
  329. data/spec/unit/dsl/platform_introspection_spec.rb +1 -0
  330. data/spec/unit/environment_spec.rb +5 -1
  331. data/spec/unit/event_dispatch/dispatcher_spec.rb +3 -0
  332. data/spec/unit/guard_interpreter_spec.rb +1 -1
  333. data/spec/unit/http/api_versions_spec.rb +1 -1
  334. data/spec/unit/http/ssl_policies_spec.rb +20 -0
  335. data/spec/unit/json_compat_spec.rb +1 -1
  336. data/spec/unit/knife/bootstrap_spec.rb +5 -8
  337. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  338. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  339. data/spec/unit/knife/cookbook_upload_spec.rb +7 -10
  340. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
  341. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  342. data/spec/unit/log/syslog_spec.rb +6 -10
  343. data/spec/unit/log/winevt_spec.rb +21 -13
  344. data/spec/unit/lwrp_spec.rb +9 -6
  345. data/spec/unit/mixin/{path_sanity_spec.rb → default_paths_spec.rb} +14 -14
  346. data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
  347. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  348. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  349. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  350. data/spec/unit/mixin/securable_spec.rb +0 -1
  351. data/spec/unit/mixin/shell_out_spec.rb +25 -26
  352. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  353. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  354. data/spec/unit/mixin/uris_spec.rb +1 -1
  355. data/spec/unit/mixin/user_context_spec.rb +1 -9
  356. data/spec/unit/mixin/which.rb +8 -0
  357. data/spec/unit/node/attribute_spec.rb +1 -1
  358. data/spec/unit/node_spec.rb +98 -11
  359. data/spec/unit/property_spec.rb +6 -6
  360. data/spec/unit/provider/batch_spec.rb +130 -0
  361. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  362. data/spec/unit/provider/cron_spec.rb +9 -49
  363. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  364. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  365. data/spec/unit/provider/execute_spec.rb +1 -8
  366. data/spec/unit/provider/git_spec.rb +3 -3
  367. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  368. data/spec/unit/provider/ifconfig_spec.rb +0 -1
  369. data/spec/unit/provider/mdadm_spec.rb +1 -3
  370. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -1
  371. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  372. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  373. data/spec/unit/provider/package/portage_spec.rb +2 -2
  374. data/spec/unit/provider/package/powershell_spec.rb +96 -87
  375. data/spec/unit/provider/package/rubygems_spec.rb +5 -10
  376. data/spec/unit/provider/package/smartos_spec.rb +1 -1
  377. data/spec/unit/provider/package/snap_spec.rb +1 -1
  378. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  379. data/spec/unit/provider/package/windows_spec.rb +30 -53
  380. data/spec/unit/provider/powershell_script_spec.rb +3 -45
  381. data/spec/unit/provider/script_spec.rb +20 -110
  382. data/spec/unit/provider/service/redhat_spec.rb +1 -1
  383. data/spec/unit/provider/service/windows_spec.rb +2 -6
  384. data/spec/unit/provider/systemd_unit_spec.rb +28 -24
  385. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  386. data/spec/unit/provider/windows_env_spec.rb +5 -4
  387. data/spec/unit/provider/zypper_repository_spec.rb +60 -10
  388. data/spec/unit/provider_spec.rb +1 -0
  389. data/spec/unit/resource/archive_file_spec.rb +11 -2
  390. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  391. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
  392. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  393. data/spec/unit/resource/cron_spec.rb +2 -2
  394. data/spec/unit/resource/execute_spec.rb +10 -0
  395. data/spec/unit/resource/file/verification_spec.rb +2 -1
  396. data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
  397. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  398. data/spec/unit/resource/macos_user_defaults_spec.rb +103 -2
  399. data/spec/unit/resource/powershell_script_spec.rb +10 -15
  400. data/spec/unit/resource/timezone_spec.rb +1 -1
  401. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  402. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  403. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  404. data/spec/unit/resource/windows_firewall_profile_spec.rb +77 -0
  405. data/spec/unit/resource/windows_package_spec.rb +1 -0
  406. data/spec/unit/resource/windows_task_spec.rb +1 -1
  407. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  408. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  409. data/spec/unit/resource_reporter_spec.rb +1 -1
  410. data/spec/unit/resource_spec.rb +84 -1
  411. data/spec/unit/role_spec.rb +23 -21
  412. data/spec/unit/run_context/cookbook_compiler_spec.rb +1 -1
  413. data/spec/unit/run_lock_spec.rb +1 -1
  414. data/spec/unit/scan_access_control_spec.rb +1 -1
  415. data/spec/unit/util/backup_spec.rb +1 -1
  416. data/spec/unit/util/diff_spec.rb +1 -15
  417. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  418. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  419. data/spec/unit/util/selinux_spec.rb +2 -1
  420. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  421. data/spec/unit/win32/registry_spec.rb +1 -1
  422. data/spec/unit/win32/security_spec.rb +4 -3
  423. metadata +68 -40
  424. data/lib/chef/resource/cron.rb +0 -157
@@ -95,7 +95,8 @@ describe Chef::Cookbook::GemInstaller do
95
95
 
96
96
  it "skip metadata installation when Chef::Config[:skip_gem_metadata_installation] is set to true" do
97
97
  Chef::Config[:skip_gem_metadata_installation] = true
98
- expect(gem_installer.install).to_not receive(:shell_out!)
98
+ expect(gem_installer).to_not receive(:shell_out!)
99
+ expect(gem_installer.install).to be_nil
99
100
  end
100
101
 
101
102
  it "install metadata when Chef::Config[:skip_gem_metadata_installation] is not true" do
@@ -217,6 +217,8 @@ describe Chef::CookbookSynchronizer do
217
217
  path: "/tmp/cookbook_a_template_default_tempfile")
218
218
  end
219
219
 
220
+ let(:root) { windows? ? "C:/file-cache/cookbooks/cookbook_a" : "/file-cache/cookbooks/cookbook_a" }
221
+
220
222
  def setup_common_files_missing_expectations
221
223
  # Files are not in the cache:
222
224
  expect(file_cache).to receive(:key?)
@@ -234,7 +236,7 @@ describe Chef::CookbookSynchronizer do
234
236
  .with("/tmp/cookbook_a_recipes_default_rb", "cookbooks/cookbook_a/recipes/default.rb")
235
237
  expect(file_cache).to receive(:load)
236
238
  .with("cookbooks/cookbook_a/recipes/default.rb", false)
237
- .and_return("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
239
+ .and_return("#{root}/recipes/default.rb")
238
240
 
239
241
  # Fetch and copy default.rb attribute file
240
242
  expect(server_api).to receive(:streaming_request)
@@ -244,7 +246,7 @@ describe Chef::CookbookSynchronizer do
244
246
  .with("/tmp/cookbook_a_attributes_default_rb", "cookbooks/cookbook_a/attributes/default.rb")
245
247
  expect(file_cache).to receive(:load)
246
248
  .with("cookbooks/cookbook_a/attributes/default.rb", false)
247
- .and_return("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
249
+ .and_return("#{root}/attributes/default.rb")
248
250
  end
249
251
 
250
252
  def setup_no_lazy_files_and_templates_missing_expectations
@@ -262,7 +264,7 @@ describe Chef::CookbookSynchronizer do
262
264
  .with("/tmp/cookbook_a_file_default_tempfile", "cookbooks/cookbook_a/files/default/megaman.conf")
263
265
  expect(file_cache).to receive(:load)
264
266
  .with("cookbooks/cookbook_a/files/default/megaman.conf", false)
265
- .and_return("/file-cache/cookbooks/cookbook_a/default/megaman.conf")
267
+ .and_return("#{root}/default/megaman.conf")
266
268
 
267
269
  expect(server_api).to receive(:streaming_request)
268
270
  .with("http://chef.example.com/ffffff")
@@ -271,7 +273,7 @@ describe Chef::CookbookSynchronizer do
271
273
  .with("/tmp/cookbook_a_template_default_tempfile", "cookbooks/cookbook_a/templates/default/apache2.conf.erb")
272
274
  expect(file_cache).to receive(:load)
273
275
  .with("cookbooks/cookbook_a/templates/default/apache2.conf.erb", false)
274
- .and_return("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
276
+ .and_return("#{root}/templates/default/apache2.conf.erb")
275
277
  end
276
278
 
277
279
  def setup_common_files_chksum_mismatch_expectations
@@ -292,11 +294,11 @@ describe Chef::CookbookSynchronizer do
292
294
  expect(file_cache).to receive(:load)
293
295
  .with("cookbooks/cookbook_a/recipes/default.rb", false)
294
296
  .twice
295
- .and_return("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
297
+ .and_return("#{root}/recipes/default.rb")
296
298
 
297
299
  # Current file has fff000, want abc123
298
300
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
299
- .with("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
301
+ .with("#{root}/recipes/default.rb")
300
302
  .and_return("fff000").at_least(:once)
301
303
 
302
304
  # Fetch and copy default.rb attribute file
@@ -308,11 +310,11 @@ describe Chef::CookbookSynchronizer do
308
310
  expect(file_cache).to receive(:load)
309
311
  .with("cookbooks/cookbook_a/attributes/default.rb", false)
310
312
  .twice
311
- .and_return("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
313
+ .and_return("#{root}/attributes/default.rb")
312
314
 
313
315
  # Current file has fff000, want abc456
314
316
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
315
- .with("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
317
+ .with("#{root}/attributes/default.rb")
316
318
  .and_return("fff000").at_least(:once)
317
319
  end
318
320
 
@@ -334,7 +336,7 @@ describe Chef::CookbookSynchronizer do
334
336
  expect(file_cache).to receive(:load)
335
337
  .with("cookbooks/cookbook_a/files/default/megaman.conf", false)
336
338
  .twice
337
- .and_return("/file-cache/cookbooks/cookbook_a/default/megaman.conf")
339
+ .and_return("#{root}/default/megaman.conf")
338
340
 
339
341
  # Fetch and copy apache2.conf template
340
342
  expect(server_api).to receive(:streaming_request)
@@ -345,16 +347,16 @@ describe Chef::CookbookSynchronizer do
345
347
  expect(file_cache).to receive(:load)
346
348
  .with("cookbooks/cookbook_a/templates/default/apache2.conf.erb", false)
347
349
  .twice
348
- .and_return("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
350
+ .and_return("#{root}/templates/default/apache2.conf.erb")
349
351
 
350
352
  # Current file has fff000
351
353
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
352
- .with("/file-cache/cookbooks/cookbook_a/default/megaman.conf")
354
+ .with("#{root}/default/megaman.conf")
353
355
  .and_return("fff000")
354
356
 
355
357
  # Current file has fff000
356
358
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
357
- .with("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
359
+ .with("#{root}/templates/default/apache2.conf.erb")
358
360
  .and_return("fff000")
359
361
  end
360
362
 
@@ -369,23 +371,23 @@ describe Chef::CookbookSynchronizer do
369
371
 
370
372
  # Current file has abc123, want abc123
371
373
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
372
- .with("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
374
+ .with("#{root}/recipes/default.rb")
373
375
  .and_return("abc123").at_least(:once)
374
376
 
375
377
  # Current file has abc456, want abc456
376
378
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
377
- .with("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
379
+ .with("#{root}/attributes/default.rb")
378
380
  .and_return("abc456").at_least(:once)
379
381
 
380
382
  # :load called twice
381
383
  expect(file_cache).to receive(:load)
382
384
  .with("cookbooks/cookbook_a/recipes/default.rb", false)
383
385
  .twice
384
- .and_return("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
386
+ .and_return("#{root}/recipes/default.rb")
385
387
  expect(file_cache).to receive(:load)
386
388
  .with("cookbooks/cookbook_a/attributes/default.rb", false)
387
389
  .twice
388
- .and_return("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
390
+ .and_return("#{root}/attributes/default.rb")
389
391
  end
390
392
 
391
393
  def setup_no_lazy_files_and_templates_present_expectations
@@ -399,23 +401,23 @@ describe Chef::CookbookSynchronizer do
399
401
 
400
402
  # Current file has abc124, want abc124
401
403
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
402
- .with("/file-cache/cookbooks/cookbook_a/default/megaman.conf")
404
+ .with("#{root}/default/megaman.conf")
403
405
  .and_return("abc124")
404
406
 
405
407
  # Current file has abc125, want abc125
406
408
  expect(Chef::CookbookVersion).to receive(:checksum_cookbook_file)
407
- .with("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
409
+ .with("#{root}/templates/default/apache2.conf.erb")
408
410
  .and_return("abc125")
409
411
 
410
412
  # :load called twice
411
413
  expect(file_cache).to receive(:load)
412
414
  .with("cookbooks/cookbook_a/files/default/megaman.conf", false)
413
415
  .twice
414
- .and_return("/file-cache/cookbooks/cookbook_a/default/megaman.conf")
416
+ .and_return("#{root}/default/megaman.conf")
415
417
  expect(file_cache).to receive(:load)
416
418
  .with("cookbooks/cookbook_a/templates/default/apache2.conf.erb", false)
417
419
  .twice
418
- .and_return("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
420
+ .and_return("#{root}/templates/default/apache2.conf.erb")
419
421
  end
420
422
 
421
423
  describe "#server_api" do
@@ -535,19 +537,19 @@ describe Chef::CookbookSynchronizer do
535
537
  expect(file_cache).to receive(:load)
536
538
  .with("cookbooks/cookbook_a/recipes/default.rb", false)
537
539
  .once
538
- .and_return("/file-cache/cookbooks/cookbook_a/recipes/default.rb")
540
+ .and_return("#{root}/recipes/default.rb")
539
541
  expect(file_cache).to receive(:load)
540
542
  .with("cookbooks/cookbook_a/attributes/default.rb", false)
541
543
  .once
542
- .and_return("/file-cache/cookbooks/cookbook_a/attributes/default.rb")
544
+ .and_return("#{root}/attributes/default.rb")
543
545
  expect(file_cache).to receive(:load)
544
546
  .with("cookbooks/cookbook_a/templates/default/apache2.conf.erb", false)
545
547
  .once
546
- .and_return("/file-cache/cookbooks/cookbook_a/templates/default/apache2.conf.erb")
548
+ .and_return("#{root}/templates/default/apache2.conf.erb")
547
549
  expect(file_cache).to receive(:load)
548
550
  .with("cookbooks/cookbook_a/files/default/megaman.conf", false)
549
551
  .once
550
- .and_return("/file-cache/cookbooks/cookbook_a/files/default/megaman.conf")
552
+ .and_return("#{root}/files/default/megaman.conf")
551
553
  expect(Chef::Log).to receive(:warn)
552
554
  .with("skipping cookbook synchronization! DO NOT LEAVE THIS ENABLED IN PRODUCTION!!!")
553
555
  .once
@@ -240,20 +240,23 @@ describe Chef::DataBag do
240
240
 
241
241
  it "should raise an error if the configured data_bag_path is invalid" do
242
242
  file_dir_stub(@paths.first, false)
243
+ msg = "Data bag path '#{windows? ? "C:/var/chef" : "/var/chef"}/data_bags' not found. Please create this directory."
243
244
 
244
245
  expect do
245
246
  Chef::DataBag.load("foo")
246
- end.to raise_error Chef::Exceptions::InvalidDataBagPath, "Data bag path '/var/chef/data_bags' is invalid"
247
+ end.to raise_error Chef::Exceptions::InvalidDataBagPath, msg
247
248
  end
248
249
 
249
250
  end
250
251
 
251
252
  describe "data bag with string path" do
252
- it_should_behave_like "data bag in solo mode", "/var/chef/data_bags"
253
+ it_should_behave_like "data bag in solo mode", "#{windows? ? "C:/var/chef" : "/var/chef"}/data_bags"
253
254
  end
254
255
 
255
256
  describe "data bag with array path" do
256
- it_should_behave_like "data bag in solo mode", ["/var/chef/data_bags", "/var/chef/data_bags_2"]
257
+ it_should_behave_like "data bag in solo mode", %w{data_bags data_bags_2}.map { |data_bag|
258
+ "#{windows? ? "C:/var/chef" : "/var/chef"}/#{data_bag}"
259
+ }
257
260
  end
258
261
  end
259
262
 
@@ -15,7 +15,7 @@
15
15
  # limitations under the License.
16
16
  #
17
17
 
18
- require_relative "../spec_helper"
18
+ require "spec_helper"
19
19
  require "chef/data_collector"
20
20
  require "socket"
21
21
 
@@ -18,37 +18,37 @@
18
18
 
19
19
  require "spec_helper"
20
20
 
21
- def impersonates_a(klass)
22
- it "#is_a?(#{klass}) is true" do
23
- expect(decorator.is_a?(klass)).to be true
24
- end
21
+ describe Chef::Decorator do
22
+ def self.impersonates_a(klass)
23
+ it "#is_a?(#{klass}) is true" do
24
+ expect(decorator.is_a?(klass)).to be true
25
+ end
25
26
 
26
- it "#is_a?(Chef::Decorator) is true" do
27
- expect(decorator.is_a?(Chef::Decorator)).to be true
28
- end
27
+ it "#is_a?(Chef::Decorator) is true" do
28
+ expect(decorator.is_a?(Chef::Decorator)).to be true
29
+ end
29
30
 
30
- it "#kind_of?(#{klass}) is true" do
31
- expect(decorator.is_a?(klass)).to be true
32
- end
31
+ it "#kind_of?(#{klass}) is true" do
32
+ expect(decorator.is_a?(klass)).to be true
33
+ end
33
34
 
34
- it "#kind_of?(Chef::Decorator) is true" do
35
- expect(decorator.is_a?(Chef::Decorator)).to be true
36
- end
35
+ it "#kind_of?(Chef::Decorator) is true" do
36
+ expect(decorator.is_a?(Chef::Decorator)).to be true
37
+ end
37
38
 
38
- it "#instance_of?(#{klass}) is false" do
39
- expect(decorator.instance_of?(klass)).to be false
40
- end
39
+ it "#instance_of?(#{klass}) is false" do
40
+ expect(decorator.instance_of?(klass)).to be false
41
+ end
41
42
 
42
- it "#instance_of?(Chef::Decorator) is true" do
43
- expect(decorator.instance_of?(Chef::Decorator)).to be true
44
- end
43
+ it "#instance_of?(Chef::Decorator) is true" do
44
+ expect(decorator.instance_of?(Chef::Decorator)).to be true
45
+ end
45
46
 
46
- it "#class is Chef::Decorator" do
47
- expect(decorator.class).to eql(Chef::Decorator)
47
+ it "#class is Chef::Decorator" do
48
+ expect(decorator.class).to eql(Chef::Decorator)
49
+ end
48
50
  end
49
- end
50
51
 
51
- describe Chef::Decorator do
52
52
  let(:obj) {}
53
53
  let(:decorator) { Chef::Decorator.new(obj) }
54
54
 
@@ -21,6 +21,7 @@ require "chef/dsl/platform_introspection"
21
21
 
22
22
  class LanguageTester
23
23
  attr_reader :node
24
+
24
25
  def initialize(node)
25
26
  @node = node
26
27
  end
@@ -454,7 +454,11 @@ describe Chef::Environment do
454
454
 
455
455
  expect do
456
456
  Chef::Environment.load("foo")
457
- end.to raise_error Chef::Exceptions::InvalidEnvironmentPath, "Environment path '/var/chef/environments' is invalid"
457
+ end.to raise_error(
458
+ an_instance_of(Chef::Exceptions::InvalidEnvironmentPath).and having_attributes(
459
+ message: "Environment path '#{windows? ? "C:/var/chef/environments" : "/var/chef/environments"}' is invalid"
460
+ )
461
+ )
458
462
  end
459
463
 
460
464
  it "should raise an error if the file does not exist" do
@@ -61,6 +61,7 @@ describe Chef::EventDispatch::Dispatcher do
61
61
  let(:event_sink) do
62
62
  Class.new(Chef::EventDispatch::Base) do
63
63
  attr_reader :synchronized_cookbook_args
64
+
64
65
  def synchronized_cookbook(cookbook_name)
65
66
  @synchronized_cookbook_args = [cookbook_name]
66
67
  end
@@ -79,6 +80,7 @@ describe Chef::EventDispatch::Dispatcher do
79
80
  let(:event_sink_1) do
80
81
  Class.new(Chef::EventDispatch::Base) do
81
82
  attr_reader :synchronized_cookbook_args
83
+
82
84
  def synchronized_cookbook(cookbook_name)
83
85
  @synchronized_cookbook_args = [cookbook_name]
84
86
  end
@@ -87,6 +89,7 @@ describe Chef::EventDispatch::Dispatcher do
87
89
  let(:event_sink_2) do
88
90
  Class.new(Chef::EventDispatch::Base) do
89
91
  attr_reader :synchronized_cookbook_args
92
+
90
93
  def synchronized_cookbook(cookbook_name, cookbook)
91
94
  @synchronized_cookbook_args = [cookbook_name, cookbook]
92
95
  end
@@ -20,7 +20,7 @@ require "spec_helper"
20
20
 
21
21
  describe Chef::GuardInterpreter do
22
22
  describe "#for_resource" do
23
- let (:resource) { Chef::Resource.new("foo") }
23
+ let(:resource) { Chef::Resource.new("foo") }
24
24
 
25
25
  it "returns a DefaultGuardInterpreter if the resource has guard_interpreter set to :default" do
26
26
  resource.guard_interpreter :default
@@ -72,7 +72,7 @@ describe Chef::HTTP::APIVersions do
72
72
  end
73
73
 
74
74
  context "with an unacceptable api version" do
75
- let (:return_value) { "406" }
75
+ let(:return_value) { "406" }
76
76
  it "resets the list of supported versions" do
77
77
  Chef::ServerAPIVersions.instance.set_versions({ "min_version" => 1, "max_version" => 3 })
78
78
  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)