chef 16.0.287 → 16.2.73

Sign up to get free protection for your applications and to get access to all the features.
Files changed (331) 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/lib/chef/application/apply.rb +2 -1
  7. data/lib/chef/application/base.rb +1 -1
  8. data/lib/chef/application/client.rb +1 -1
  9. data/lib/chef/application/windows_service_manager.rb +1 -1
  10. data/lib/chef/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  11. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  12. data/lib/chef/chef_fs/file_system/chef_server/cookbook_file.rb +2 -2
  13. data/lib/chef/chef_fs/file_system/repository/directory.rb +1 -1
  14. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +1 -1
  15. data/lib/chef/chef_fs/path_utils.rb +4 -4
  16. data/lib/chef/cookbook/chefignore.rb +1 -1
  17. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  18. data/lib/chef/cookbook/metadata.rb +2 -2
  19. data/lib/chef/cookbook_loader.rb +1 -1
  20. data/lib/chef/cookbook_manifest.rb +1 -1
  21. data/lib/chef/cookbook_site_streaming_uploader.rb +1 -1
  22. data/lib/chef/cookbook_version.rb +4 -4
  23. data/lib/chef/data_bag.rb +4 -4
  24. data/lib/chef/data_collector.rb +1 -1
  25. data/lib/chef/data_collector/error_handlers.rb +1 -1
  26. data/lib/chef/decorator/lazy_array.rb +2 -2
  27. data/lib/chef/deprecated.rb +4 -0
  28. data/lib/chef/digester.rb +5 -4
  29. data/lib/chef/dsl/declare_resource.rb +1 -1
  30. data/lib/chef/encrypted_data_bag_item/decryptor.rb +1 -1
  31. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  32. data/lib/chef/file_access_control.rb +1 -1
  33. data/lib/chef/file_access_control/windows.rb +2 -2
  34. data/lib/chef/file_content_management/deploy/mv_unix.rb +1 -1
  35. data/lib/chef/formatters/base.rb +1 -1
  36. data/lib/chef/formatters/error_inspectors/compile_error_inspector.rb +1 -1
  37. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +2 -2
  38. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +7 -7
  39. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +3 -3
  40. data/lib/chef/http.rb +19 -4
  41. data/lib/chef/http/decompressor.rb +1 -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/json_compat.rb +1 -1
  46. data/lib/chef/key.rb +1 -1
  47. data/lib/chef/knife.rb +2 -2
  48. data/lib/chef/knife/bootstrap.rb +20 -14
  49. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +1 -1
  50. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  51. data/lib/chef/knife/bootstrap/templates/chef-full.erb +9 -9
  52. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +3 -1
  53. data/lib/chef/knife/client_bulk_delete.rb +1 -1
  54. data/lib/chef/knife/config_get.rb +1 -1
  55. data/lib/chef/knife/config_use_profile.rb +15 -5
  56. data/lib/chef/knife/cookbook_delete.rb +1 -1
  57. data/lib/chef/knife/cookbook_upload.rb +1 -4
  58. data/lib/chef/knife/core/bootstrap_context.rb +1 -1
  59. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  60. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  61. data/lib/chef/knife/core/node_presenter.rb +1 -1
  62. data/lib/chef/knife/core/status_presenter.rb +1 -1
  63. data/lib/chef/knife/core/subcommand_loader.rb +1 -1
  64. data/lib/chef/knife/core/windows_bootstrap_context.rb +19 -4
  65. data/lib/chef/knife/data_bag_create.rb +1 -1
  66. data/lib/chef/knife/key_create_base.rb +1 -1
  67. data/lib/chef/knife/key_edit_base.rb +1 -1
  68. data/lib/chef/knife/node_bulk_delete.rb +1 -1
  69. data/lib/chef/knife/node_run_list_remove.rb +1 -1
  70. data/lib/chef/knife/role_bulk_delete.rb +1 -1
  71. data/lib/chef/knife/ssh.rb +2 -2
  72. data/lib/chef/knife/supermarket_share.rb +1 -1
  73. data/lib/chef/knife/supermarket_unshare.rb +1 -1
  74. data/lib/chef/log.rb +1 -1
  75. data/lib/chef/mixin/api_version_request_handling.rb +1 -1
  76. data/lib/chef/mixin/checksum.rb +0 -1
  77. data/lib/chef/mixin/openssl_helper.rb +4 -4
  78. data/lib/chef/mixin/properties.rb +2 -2
  79. data/lib/chef/mixin/securable.rb +2 -2
  80. data/lib/chef/mixin/shell_out.rb +1 -1
  81. data/lib/chef/node/attribute.rb +2 -2
  82. data/lib/chef/node/immutable_collections.rb +1 -1
  83. data/lib/chef/policy_builder/policyfile.rb +1 -1
  84. data/lib/chef/powershell.rb +1 -1
  85. data/lib/chef/property.rb +2 -2
  86. data/lib/chef/provider.rb +3 -3
  87. data/lib/chef/provider/batch.rb +3 -10
  88. data/lib/chef/provider/cron.rb +2 -14
  89. data/lib/chef/provider/directory.rb +1 -1
  90. data/lib/chef/provider/execute.rb +2 -1
  91. data/lib/chef/provider/file.rb +1 -1
  92. data/lib/chef/provider/group/dscl.rb +2 -2
  93. data/lib/chef/provider/group/windows.rb +1 -1
  94. data/lib/chef/provider/ifconfig.rb +7 -7
  95. data/lib/chef/provider/launchd.rb +11 -9
  96. data/lib/chef/provider/mount/aix.rb +1 -1
  97. data/lib/chef/provider/mount/windows.rb +2 -2
  98. data/lib/chef/provider/noop.rb +1 -1
  99. data/lib/chef/provider/package/cab.rb +1 -1
  100. data/lib/chef/provider/package/chocolatey.rb +1 -1
  101. data/lib/chef/provider/package/dpkg.rb +1 -1
  102. data/lib/chef/provider/package/openbsd.rb +1 -1
  103. data/lib/chef/provider/package/portage.rb +3 -2
  104. data/lib/chef/provider/package/powershell.rb +6 -2
  105. data/lib/chef/provider/package/rubygems.rb +3 -3
  106. data/lib/chef/provider/package/snap.rb +96 -27
  107. data/lib/chef/provider/package/windows.rb +2 -2
  108. data/lib/chef/provider/package/windows/msi.rb +3 -3
  109. data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
  110. data/lib/chef/provider/package/yum.rb +1 -1
  111. data/lib/chef/provider/package/yum/yum_cache.rb +1 -1
  112. data/lib/chef/provider/powershell_script.rb +11 -15
  113. data/lib/chef/provider/remote_directory.rb +2 -2
  114. data/lib/chef/provider/remote_file/http.rb +4 -1
  115. data/lib/chef/provider/script.rb +4 -75
  116. data/lib/chef/provider/service/arch.rb +2 -2
  117. data/lib/chef/provider/service/debian.rb +2 -2
  118. data/lib/chef/provider/service/macosx.rb +9 -0
  119. data/lib/chef/provider/service/openbsd.rb +4 -4
  120. data/lib/chef/provider/service/redhat.rb +1 -1
  121. data/lib/chef/provider/service/upstart.rb +1 -1
  122. data/lib/chef/provider/service/windows.rb +1 -1
  123. data/lib/chef/provider/subversion.rb +2 -2
  124. data/lib/chef/provider/user/aix.rb +1 -1
  125. data/lib/chef/provider/user/dscl.rb +6 -6
  126. data/lib/chef/provider/user/linux.rb +3 -3
  127. data/lib/chef/provider/user/mac.rb +15 -11
  128. data/lib/chef/provider/windows_script.rb +87 -25
  129. data/lib/chef/provider/windows_task.rb +4 -2
  130. data/lib/chef/provider/zypper_repository.rb +30 -10
  131. data/lib/chef/resource.rb +25 -14
  132. data/lib/chef/resource/alternatives.rb +1 -1
  133. data/lib/chef/resource/apt_package.rb +1 -1
  134. data/lib/chef/resource/archive_file.rb +28 -8
  135. data/lib/chef/resource/bash.rb +0 -1
  136. data/lib/chef/resource/batch.rb +4 -2
  137. data/lib/chef/resource/chef_client_scheduled_task.rb +13 -1
  138. data/lib/chef/resource/chef_gem.rb +57 -21
  139. data/lib/chef/resource/chef_handler.rb +2 -2
  140. data/lib/chef/resource/chef_vault_secret.rb +1 -1
  141. data/lib/chef/resource/cron/_cron_shared.rb +98 -0
  142. data/lib/chef/resource/cron/cron.rb +46 -0
  143. data/lib/chef/resource/{cron_d.rb → cron/cron_d.rb} +7 -87
  144. data/lib/chef/resource/cron_access.rb +11 -3
  145. data/lib/chef/resource/csh.rb +0 -1
  146. data/lib/chef/resource/dmg_package.rb +2 -2
  147. data/lib/chef/resource/execute.rb +478 -8
  148. data/lib/chef/resource/file.rb +10 -8
  149. data/lib/chef/resource/freebsd_package.rb +1 -1
  150. data/lib/chef/resource/gem_package.rb +35 -2
  151. data/lib/chef/resource/helpers/cron_validations.rb +6 -3
  152. data/lib/chef/resource/homebrew_package.rb +30 -1
  153. data/lib/chef/resource/homebrew_update.rb +107 -0
  154. data/lib/chef/resource/hostname.rb +7 -20
  155. data/lib/chef/resource/kernel_module.rb +14 -1
  156. data/lib/chef/resource/launchd.rb +1 -1
  157. data/lib/chef/resource/locale.rb +3 -3
  158. data/lib/chef/resource/macos_userdefaults.rb +11 -6
  159. data/lib/chef/resource/mount.rb +1 -1
  160. data/lib/chef/resource/perl.rb +0 -1
  161. data/lib/chef/resource/plist.rb +23 -4
  162. data/lib/chef/resource/powershell_script.rb +4 -2
  163. data/lib/chef/resource/python.rb +0 -1
  164. data/lib/chef/resource/remote_file.rb +26 -10
  165. data/lib/chef/resource/ruby.rb +0 -1
  166. data/lib/chef/resource/scm/git.rb +1 -1
  167. data/lib/chef/resource/ssh_known_hosts_entry.rb +15 -0
  168. data/lib/chef/resource/sudo.rb +29 -2
  169. data/lib/chef/resource/swap_file.rb +17 -0
  170. data/lib/chef/resource/template.rb +1 -1
  171. data/lib/chef/resource/timezone.rb +15 -0
  172. data/lib/chef/resource/windows_ad_join.rb +30 -1
  173. data/lib/chef/resource/windows_audit_policy.rb +227 -0
  174. data/lib/chef/resource/windows_auto_run.rb +11 -0
  175. data/lib/chef/resource/windows_certificate.rb +27 -1
  176. data/lib/chef/resource/windows_dfs_server.rb +1 -1
  177. data/lib/chef/resource/windows_font.rb +3 -3
  178. data/lib/chef/resource/windows_package.rb +1 -1
  179. data/lib/chef/resource/windows_pagefile.rb +2 -2
  180. data/lib/chef/resource/windows_script.rb +2 -16
  181. data/lib/chef/resource/windows_security_policy.rb +47 -16
  182. data/lib/chef/resource/windows_shortcut.rb +1 -2
  183. data/lib/chef/resource/windows_task.rb +10 -10
  184. data/lib/chef/resource/windows_user_privilege.rb +70 -5
  185. data/lib/chef/resource/yum_repository.rb +9 -9
  186. data/lib/chef/resource_inspector.rb +4 -3
  187. data/lib/chef/resources.rb +4 -2
  188. data/lib/chef/run_context/cookbook_compiler.rb +1 -1
  189. data/lib/chef/search/query.rb +1 -1
  190. data/lib/chef/shell/ext.rb +1 -1
  191. data/lib/chef/util/diff.rb +2 -2
  192. data/lib/chef/util/windows/net_user.rb +1 -1
  193. data/lib/chef/util/windows/volume.rb +1 -1
  194. data/lib/chef/version.rb +1 -1
  195. data/lib/chef/win32/api.rb +2 -2
  196. data/lib/chef/win32/api/error.rb +3 -1
  197. data/lib/chef/win32/api/file.rb +1 -1
  198. data/lib/chef/win32/api/net.rb +1 -0
  199. data/lib/chef/win32/file.rb +1 -1
  200. data/lib/chef/win32/mutex.rb +1 -1
  201. data/lib/chef/win32/net.rb +1 -0
  202. data/lib/chef/win32/registry.rb +2 -2
  203. data/lib/chef/win32/security.rb +1 -1
  204. data/lib/chef/win32/security/sid.rb +4 -4
  205. data/spec/data/lwrp/providers/buck_passer.rb +1 -1
  206. data/spec/data/lwrp/providers/buck_passer_2.rb +1 -1
  207. data/spec/data/lwrp/providers/embedded_resource_accesses_providers_scope.rb +1 -1
  208. data/spec/functional/knife/configure_spec.rb +1 -1
  209. data/spec/functional/resource/aix_service_spec.rb +10 -1
  210. data/spec/functional/resource/aixinit_service_spec.rb +1 -1
  211. data/spec/functional/resource/bash_spec.rb +3 -2
  212. data/spec/functional/resource/bff_spec.rb +1 -1
  213. data/spec/functional/resource/chocolatey_package_spec.rb +4 -0
  214. data/spec/functional/resource/cron_spec.rb +20 -1
  215. data/spec/functional/resource/dnf_package_spec.rb +6 -3
  216. data/spec/functional/resource/execute_spec.rb +1 -1
  217. data/spec/functional/resource/git_spec.rb +6 -6
  218. data/spec/functional/resource/group_spec.rb +9 -1
  219. data/spec/functional/resource/ifconfig_spec.rb +9 -1
  220. data/spec/functional/resource/insserv_spec.rb +3 -2
  221. data/spec/functional/resource/launchd_spec.rb +232 -0
  222. data/spec/functional/resource/link_spec.rb +2 -5
  223. data/spec/functional/resource/mount_spec.rb +9 -1
  224. data/spec/functional/resource/msu_package_spec.rb +9 -3
  225. data/spec/functional/resource/powershell_script_spec.rb +4 -4
  226. data/spec/functional/resource/remote_file_spec.rb +8 -8
  227. data/spec/functional/resource/rpm_spec.rb +1 -1
  228. data/spec/functional/resource/timezone_spec.rb +2 -0
  229. data/spec/functional/resource/windows_package_spec.rb +0 -1
  230. data/spec/functional/resource/windows_path_spec.rb +4 -0
  231. data/spec/functional/resource/windows_security_policy_spec.rb +0 -1
  232. data/spec/functional/resource/windows_service_spec.rb +4 -0
  233. data/spec/functional/resource/windows_task_spec.rb +16 -15
  234. data/spec/functional/resource/windows_user_privilege_spec.rb +0 -1
  235. data/spec/functional/resource/yum_package_spec.rb +4 -1
  236. data/spec/functional/resource/zypper_package_spec.rb +4 -1
  237. data/spec/functional/shell_spec.rb +0 -1
  238. data/spec/functional/win32/crypto_spec.rb +1 -1
  239. data/spec/integration/knife/config_use_profile_spec.rb +55 -2
  240. data/spec/integration/knife/cookbook_upload_spec.rb +1 -1
  241. data/spec/integration/knife/data_bag_from_file_spec.rb +1 -1
  242. data/spec/integration/knife/environment_from_file_spec.rb +1 -1
  243. data/spec/integration/knife/node_from_file_spec.rb +1 -1
  244. data/spec/integration/knife/role_from_file_spec.rb +1 -1
  245. data/spec/integration/recipes/recipe_dsl_spec.rb +4 -0
  246. data/spec/integration/recipes/resource_load_spec.rb +2 -2
  247. data/spec/support/chef_helpers.rb +1 -1
  248. data/spec/support/platform_helpers.rb +1 -1
  249. data/spec/support/platforms/win32/spec_service.rb +1 -1
  250. data/spec/support/shared/functional/execute_resource.rb +1 -1
  251. data/spec/support/shared/functional/securable_resource.rb +1 -2
  252. data/spec/support/shared/functional/securable_resource_with_reporting.rb +0 -1
  253. data/spec/support/shared/functional/windows_script.rb +3 -3
  254. data/spec/support/shared/unit/execute_resource.rb +1 -1
  255. data/spec/support/shared/unit/provider/file.rb +12 -8
  256. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +4 -4
  257. data/spec/unit/application/solo_spec.rb +4 -2
  258. data/spec/unit/application_spec.rb +7 -0
  259. data/spec/unit/chef_fs/config_spec.rb +2 -2
  260. data/spec/unit/chef_fs/diff_spec.rb +8 -8
  261. data/spec/unit/client_spec.rb +4 -1
  262. data/spec/unit/cookbook/synchronizer_spec.rb +26 -24
  263. data/spec/unit/data_bag_spec.rb +6 -3
  264. data/spec/unit/decorator_spec.rb +23 -23
  265. data/spec/unit/environment_spec.rb +5 -1
  266. data/spec/unit/guard_interpreter_spec.rb +1 -1
  267. data/spec/unit/http/api_versions_spec.rb +1 -1
  268. data/spec/unit/http/ssl_policies_spec.rb +20 -0
  269. data/spec/unit/knife/bootstrap_spec.rb +3 -2
  270. data/spec/unit/knife/cookbook_download_spec.rb +2 -2
  271. data/spec/unit/knife/cookbook_show_spec.rb +6 -7
  272. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +7 -1
  273. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  274. data/spec/unit/lwrp_spec.rb +5 -2
  275. data/spec/unit/mixin/openssl_helper_spec.rb +4 -4
  276. data/spec/unit/mixin/powershell_out_spec.rb +2 -4
  277. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  278. data/spec/unit/mixin/subclass_directive_spec.rb +2 -2
  279. data/spec/unit/mixin/unformatter_spec.rb +2 -2
  280. data/spec/unit/mixin/uris_spec.rb +1 -1
  281. data/spec/unit/mixin/user_context_spec.rb +1 -9
  282. data/spec/unit/node/attribute_spec.rb +1 -1
  283. data/spec/unit/property_spec.rb +1 -1
  284. data/spec/unit/provider/batch_spec.rb +130 -0
  285. data/spec/unit/provider/cron/unix_spec.rb +1 -1
  286. data/spec/unit/provider/cron_spec.rb +9 -49
  287. data/spec/unit/provider/dsc_resource_spec.rb +22 -38
  288. data/spec/unit/provider/dsc_script_spec.rb +10 -10
  289. data/spec/unit/provider/execute_spec.rb +1 -1
  290. data/spec/unit/provider/git_spec.rb +3 -3
  291. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  292. data/spec/unit/provider/launchd_spec.rb +0 -42
  293. data/spec/unit/provider/mdadm_spec.rb +1 -3
  294. data/spec/unit/provider/package/openbsd_spec.rb +1 -1
  295. data/spec/unit/provider/package/pacman_spec.rb +17 -20
  296. data/spec/unit/provider/package/portage_spec.rb +2 -2
  297. data/spec/unit/provider/package/powershell_spec.rb +96 -87
  298. data/spec/unit/provider/package/snap_spec.rb +1 -1
  299. data/spec/unit/provider/package/windows/registry_uninstall_entry_spec.rb +3 -3
  300. data/spec/unit/provider/powershell_script_spec.rb +3 -45
  301. data/spec/unit/provider/script_spec.rb +20 -110
  302. data/spec/unit/provider/user/dscl_spec.rb +2 -2
  303. data/spec/unit/provider/windows_env_spec.rb +5 -4
  304. data/spec/unit/provider/zypper_repository_spec.rb +60 -10
  305. data/spec/unit/resource/archive_file_spec.rb +11 -2
  306. data/spec/unit/resource/chef_client_cron_spec.rb +23 -7
  307. data/spec/unit/resource/chef_client_scheduled_task_spec.rb +17 -7
  308. data/spec/unit/resource/chef_client_systemd_timer_spec.rb +7 -4
  309. data/spec/unit/resource/cron_spec.rb +2 -2
  310. data/spec/unit/resource/file/verification_spec.rb +2 -1
  311. data/spec/unit/resource/helpers/cron_validations_spec.rb +5 -1
  312. data/spec/unit/resource/homebrew_update_spec.rb +30 -0
  313. data/spec/unit/resource/powershell_script_spec.rb +10 -15
  314. data/spec/unit/resource/timezone_spec.rb +1 -1
  315. data/spec/unit/resource/windows_audit_policy_spec.rb +64 -0
  316. data/spec/unit/resource/windows_dns_record_spec.rb +3 -3
  317. data/spec/unit/resource/windows_dns_zone_spec.rb +2 -2
  318. data/spec/unit/resource/windows_task_spec.rb +1 -1
  319. data/spec/unit/resource/windows_uac_spec.rb +2 -2
  320. data/spec/unit/resource/yum_repository_spec.rb +21 -21
  321. data/spec/unit/resource_spec.rb +84 -1
  322. data/spec/unit/role_spec.rb +23 -21
  323. data/spec/unit/util/backup_spec.rb +1 -1
  324. data/spec/unit/util/dsc/configuration_generator_spec.rb +1 -1
  325. data/spec/unit/util/powershell/ps_credential_spec.rb +2 -2
  326. data/spec/unit/util/selinux_spec.rb +2 -1
  327. data/spec/unit/util/threaded_job_queue_spec.rb +9 -0
  328. data/spec/unit/win32/registry_spec.rb +1 -1
  329. metadata +37 -31
  330. data/lib/chef/resource/cron.rb +0 -157
  331. data/spec/functional/resource/base.rb +0 -28
