chef 16.0.287-universal-mingw32 → 16.2.73-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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -3
  3. data/README.md +3 -3
  4. data/Rakefile +3 -2
  5. data/chef.gemspec +5 -5
  6. data/distro/powershell/chef/chef.psm1 +3 -3
  7. data/distro/templates/powershell/chef/chef.psm1.erb +3 -3
  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/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  13. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  14. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  15. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  16. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  17. data/lib/chef/chef_fs/path_utils.rb +4 -4
  18. data/lib/chef/cookbook/chefignore.rb +1 -1
  19. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  20. data/lib/chef/cookbook/metadata.rb +2 -2
  21. data/lib/chef/cookbook_loader.rb +1 -1
  22. data/lib/chef/cookbook_manifest.rb +1 -1
  23. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  24. data/lib/chef/cookbook_version.rb +4 -4
  25. data/lib/chef/data_bag.rb +4 -4
  26. data/lib/chef/data_collector.rb +1 -1
  27. data/lib/chef/data_collector/error_handlers.rb +1 -1
  28. data/lib/chef/decorator/lazy_array.rb +2 -2
  29. data/lib/chef/deprecated.rb +4 -0
  30. data/lib/chef/digester.rb +5 -4
  31. data/lib/chef/dsl/declare_resource.rb +1 -1
  32. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  33. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  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/base.rb +1 -1
  38. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  39. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
  40. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
  41. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
  42. data/lib/chef/http.rb +19 -4
  43. data/lib/chef/http/decompressor.rb +1 -1
  44. data/lib/chef/http/http_request.rb +1 -1
  45. data/lib/chef/http/json_output.rb +1 -1
  46. data/lib/chef/http/ssl_policies.rb +18 -0
  47. data/lib/chef/json_compat.rb +1 -1
  48. data/lib/chef/key.rb +1 -1
  49. data/lib/chef/knife.rb +2 -2
  50. data/lib/chef/knife/bootstrap.rb +20 -14
  51. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  52. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  53. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  54. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
  55. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  56. data/lib/chef/knife/config_get.rb +1 -1
  57. data/lib/chef/knife/config_use_profile.rb +15 -5
  58. data/lib/chef/knife/cookbook_delete.rb +1 -1
  59. data/lib/chef/knife/cookbook_upload.rb +1 -4
  60. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  61. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  62. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  63. data/lib/chef/knife/core/node_presenter.rb +1 -1
  64. data/lib/chef/knife/core/status_presenter.rb +1 -1
  65. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  66. data/lib/chef/knife/core/windows_bootstrap_context.rb +19 -4
  67. data/lib/chef/knife/data_bag_create.rb +1 -1
  68. data/lib/chef/knife/key_create_base.rb +1 -1
  69. data/lib/chef/knife/key_edit_base.rb +1 -1
  70. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  71. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  72. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  73. data/lib/chef/knife/ssh.rb +2 -2
  74. data/lib/chef/knife/supermarket_share.rb +1 -1
  75. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  76. data/lib/chef/log.rb +1 -1
  77. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  78. data/lib/chef/mixin/checksum.rb +0 -1
  79. data/lib/chef/mixin/openssl_helper.rb +4 -4
  80. data/lib/chef/mixin/properties.rb +2 -2
  81. data/lib/chef/mixin/securable.rb +2 -2
  82. data/lib/chef/mixin/shell_out.rb +1 -1
  83. data/lib/chef/node/attribute.rb +2 -2
  84. data/lib/chef/node/immutable_collections.rb +1 -1
  85. data/lib/chef/policy_builder/policyfile.rb +1 -1
  86. data/lib/chef/powershell.rb +1 -1
  87. data/lib/chef/property.rb +2 -2
  88. data/lib/chef/provider.rb +3 -3
  89. data/lib/chef/provider/batch.rb +3 -10
  90. data/lib/chef/provider/cron.rb +2 -14
  91. data/lib/chef/provider/directory.rb +1 -1
  92. data/lib/chef/provider/execute.rb +2 -1
  93. data/lib/chef/provider/file.rb +1 -1
  94. data/lib/chef/provider/group/dscl.rb +2 -2
  95. data/lib/chef/provider/group/windows.rb +1 -1
  96. data/lib/chef/provider/ifconfig.rb +7 -7
  97. data/lib/chef/provider/launchd.rb +11 -9
  98. data/lib/chef/provider/mount/aix.rb +1 -1
  99. data/lib/chef/provider/mount/windows.rb +2 -2
  100. data/lib/chef/provider/noop.rb +1 -1
  101. data/lib/chef/provider/package/cab.rb +1 -1
  102. data/lib/chef/provider/package/chocolatey.rb +1 -1
  103. data/lib/chef/provider/package/dpkg.rb +1 -1
  104. data/lib/chef/provider/package/openbsd.rb +1 -1
  105. data/lib/chef/provider/package/portage.rb +3 -2
  106. data/lib/chef/provider/package/powershell.rb +6 -2
  107. data/lib/chef/provider/package/rubygems.rb +3 -3
  108. data/lib/chef/provider/package/snap.rb +96 -27
  109. data/lib/chef/provider/package/windows.rb +2 -2
  110. data/lib/chef/provider/package/windows/msi.rb +3 -3
  111. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  112. data/lib/chef/provider/package/yum.rb +1 -1
  113. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  114. data/lib/chef/provider/powershell_script.rb +11 -15
  115. data/lib/chef/provider/remote_directory.rb +2 -2
  116. data/lib/chef/provider/remote_file/http.rb +4 -1
  117. data/lib/chef/provider/script.rb +4 -75
  118. data/lib/chef/provider/service/arch.rb +2 -2
  119. data/lib/chef/provider/service/debian.rb +2 -2
  120. data/lib/chef/provider/service/macosx.rb +9 -0
  121. data/lib/chef/provider/service/openbsd.rb +4 -4
  122. data/lib/chef/provider/service/redhat.rb +1 -1
  123. data/lib/chef/provider/service/upstart.rb +1 -1
  124. data/lib/chef/provider/service/windows.rb +1 -1
  125. data/lib/chef/provider/subversion.rb +2 -2
  126. data/lib/chef/provider/user/aix.rb +1 -1
  127. data/lib/chef/provider/user/dscl.rb +6 -6
  128. data/lib/chef/provider/user/linux.rb +3 -3
  129. data/lib/chef/provider/user/mac.rb +15 -11
  130. data/lib/chef/provider/windows_script.rb +87 -25
  131. data/lib/chef/provider/windows_task.rb +4 -2
  132. data/lib/chef/provider/zypper_repository.rb +30 -10
  133. data/lib/chef/resource.rb +25 -14
  134. data/lib/chef/resource/alternatives.rb +1 -1
  135. data/lib/chef/resource/apt_package.rb +1 -1
  136. data/lib/chef/resource/archive_file.rb +28 -8
  137. data/lib/chef/resource/bash.rb +0 -1
  138. data/lib/chef/resource/batch.rb +4 -2
  139. data/lib/chef/resource/chef_client_scheduled_task.rb +13 -1
  140. data/lib/chef/resource/chef_gem.rb +57 -21
  141. data/lib/chef/resource/chef_handler.rb +2 -2
  142. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  143. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  144. data/lib/chef/resource/cron/cron.rb +46 -0
  145. data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
  146. data/lib/chef/resource/cron_access.rb +11 -3
  147. data/lib/chef/resource/csh.rb +0 -1
  148. data/lib/chef/resource/dmg_package.rb +2 -2
  149. data/lib/chef/resource/execute.rb +478 -8
  150. data/lib/chef/resource/file.rb +10 -8
  151. data/lib/chef/resource/freebsd_package.rb +1 -1
  152. data/lib/chef/resource/gem_package.rb +35 -2
  153. data/lib/chef/resource/helpers/cron_validations.rb +6 -3
  154. data/lib/chef/resource/homebrew_package.rb +30 -1
  155. data/lib/chef/resource/homebrew_update.rb +107 -0
  156. data/lib/chef/resource/hostname.rb +7 -20
  157. data/lib/chef/resource/kernel_module.rb +14 -1
  158. data/lib/chef/resource/launchd.rb +1 -1
  159. data/lib/chef/resource/locale.rb +3 -3
  160. data/lib/chef/resource/macos_userdefaults.rb +11 -6
  161. data/lib/chef/resource/mount.rb +1 -1
  162. data/lib/chef/resource/perl.rb +0 -1
  163. data/lib/chef/resource/plist.rb +23 -4
  164. data/lib/chef/resource/powershell_script.rb +4 -2
  165. data/lib/chef/resource/python.rb +0 -1
  166. data/lib/chef/resource/remote_file.rb +26 -10
  167. data/lib/chef/resource/ruby.rb +0 -1
  168. data/lib/chef/resource/scm/git.rb +1 -1
  169. data/lib/chef/resource/ssh_known_hosts_entry.rb +15 -0
  170. data/lib/chef/resource/sudo.rb +29 -2
  171. data/lib/chef/resource/swap_file.rb +17 -0
  172. data/lib/chef/resource/template.rb +1 -1
  173. data/lib/chef/resource/timezone.rb +15 -0
  174. data/lib/chef/resource/windows_ad_join.rb +30 -1
  175. data/lib/chef/resource/windows_audit_policy.rb +227 -0
  176. data/lib/chef/resource/windows_auto_run.rb +11 -0
  177. data/lib/chef/resource/windows_certificate.rb +27 -1
  178. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  179. data/lib/chef/resource/windows_font.rb +3 -3
  180. data/lib/chef/resource/windows_package.rb +1 -1
  181. data/lib/chef/resource/windows_pagefile.rb +2 -2
  182. data/lib/chef/resource/windows_script.rb +2 -16
  183. data/lib/chef/resource/windows_security_policy.rb +47 -16
  184. data/lib/chef/resource/windows_shortcut.rb +1 -2
  185. data/lib/chef/resource/windows_task.rb +10 -10
  186. data/lib/chef/resource/windows_user_privilege.rb +70 -5
  187. data/lib/chef/resource/yum_repository.rb +9 -9
  188. data/lib/chef/resource_inspector.rb +4 -3
  189. data/lib/chef/resources.rb +4 -2
  190. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  191. data/lib/chef/search/query.rb +1 -1
  192. data/lib/chef/shell/ext.rb +1 -1
  193. data/lib/chef/util/diff.rb +2 -2
  194. data/lib/chef/util/windows/net_user.rb +1 -1
  195. data/lib/chef/util/windows/volume.rb +1 -1
  196. data/lib/chef/version.rb +1 -1
  197. data/lib/chef/win32/api.rb +2 -2
  198. data/lib/chef/win32/api/error.rb +3 -1
  199. data/lib/chef/win32/api/file.rb +1 -1
  200. data/lib/chef/win32/api/net.rb +1 -0
  201. data/lib/chef/win32/file.rb +1 -1
  202. data/lib/chef/win32/mutex.rb +1 -1
  203. data/lib/chef/win32/net.rb +1 -0
  204. data/lib/chef/win32/registry.rb +2 -2
  205. data/lib/chef/win32/security.rb +1 -1
  206. data/lib/chef/win32/security/sid.rb +4 -4
  207. data/spec/data/lwrp/providers/buck_passer.rb +1 -1
  208. data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
  209. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
  210. data/spec/functional/knife/configure_spec.rb +1 -1
  211. data/spec/functional/resource/aix_service_spec.rb +10 -1
  212. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  213. data/spec/functional/resource/bash_spec.rb +3 -2
  214. data/spec/functional/resource/bff_spec.rb +1 -1
  215. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  216. data/spec/functional/resource/cron_spec.rb +20 -1
  217. data/spec/functional/resource/dnf_package_spec.rb +6 -3
  218. data/spec/functional/resource/execute_spec.rb +1 -1
  219. data/spec/functional/resource/git_spec.rb +6 -6
  220. data/spec/functional/resource/group_spec.rb +9 -1
  221. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  222. data/spec/functional/resource/insserv_spec.rb +3 -2
  223. data/spec/functional/resource/launchd_spec.rb +232 -0
  224. data/spec/functional/resource/link_spec.rb +2 -5
  225. data/spec/functional/resource/mount_spec.rb +9 -1
  226. data/spec/functional/resource/msu_package_spec.rb +9 -3
  227. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  228. data/spec/functional/resource/remote_file_spec.rb +8 -8
  229. data/spec/functional/resource/rpm_spec.rb +1 -1
  230. data/spec/functional/resource/timezone_spec.rb +2 -0
  231. data/spec/functional/resource/windows_package_spec.rb +0 -1
  232. data/spec/functional/resource/windows_path_spec.rb +4 -0
  233. data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
  234. data/spec/functional/resource/windows_service_spec.rb +4 -0
  235. data/spec/functional/resource/windows_task_spec.rb +16 -15
  236. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -1
  237. data/spec/functional/resource/yum_package_spec.rb +4 -1
  238. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  239. data/spec/functional/shell_spec.rb +0 -1
  240. data/spec/functional/win32/crypto_spec.rb +1 -1
  241. data/spec/integration/knife/config_use_profile_spec.rb +55 -2
  242. data/spec/integration/knife/cookbook_upload_spec.rb +1 -1
  243. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  244. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  245. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  246. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  247. data/spec/integration/recipes/recipe_dsl_spec.rb +4 -0
  248. data/spec/integration/recipes/resource_load_spec.rb +2 -2
  249. data/spec/support/chef_helpers.rb +1 -1
  250. data/spec/support/platform_helpers.rb +1 -1
  251. data/spec/support/platforms/win32/spec_service.rb +1 -1
  252. data/spec/support/shared/functional/execute_resource.rb +1 -1
  253. data/spec/support/shared/functional/securable_resource.rb +1 -2
  254. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  255. data/spec/support/shared/functional/windows_script.rb +3 -3
  256. data/spec/support/shared/unit/execute_resource.rb +1 -1
  257. data/spec/support/shared/unit/provider/file.rb +12 -8
  258. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
  259. data/spec/unit/application/solo_spec.rb +4 -2
  260. data/spec/unit/application_spec.rb +7 -0
  261. data/spec/unit/chef_fs/config_spec.rb +2 -2
  262. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  263. data/spec/unit/client_spec.rb +4 -1
  264. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  265. data/spec/unit/data_bag_spec.rb +6 -3
  266. data/spec/unit/decorator_spec.rb +23 -23
  267. data/spec/unit/environment_spec.rb +5 -1
  268. data/spec/unit/guard_interpreter_spec.rb +1 -1
  269. data/spec/unit/http/api_versions_spec.rb +1 -1
  270. data/spec/unit/http/ssl_policies_spec.rb +20 -0
  271. data/spec/unit/knife/bootstrap_spec.rb +3 -2
  272. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  273. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  274. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
  275. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  276. data/spec/unit/lwrp_spec.rb +5 -2
  277. data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
  278. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  279. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  280. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  281. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  282. data/spec/unit/mixin/uris_spec.rb +1 -1
  283. data/spec/unit/mixin/user_context_spec.rb +1 -9
  284. data/spec/unit/node/attribute_spec.rb +1 -1
  285. data/spec/unit/property_spec.rb +1 -1
  286. data/spec/unit/provider/batch_spec.rb +130 -0
  287. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  288. data/spec/unit/provider/cron_spec.rb +9 -49
  289. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  290. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  291. data/spec/unit/provider/execute_spec.rb +1 -1
  292. data/spec/unit/provider/git_spec.rb +3 -3
  293. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  294. data/spec/unit/provider/launchd_spec.rb +0 -42
  295. data/spec/unit/provider/mdadm_spec.rb +1 -3
  296. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  297. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  298. data/spec/unit/provider/package/portage_spec.rb +2 -2
  299. data/spec/unit/provider/package/powershell_spec.rb +96 -87
  300. data/spec/unit/provider/package/snap_spec.rb +1 -1
  301. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  302. data/spec/unit/provider/powershell_script_spec.rb +3 -45
  303. data/spec/unit/provider/script_spec.rb +20 -110
  304. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  305. data/spec/unit/provider/windows_env_spec.rb +5 -4
  306. data/spec/unit/provider/zypper_repository_spec.rb +60 -10
  307. data/spec/unit/resource/archive_file_spec.rb +11 -2
  308. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  309. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
  310. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  311. data/spec/unit/resource/cron_spec.rb +2 -2
  312. data/spec/unit/resource/file/verification_spec.rb +2 -1
  313. data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
  314. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  315. data/spec/unit/resource/powershell_script_spec.rb +10 -15
  316. data/spec/unit/resource/timezone_spec.rb +1 -1
  317. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  318. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  319. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  320. data/spec/unit/resource/windows_task_spec.rb +1 -1
  321. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  322. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  323. data/spec/unit/resource_spec.rb +84 -1
  324. data/spec/unit/role_spec.rb +23 -21
  325. data/spec/unit/util/backup_spec.rb +1 -1
  326. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  327. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  328. data/spec/unit/util/selinux_spec.rb +2 -1
  329. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  330. data/spec/unit/win32/registry_spec.rb +1 -1
  331. metadata +37 -31
  332. data/lib/chef/resource/cron.rb +0 -157
  333. data/spec/functional/resource/base.rb +0 -28