@@ -21,7 +21,7 @@ require "tmpdir"
21
21
 
22
22
  describe Chef::Util::Backup do
23
23
 
24
- let (:tempfile) do
24
+ let(:tempfile) do
25
25
  Tempfile.new("chef-util-backup-spec-test")
26
26
  end
27
27
 
@@ -161,7 +161,7 @@ describe Chef::Util::DSC::ConfigurationGenerator do
161
161
  dsc = conf_man.send(:configuration_code, "archive{}", "hello", {})
162
162
  found_configuration = false
163
163
  dsc.split(";").each do |command|
164
- if command.downcase =~ /\s*configuration\s+'hello'\s*\{\s*node\s+'localhost'\s*\{\s*archive\s*\{\s*\}\s*\}\s*\}\s*/
164
+ if /\s*configuration\s+'hello'\s*\{\s*node\s+'localhost'\s*\{\s*archive\s*\{\s*\}\s*\}\s*\}\s*/.match?(command.downcase)
165
165
  found_configuration = true
166
166
  end
167
167
  end
@@ -20,8 +20,8 @@ require "chef"
20
20
  require "chef/util/powershell/ps_credential"
21
21
 
22
22
  describe Chef::Util::Powershell::PSCredential do
23
- let (:username) { "foo" }
24
- let (:password) { "ThIsIsThEpAsSwOrD" }
23
+ let(:username) { "foo" }
24
+ let(:password) { "ThIsIsThEpAsSwOrD" }
25
25
 
26
26
  context "when username and password are provided" do
27
27
  let(:ps_credential) { Chef::Util::Powershell::PSCredential.new(username, password) }
@@ -30,6 +30,7 @@ describe Chef::Util::Selinux do
30
30
  end
31
31
 
32
32
  before do
33
+ allow(ChefUtils).to receive(:windows?).and_return(false)
33
34
  TestClass.reset_state
34
35
  @test_instance = TestClass.new
35
36
  end
@@ -113,7 +114,7 @@ describe Chef::Util::Selinux do
113
114
  end
114
115
 
115
116
  describe "when restorecon binary exists on the system" do
116
- let (:path) { "/path/to/awesome directory" }
117
+ let(:path) { "/path/to/awesome directory" }
117
118
 
118
119
  before do
119
120
  @restorecon_enabled_path = File.join("/sbin", "restorecon")
@@ -21,6 +21,15 @@ end
21
21
  describe Chef::Util::ThreadedJobQueue do
22
22
  let(:queue) { Chef::Util::ThreadedJobQueue.new }
23
23
 
24
+ around(:example) do |example|
25
+ old_value = Thread.report_on_exception
26
+ Thread.report_on_exception = false
27
+
28
+ example.run
29
+
30
+ Thread.report_on_exception = old_value
31
+ end
32
+
24
33
  it "should pass mutex to jobs with an arity of 1" do