@@ -16,7 +16,6 @@
16
16
  #
17
17
 
18
18
  require "spec_helper"
19
- require "functional/resource/base"
20
19
  require "chef/mixin/shell_out"
21
20
 
22
21
  # run this test only for following platforms.
@@ -66,6 +65,10 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
66
65
  FileUtils.rm_f "/etc/yum.repos.d/chef-dnf-localtesting.repo"
67
66
  end
68
67
 
68
+ let(:run_context) do
69
+ Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
70
+ end
71
+
69
72
  let(:package_name) { "chef_rpm" }
70
73
  let(:dnf_package) { Chef::Resource::DnfPackage.new(package_name, run_context) }
71
74
 
@@ -726,7 +729,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
726
729
 
727
730
  it "with a prco equality pin in the name it upgrades a prior package" do
728
731
  preinstall("chef_rpm-1.2-1.#{pkg_arch}.rpm")
729
- dnf_package.package_name("chef_rpm == 1.10")
732
+ dnf_package.package_name("chef_rpm = 1.10")
730
733
  dnf_package.run_action(:upgrade)
731
734
  expect(dnf_package.updated_by_last_action?).to be true
732
735
  expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^chef_rpm-1.10-1.#{pkg_arch}$")
@@ -742,7 +745,7 @@ describe Chef::Resource::DnfPackage, :requires_root, external: exclude_test do
742
745
 