25
34
  job = double
26
35
  expect(job).to receive(:arity).at_least(:once).and_return(1)
@@ -30,7 +30,7 @@ describe Chef::Win32::Registry do
30
30
  let(:sub_key) { "OpscodePrimes" }
31
31
  let(:missing_key_path) { 'HKCU\Software' }
32
32
  let(:registry) { Chef::Win32::Registry.new }
33
- let(:hive_mock) { double("::Win32::Registry::KHKEY_CURRENT_USER") }
33
+ let(:hive_mock) { double("::Win32::Registry::HKEY_CURRENT_USER") }
34
34
  let(:reg_mock) { double("reg") }
35
35
 
36
36
  before(:all) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.0.287
4
+ version: 16.2.73
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-07 00:00:00.000000000 Z
11
+ date: 2020-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 16.0.287
19
+ version: 16.2.73
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 16.0.287
26
+ version: 16.2.73
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: chef-utils
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 16.0.287
33
+ version: 16.2.73
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 16.0.287
40
+ version: 16.2.73
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: train-core
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -210,9 +210,6 @@ dependencies:
210
210
  name: ffi
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '1.9'
216
213
  - - ">="
217
214
  - !ruby/object:Gem::Version
218
215
  version: 1.9.25
@@ -220,9 +217,6 @@ dependencies:
220
217
  prerelease: false
221
218
  version_requirements: !ruby/object:Gem::Requirement
222
219
  requirements:
223
- - - "~>"
224
- - !ruby/object:Gem::Version
225
- version: '1.9'
226
220
  - - ">="
227
221
  - !ruby/object:Gem::Version
228
222
  version: 1.9.25
@@ -249,7 +243,7 @@ dependencies:
249
243
  version: '4.2'
250
244
  - - "<"
251
245
  - !ruby/object:Gem::Version
252
- version: '6'
246
+ version: '7'
253
247
  type: :runtime
254
248
  prerelease: false
255
249
  version_requirements: !ruby/object:Gem::Requirement
@@ -259,7 +253,7 @@ dependencies:
259
253
  version: '4.2'
260
254
  - - "<"
261
255
  - !ruby/object:Gem::Version
262
- version: '6'
256
+ version: '7'
263
257
  - !ruby/object:Gem::Dependency
264
258
  name: net-ssh-multi
265
259
  requirement: !ruby/object:Gem::Requirement
@@ -284,22 +278,22 @@ dependencies:
284
278
  name: net-sftp
285
279
  requirement: !ruby/object:Gem::Requirement
286
280
  requirements:
287
- - - "~>"
288
- - !ruby/object:Gem::Version
289
- version: '2.1'
290
281
  - - ">="