743
746
  it "with a prco equality pin in the name it downgrades a later package" do
744
747
  preinstall("chef_rpm-1.10-1.#{pkg_arch}.rpm")
745
- dnf_package.package_name("chef_rpm == 1.2")
748
+ dnf_package.package_name("chef_rpm = 1.2")
746
749
  dnf_package.run_action(:upgrade)
747
750
  expect(dnf_package.updated_by_last_action?).to be true
748
751
  expect(shell_out("rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' chef_rpm").stdout.chomp).to match("^chef_rpm-1.2-1.#{pkg_arch}$")
@@ -17,11 +17,11 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "timeout"
22
21
 
23
22
  describe Chef::Resource::Execute do
24
23
  let(:resource) do
24
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
25
25
  resource = Chef::Resource::Execute.new("foo_resource", run_context)
26
26
  resource.command("echo hello")
27
27
  resource
@@ -103,7 +103,7 @@ describe Chef::Resource::Git, requires_git: true do
103
103
  revision "v1.0.0"
104
104
  end.should_be_updated
105
105
  expect_revision_to_be("HEAD", v1_commit)
106
- expect_branch_to_be("tags/v1.0.0^0") # detatched
106
+ expect_branch_to_be("tags/v1.0.0^0") # detached
107
107
  # also verify the tag commit itself is what we expect as an extra sanity check