291
282
  - !ruby/object:Gem::Version
292
283
  version: 2.1.2
284
+ - - "<"
285
+ - !ruby/object:Gem::Version
286
+ version: '4.0'
293
287
  type: :runtime
294
288
  prerelease: false
295
289
  version_requirements: !ruby/object:Gem::Requirement
296
290
  requirements:
297
- - - "~>"
298
- - !ruby/object:Gem::Version
299
- version: '2.1'
300
291
  - - ">="
301
292
  - !ruby/object:Gem::Version
302
293
  version: 2.1.2
294
+ - - "<"
295
+ - !ruby/object:Gem::Version
296
+ version: '4.0'
303
297
  - !ruby/object:Gem::Dependency
304
298
  name: ed25519
305
299
  requirement: !ruby/object:Gem::Requirement
@@ -394,36 +388,42 @@ dependencies:
394
388
  name: diff-lcs
395
389
  requirement: !ruby/object:Gem::Requirement
396
390
  requirements:
397
- - - "~>"
398
- - !ruby/object:Gem::Version
399
- version: '1.2'
400
391
  - - ">="
401
392
  - !ruby/object:Gem::Version
402
393
  version: 1.2.4
394
+ - - "<"
395
+ - !ruby/object:Gem::Version
396
+ version: 1.4.0
403
397
  type: :runtime
404
398
  prerelease: false
405
399
  version_requirements: !ruby/object:Gem::Requirement
406
400
  requirements:
407
- - - "~>"
408
- - !ruby/object:Gem::Version
409
- version: '1.2'
410
401
  - - ">="
411
402
  - !ruby/object:Gem::Version
412
403
  version: 1.2.4
404
+ - - "<"
405
+ - !ruby/object:Gem::Version
406
+ version: 1.4.0
413
407
  - !ruby/object:Gem::Dependency
414
408
  name: ffi-libarchive
415
409
  requirement: !ruby/object:Gem::Requirement
416
410
  requirements:
411
+ - - "~>"
412
+ - !ruby/object:Gem::Version
413
+ version: '1.0'
417
414
  - - ">="
418
415
  - !ruby/object:Gem::Version
419
- version: '0'
416
+ version: 1.0.3
420
417
  type: :runtime
421
418
  prerelease: false
422
419
  version_requirements: !ruby/object:Gem::Requirement
423
420
  requirements:
421
+ - - "~>"
422
+ - !ruby/object:Gem::Version
423
+ version: '1.0'
424
424
  - - ">="
425
425
  - !ruby/object:Gem::Version
426
- version: '0'
426
+ version: 1.0.3
427
427
  - !ruby/object:Gem::Dependency
428
428
  name: chef-zero
429
429
  requirement: !ruby/object:Gem::Requirement
@@ -1222,9 +1222,10 @@ files:
1222
1222
  - lib/chef/resource/conditional.rb
1223
1223
  - lib/chef/resource/conditional_action_not_nothing.rb
1224
1224
  - lib/chef/resource/cookbook_file.rb
1225
- - lib/chef/resource/cron.rb
1225
+ - lib/chef/resource/cron/_cron_shared.rb
1226
+ - lib/chef/resource/cron/cron.rb
1227
+ - lib/chef/resource/cron/cron_d.rb
1226
1228
  - lib/chef/resource/cron_access.rb