108
108
  expect_revision_to_be("v1.0.0", v1_tag)
109
109
  end
@@ -116,7 +116,7 @@ describe Chef::Resource::Git, requires_git: true do
116
116
  git deploy_directory do
117
117
  repository origin_repo
118
118
  revision "v1.0.0"
119
- expect_branch_to_be("tags/v1.0.0^0") # detatched
119
+ expect_branch_to_be("tags/v1.0.0^0") # detached
120
120
  end.should_not_be_updated
121
121
  end
122
122
  end
@@ -128,7 +128,7 @@ describe Chef::Resource::Git, requires_git: true do
128
128
  revision rev_foo
129
129
  end.should_be_updated
130
130
  expect_revision_to_be("HEAD", rev_foo)
131
- expect_branch_to_be("master~1") # detatched
131
+ expect_branch_to_be("master~1") # detached
132
132
  end
133
133
 
134
134
  it "checks out the expected revision ed18 to a local branch" do
@@ -138,7 +138,7 @@ describe Chef::Resource::Git, requires_git: true do
138
138
  checkout_branch "deploy"
139
139
  end.should_be_updated
140
140
  expect_revision_to_be("HEAD", rev_foo)
141
- expect_branch_to_be("deploy") # detatched
141
+ expect_branch_to_be("deploy") # detached
142
142
  end
143
143
 
144
144
  it "doesn't update if up-to-date" do
@@ -152,7 +152,7 @@ describe Chef::Resource::Git, requires_git: true do
152
152
  repository origin_repo
153
153
  revision rev_foo
154
154
  end.should_not_be_updated
155
- expect_branch_to_be("master~1") # detatched
155
+ expect_branch_to_be("master~1") # detached
156
156
  end
157
157
 
158
158
  it "checks out the expected revision 972d" do
@@ -161,7 +161,7 @@ describe Chef::Resource::Git, requires_git: true do
161
161
  revision rev_testing
162
162
  end.should_be_updated
163
163
  expect_revision_to_be("HEAD", rev_testing)
164
- expect_branch_to_be("master~2") # detatched
164
+ expect_branch_to_be("master~2") # detached
165
165
  end
166
166
 
167
167
  it "checks out the expected revision 972d to a local branch" do
@@ -18,7 +18,6 @@
18
18
  #
19
19
 
20
20
  require "spec_helper"
21
- require "functional/resource/base"
22
21
  require "chef/mixin/shell_out"
23
22
 
24
23
  describe Chef::Resource::Group, :requires_root_or_running_windows do
@@ -113,6 +112,15 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
113
112
  # TODO: User shouldn't exist
114
113
  end