1227
- - lib/chef/resource/cron_d.rb
1228
1229
  - lib/chef/resource/csh.rb
1229
1230
  - lib/chef/resource/directory.rb
1230
1231
  - lib/chef/resource/dmg_package.rb
@@ -1243,6 +1244,7 @@ files:
1243
1244
  - lib/chef/resource/homebrew_cask.rb
1244
1245
  - lib/chef/resource/homebrew_package.rb
1245
1246
  - lib/chef/resource/homebrew_tap.rb
1247
+ - lib/chef/resource/homebrew_update.rb
1246
1248
  - lib/chef/resource/hostname.rb
1247
1249
  - lib/chef/resource/http_request.rb
1248
1250
  - lib/chef/resource/ifconfig.rb
@@ -1328,6 +1330,7 @@ files:
1328
1330
  - lib/chef/resource/user_ulimit.rb
1329
1331
  - lib/chef/resource/whyrun_safe_ruby_block.rb
1330
1332
  - lib/chef/resource/windows_ad_join.rb
1333
+ - lib/chef/resource/windows_audit_policy.rb
1331
1334
  - lib/chef/resource/windows_auto_run.rb
1332
1335
  - lib/chef/resource/windows_certificate.rb
1333
1336
  - lib/chef/resource/windows_dfs_folder.rb
@@ -1899,7 +1902,6 @@ files:
1899
1902
  - spec/functional/resource/aix_service_spec.rb
1900
1903
  - spec/functional/resource/aixinit_service_spec.rb
1901
1904
  - spec/functional/resource/apt_package_spec.rb
1902
- - spec/functional/resource/base.rb
1903
1905
  - spec/functional/resource/bash_spec.rb
1904
1906
  - spec/functional/resource/batch_spec.rb
1905
1907
  - spec/functional/resource/bff_spec.rb
@@ -1917,6 +1919,7 @@ files:
1917
1919
  - spec/functional/resource/group_spec.rb
1918
1920
  - spec/functional/resource/ifconfig_spec.rb
1919
1921
  - spec/functional/resource/insserv_spec.rb
1922
+ - spec/functional/resource/launchd_spec.rb
1920
1923
  - spec/functional/resource/link_spec.rb
1921
1924
  - spec/functional/resource/locale_spec.rb
1922
1925
  - spec/functional/resource/mount_spec.rb
@@ -2346,6 +2349,7 @@ files:
2346
2349
  - spec/unit/provider/apt_preference_spec.rb
2347
2350
  - spec/unit/provider/apt_repository_spec.rb
2348
2351
  - spec/unit/provider/apt_update_spec.rb
2352
+ - spec/unit/provider/batch_spec.rb
2349
2353
  - spec/unit/provider/cookbook_file/content_spec.rb
2350
2354
  - spec/unit/provider/cookbook_file_spec.rb
2351
2355
  - spec/unit/provider/cron/unix_spec.rb
@@ -2517,6 +2521,7 @@ files:
2517
2521
  - spec/unit/resource/homebrew_cask_spec.rb
2518
2522
  - spec/unit/resource/homebrew_package_spec.rb
2519
2523
  - spec/unit/resource/homebrew_tap_spec.rb
2524
+ - spec/unit/resource/homebrew_update_spec.rb
2520
2525
  - spec/unit/resource/hostname_spec.rb
2521
2526
  - spec/unit/resource/http_request_spec.rb
2522
2527
  - spec/unit/resource/ifconfig_spec.rb
@@ -2588,6 +2593,7 @@ files:
2588
2593
  - spec/unit/resource/user_spec.rb
2589
2594
  - spec/unit/resource/user_ulimit_spec.rb
2590
2595
  - spec/unit/resource/windows_ad_join_spec.rb
2596
+ - spec/unit/resource/windows_audit_policy_spec.rb
2591
2597
  - spec/unit/resource/windows_auto_run_spec.rb
2592
2598
  - spec/unit/resource/windows_certificate_spec.rb
2593
2599
  - spec/unit/resource/windows_dfs_folder_spec.rb
@@ -1,157 +0,0 @@
1
- #
2
- # Author:: Bryan McLellan (btm@loftninjas.org)
3
- # Author:: Tyler Cloke (<tyler@chef.io>)
4
- # Copyright:: Copyright 2009-2016, Bryan McLellan
5
- # License:: Apache License, Version 2.0
6
- #
7
- # Licensed under the Apache License, Version 2.0 (the "License");
8
- # you may not use this file except in compliance with the License.
9
- # You may obtain a copy of the License at
10
- #
11
- # http://www.apache.org/licenses/LICENSE-2.0
12
- #
13
- # Unless required by applicable law or agreed to in writing, software
14
- # distributed under the License is distributed on an "AS IS" BASIS,
15
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- # See the License for the specific language governing permissions and
17
- # limitations under the License.
18
- #
19
-
20
- require_relative "../resource"
21
- require_relative "helpers/cron_validations"
22
- require_relative "../provider/cron" # do not remove. we actually need this below
23
-
24
- class Chef
25
- class Resource
26
- class Cron < Chef::Resource
27
- unified_mode true
28
- provides :cron
29
-
30
- description "Use the **cron** resource to manage cron entries for time-based job scheduling. Properties for a schedule will default to * if not provided. The cron resource requires access to a crontab program, typically cron."
31
-
32
- state_attrs :minute, :hour, :day, :month, :weekday, :user
33
-
34
- default_action :create
35
- allowed_actions :create, :delete
36
-
37
- def initialize(name, run_context = nil)
38
- super
39
- @month = "*"
40
- @weekday = "*"
41
- end
42
-
43
- property :minute, [Integer, String],
44
- description: "The minute at which the cron entry should run (`0 - 59`).",
45
- default: "*", callbacks: {
46
- "should be a valid minute spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 0, 59) },
47
- }
48
-
49
- property :hour, [Integer, String],
50
- description: "The hour at which the cron entry is to run (`0 - 23`).",
51
- default: "*", callbacks: {
52
- "should be a valid hour spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 0, 23) },
53
- }
54
-
55
- property :day, [Integer, String],
56
- description: "The day of month at which the cron entry should run (`1 - 31`).",
57
- default: "*", callbacks: {
58
- "should be a valid day spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_numeric(spec, 1, 31) },
59
- }
60
-
61
- property :month, [Integer, String],
62
- description: "The month in the year on which a cron entry is to run (`1 - 12`, `jan-dec`, or `*`).",
63
- default: "*", callbacks: {
64
- "should be a valid month spec" => ->(spec) { Chef::ResourceHelpers::CronValidations.validate_month(spec) },
65
- }
66
-
67
- def weekday(arg = nil)
68
- if arg.is_a?(Integer)
69
- converted_arg = arg.to_s
70
- else
71
- converted_arg = arg
72
- end
73
- begin
74
- error_message = "You provided '#{arg}' as a weekday, acceptable values are "
75
- error_message << Provider::Cron::WEEKDAY_SYMBOLS.map { |sym| ":#{sym}" }.join(", ")
76
- error_message << " and a string in crontab format"
77
- if (arg.is_a?(Symbol) && !Provider::Cron::WEEKDAY_SYMBOLS.include?(arg)) ||
78
- (!arg.is_a?(Symbol) && integerize(arg) > 7) ||
79
- (!arg.is_a?(Symbol) && integerize(arg) < 0)
80
- raise RangeError, error_message
81
- end
82
- rescue ArgumentError
83
- end
84
- set_or_return(
85
- :weekday,
86
- converted_arg,
87
- kind_of: [String, Symbol]
88
- )
89
- end
90
-
91
- property :time, Symbol,
92
- description: "A time interval.",
93
- equal_to: Chef::Provider::Cron::SPECIAL_TIME_VALUES
94
-
95
- property :mailto, String,
96
- description: "Set the `MAILTO` environment variable."
97
-
98
- property :path, String,
99
- description: "Set the `PATH` environment variable."
100
-
101
- property :home, String,
102
- description: "Set the `HOME` environment variable."
103
-
104
- property :shell, String,
105
- description: "Set the `SHELL` environment variable."
106
-
107
- property :command, String,
108
- description: "The command to be run, or the path to a file that contains the command to be run.",
109
- identity: true
110
-
111
- property :user, String,
112
- description: "The name of the user that runs the command. If the user property is changed, the original user for the crontab program continues to run until that crontab program is deleted. This property is not applicable on the AIX platform.",
113
- default: "root"
114
-
115
- property :environment, Hash,
116
- description: "A Hash containing additional arbitrary environment variables under which the cron job will be run in the form of `({'ENV_VARIABLE' => 'VALUE'})`.",
117
- default: lazy { {} }
118
-
119
- TIMEOUT_OPTS = %w{duration preserve-status foreground kill-after signal}.freeze
120
- TIMEOUT_REGEX = /\A\S+/.freeze
121
-
122
- property :time_out, Hash,
123
- description: "A Hash of timeouts in the form of `({'OPTION' => 'VALUE'})`.
124
- Accepted valid options are:
125
- `preserve-status` (BOOL, default: 'false'),
126
- `foreground` (BOOL, default: 'false'),
127
- `kill-after` (in seconds),
128
- `signal` (a name like 'HUP' or a number)",
129
- default: lazy { {} },
130
- introduced: "15.7",
131
- coerce: proc { |h|
132
- if h.is_a?(Hash)
133
- invalid_keys = h.keys - TIMEOUT_OPTS
134
- unless invalid_keys.empty?
135
- error_msg = "Key of option time_out must be equal to one of: \"#{TIMEOUT_OPTS.join('", "')}\"! You passed \"#{invalid_keys.join(", ")}\"."
136
- raise Chef::Exceptions::ValidationFailed, error_msg
137
- end
138
- unless h.values.all? { |x| x =~ TIMEOUT_REGEX }
139
- error_msg = "Values of option time_out should be non-empty string without any leading whitespaces."
140
- raise Chef::Exceptions::ValidationFailed, error_msg
141
- end
142
- h
143
- elsif h.is_a?(Integer) || h.is_a?(String)
144
- { "duration" => h }
145
- end
146
- }
147
-
148
- private
149
-
150
- def integerize(integerish)
151
- Integer(integerish)
152
- rescue TypeError
153
- 0
154
- end
155
- end
156
- end
157
- end