115
114
 
115
+ let(:run_context) do
116
+ node = Chef::Node.new
117
+ node.default[:platform] = ohai[:platform]
118
+ node.default[:platform_version] = ohai[:platform_version]
119
+ node.default[:os] = ohai[:os]
120
+ events = Chef::EventDispatch::Dispatcher.new
121
+ Chef::RunContext.new(node, {}, events)
122
+ end
123
+
116
124
  shared_examples_for "correct group management" do
117
125
  def add_members_to_group(members)
118
126
  temp_resource = group_resource.dup
@@ -17,7 +17,6 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "chef/mixin/shell_out"
22
21
 
23
22
  # run this test only for following platforms.
@@ -26,6 +25,15 @@ include_flag = !(%w{amazon debian aix}.include?(ohai[:platform_family]) || (ohai
26
25
  describe Chef::Resource::Ifconfig, :requires_root, :requires_ifconfig, external: include_flag do
27
26
  include Chef::Mixin::ShellOut
28
27
 
28
+ let(:run_context) do
29
+ node = Chef::Node.new
30
+ node.default[:platform] = ohai[:platform]
31
+ node.default[:platform_version] = ohai[:platform_version]
32
+ node.default[:os] = ohai[:os]
33
+ events = Chef::EventDispatch::Dispatcher.new
34
+ Chef::RunContext.new(node, {}, events)
35
+ end
36
+
29
37
  let(:new_resource) do
30
38
  new_resource = Chef::Resource::Ifconfig.new("10.10.0.1", run_context)
31
39
  new_resource
@@ -18,7 +18,6 @@
18
18
  #
19
19
 
20
20
  require "spec_helper"
21
- require "functional/resource/base"
22
21
  require "chef/mixin/shell_out"
23
22
  require "fileutils"
24
23
 
@@ -54,6 +53,8 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
54
53
 
55
54
  # Actual tests
56
55
  let(:new_resource) do
56
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
57
+
57
58
  new_resource = Chef::Resource::Service.new("inittest", run_context)
58
59
  new_resource.provider Chef::Provider::Service::Insserv
59
60
  new_resource.supports({ status: true, restart: true, reload: true })
@@ -65,7 +66,7 @@ describe Chef::Resource::Service, :requires_root, :opensuse do
65
66
  provider
66
67
  end
67
68
 
68
- let (:service_name) { "Chef::Util::PathHelper.escape_glob_dir(current_resource.service_name)" }
69
+ let(:service_name) { "Chef::Util::PathHelper.escape_glob_dir(current_resource.service_name)" }
69
70
 
70
71
  let(:current_resource) do
71
72
  provider.load_current_resource
@@ -0,0 +1,232 @@
1
+ #
2
+ # Copyright:: Copyright (c) Chef Software Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require "spec_helper"
19
+
20
+ # Deploy relies heavily on symlinks, so it doesn't work on windows.
21
+ describe Chef::Resource::Launchd, :macos_only, requires_root: true do
22
+ include RecipeDSLHelper
23
+
24
+ before(:each) do
25
+ shell_out("launchctl unload -wF /Library/LaunchDaemons/io.chef.testing.fake.plist")
26
+ FileUtils.rm_f "/Library/LaunchDaemons/io.chef.testing.fake.plist"
27
+ end
28
+
29
+ after(:each) do
30
+ shell_out("launchctl unload -wF /Library/LaunchDaemons/io.chef.testing.fake.plist")
31
+ FileUtils.rm_f "/Library/LaunchDaemons/io.chef.testing.fake.plist"
32
+ end
33
+
34
+ context ":enable" do
35
+ it "enables a service" do
36
+ launchd "io.chef.testing.fake" do
37
+ program_arguments [
38
+ "/bin/sleep",
39
+ "60",
40
+ ]
41
+ run_at_load true
42
+ type "daemon"
43
+ action :enable
44
+ end.should_be_updated
45
+ expect(File.exist?("/Library/LaunchDaemons/io.chef.testing.fake.plist")).to be true
46
+ expect(shell_out!("launchctl list io.chef.testing.fake").stdout).to match('"PID" = \d+')
47
+ expect(shell_out!("launchctl list io.chef.testing.fake").stdout).not_to match('"PID" = 0')
48
+ end
49
+
50
+ it "should be idempotent" do
51
+ launchd "io.chef.testing.fake" do
52
+ program_arguments [
53
+ "/bin/sleep",
54
+ "60",
55
+ ]
56
+ run_at_load true
57
+ type "daemon"
58
+ action :enable
59
+ end.should_be_updated
60
+ launchd "io.chef.testing.fake" do
61
+ program_arguments [
62
+ "/bin/sleep",
63
+ "60",
64
+ ]
65
+ run_at_load true
66
+ type "daemon"
67
+ action :enable
68
+ end.should_not_be_updated
69
+ end
70
+ end
71
+
72
+ context ":create" do
73
+ it "creates a service" do
74
+ launchd "io.chef.testing.fake" do
75
+ program_arguments [
76
+ "/bin/sleep",
77
+ "60",
78
+ ]
79
+ run_at_load true
80
+ type "daemon"
81
+ action :create
82
+ end.should_be_updated
83
+ expect(File.exist?("/Library/LaunchDaemons/io.chef.testing.fake.plist")).to be true
84
+ expect(shell_out("launchctl list io.chef.testing.fake").exitstatus).not_to eql(0)
85
+ end
86
+
87
+ it "should be idempotent" do
88
+ launchd "io.chef.testing.fake" do
89
+ program_arguments [
90
+ "/bin/sleep",
91
+ "60",
92
+ ]
93
+ run_at_load true
94
+ type "daemon"
95
+ action :create
96
+ end.should_be_updated
97
+ launchd "io.chef.testing.fake" do
98
+ program_arguments [
99
+ "/bin/sleep",
100
+ "60",
101
+ ]
102
+ run_at_load true
103
+ type "daemon"
104
+ action :create
105
+ end.should_not_be_updated
106
+ end
107
+ end
108
+
109
+ context ":create_if_missing" do
110
+ it "creates a service if it is missing" do
111
+ launchd "io.chef.testing.fake" do
112
+ program_arguments [
113
+ "/bin/sleep",
114
+ "60",
115
+ ]
116
+ run_at_load true
117
+ type "daemon"
118
+ action :create_if_missing
119
+ end.should_be_updated
120
+ expect(File.exist?("/Library/LaunchDaemons/io.chef.testing.fake.plist")).to be true
121
+ expect(shell_out("launchctl list io.chef.testing.fake").exitstatus).not_to eql(0)
122
+ end
123
+ it "is idempotent" do
124
+ launchd "io.chef.testing.fake" do
125
+ program_arguments [
126
+ "/bin/sleep",
127
+ "60",
128
+ ]
129
+ run_at_load true
130
+ type "daemon"
131
+ action :create_if_missing
132
+ end.should_be_updated
133
+ launchd "io.chef.testing.fake" do
134
+ program_arguments [
135
+ "/bin/sleep",
136
+ "60",
137
+ ]
138
+ run_at_load true
139
+ type "daemon"
140
+ action :create_if_missing
141
+ end.should_not_be_updated
142
+ end
143
+ end
144
+
145
+ context ":delete" do
146
+ it "deletes a service" do
147
+ launchd "io.chef.testing.fake" do
148
+ program_arguments [
149
+ "/bin/sleep",
150
+ "60",
151
+ ]
152
+ run_at_load true
153
+ type "daemon"
154
+ action :enable
155
+ end
156
+ launchd "io.chef.testing.fake" do
157
+ type "daemon"
158
+ action :delete
159
+ end.should_be_updated
160
+ expect(File.exist?("/Library/LaunchDaemons/io.chef.testing.fake.plist")).to be false
161
+ expect(shell_out("launchctl list io.chef.testing.fake").exitstatus).not_to eql(0)
162
+ end
163
+ it "is idempotent" do
164
+ launchd "io.chef.testing.fake" do
165
+ program_arguments [
166
+ "/bin/sleep",
167
+ "60",
168
+ ]
169
+ run_at_load true
170
+ type "daemon"
171
+ action :enable
172
+ end
173
+ launchd "io.chef.testing.fake" do
174
+ type "daemon"
175
+ action :delete
176
+ end.should_be_updated
177
+ launchd "io.chef.testing.fake" do
178
+ type "daemon"
179
+ action :delete
180
+ end.should_not_be_updated
181
+ end
182
+ it "works if the file does not exist" do
183
+ launchd "io.chef.testing.fake" do
184
+ type "daemon"
185
+ action :delete
186
+ end.should_not_be_updated
187
+ end
188
+ end
189
+
190
+ context ":disable" do
191
+ it "deletes a service" do
192
+ launchd "io.chef.testing.fake" do
193
+ program_arguments [
194
+ "/bin/sleep",
195
+ "1",
196
+ ]
197
+ type "daemon"
198
+ action :enable
199
+ end
200
+ launchd "io.chef.testing.fake" do
201
+ type "daemon"
202
+ action :disable
203
+ end.should_be_updated
204
+ expect(File.exist?("/Library/LaunchDaemons/io.chef.testing.fake.plist")).to be true
205
+ expect(shell_out("launchctl list io.chef.testing.fake").exitstatus).not_to eql(0)
206
+ end
207
+ it "is idempotent" do
208
+ launchd "io.chef.testing.fake" do
209
+ program_arguments [
210
+ "/bin/sleep",
211
+ "1",
212
+ ]
213
+ type "daemon"
214
+ action :enable
215
+ end
216
+ launchd "io.chef.testing.fake" do
217
+ type "daemon"
218
+ action :disable
219
+ end.should_be_updated
220
+ launchd "io.chef.testing.fake" do
221
+ type "daemon"
222
+ action :disable
223
+ end.should_not_be_updated
224
+ end
225
+ it "should work if the plist does not exist" do
226
+ launchd "io.chef.testing.fake" do
227
+ type "daemon"
228
+ action :disable
229
+ end.should_not_be_updated
230
+ end
231
+ end
232
+ end
@@ -64,13 +64,10 @@ describe Chef::Resource::Link do
64
64
  end
65
65
  end
66
66
 
67
- def node
67
+ def user(user)
68
68
  node = Chef::Node.new
69
69
  node.consume_external_attrs(ohai.data, {})
70
- node
71
- end
72
-
73
- def user(user)
70
+ run_context = Chef::RunContext.new(node, {}, Chef::EventDispatch::Dispatcher.new)
74
71
  usr = Chef::Resource.resource_for_node(:user, node).new(user, run_context)
75
72
  usr.password("ComplexPass11!") if windows?
76
73
  usr
@@ -17,7 +17,6 @@
17
17
  #
18
18
 
19
19
  require "spec_helper"
20
- require "functional/resource/base"
21
20
  require "chef/mixin/shell_out"
22
21
  require "tmpdir"
23
22
 
@@ -101,6 +100,15 @@ describe Chef::Resource::Mount, :requires_root, external: include_flag do
101
100
  expect(shell_out("cat #{unix_mount_config_file}").stdout).not_to include("#{mount_point}:")
102
101
  end
103
102
 
103
+ let(:run_context) do
104
+ node = Chef::Node.new
105
+ node.default[:platform] = ohai[:platform]
106
+ node.default[:platform_version] = ohai[:platform_version]
107
+ node.default[:os] = ohai[:os]
108
+ events = Chef::EventDispatch::Dispatcher.new
109
+ Chef::RunContext.new(node, {}, events)
110
+ end
111
+
104
112
  let(:new_resource) do
105
113
  new_resource = Chef::Resource::Mount.new(@mount_point, run_context)
106
114
  new_resource.device @device