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
@@ -93,7 +93,7 @@ describe Chef::Provider::Cron::Unix do
93
93
  end
94
94
 
95
95
  context "when any other error occurs" do
96
- let (:exitstatus) { 2 }
96
+ let(:exitstatus) { 2 }
97
97
 
98
98
  it "should raise an exception if another error occurs" do
99
99
  expect do
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
-
19
18
  require "spec_helper"
20
19
 
21
20
  describe Chef::Provider::Cron do
@@ -322,7 +321,7 @@ describe Chef::Provider::Cron do
322
321
  expect(cron.hour).to eq("5")
323
322
  expect(cron.day).to eq("*")
324
323
  expect(cron.month).to eq("Jan")
325
- expect(cron.weekday).to eq("Mon")
324
+ expect(cron.weekday).to eq("1")
326
325
  expect(cron.command).to eq("/bin/true param1 param2")
327
326
  end
328
327
 
@@ -338,6 +337,7 @@ describe Chef::Provider::Cron do
338
337
  0 2 * * * /some/other/command
339
338
 
340
339
  # Chef Name: cronhole some stuff
340
+ * * * * * /bin/true
341
341
  CRONTAB
342
342
  cron = @provider.load_current_resource
343
343
  expect(@provider.cron_exists).to eq(true)
@@ -347,7 +347,7 @@ describe Chef::Provider::Cron do
347
347
  expect(cron.month).to eq("*")
348
348
  expect(cron.weekday).to eq("*")
349
349
  expect(cron.time).to eq(nil)
350
- expect(cron.command).to eq(nil)
350
+ expect(cron.command).to eq("/bin/true")
351
351
  end
352
352
 
353
353
  it "should not pick up a commented out crontab line" do
@@ -355,6 +355,7 @@ describe Chef::Provider::Cron do
355
355
  0 2 * * * /some/other/command
356
356
 
357
357
  # Chef Name: cronhole some stuff
358
+ * * * * * /bin/true
358
359
  #* 5 * 1 * /bin/true param1 param2
359
360
  CRONTAB
360
361
  cron = @provider.load_current_resource
@@ -365,7 +366,7 @@ describe Chef::Provider::Cron do
365
366
  expect(cron.month).to eq("*")
366
367
  expect(cron.weekday).to eq("*")
367
368
  expect(cron.time).to eq(nil)
368
- expect(cron.command).to eq(nil)
369
+ expect(cron.command).to eq("/bin/true")
369
370
  end
370
371
 
371
372
  it "should not pick up a later crontab entry" do
@@ -373,6 +374,7 @@ describe Chef::Provider::Cron do
373
374
  0 2 * * * /some/other/command
374
375
 
375
376
  # Chef Name: cronhole some stuff
377
+ * * * * * /bin/true
376
378
  #* 5 * 1 * /bin/true param1 param2
377
379
  # Chef Name: something else
378
380
  2 * 1 * * /bin/false
@@ -387,7 +389,7 @@ describe Chef::Provider::Cron do
387
389
  expect(cron.month).to eq("*")
388
390
  expect(cron.weekday).to eq("*")
389
391
  expect(cron.time).to eq(nil)
390
- expect(cron.command).to eq(nil)
392
+ expect(cron.command).to eq("/bin/true")
391
393
  end
392
394
  end
393
395
  end
@@ -1040,48 +1042,6 @@ describe Chef::Provider::Cron do
1040
1042
  end
1041
1043
  end
1042
1044
 
1043
- describe "weekday_in_crontab" do
1044
- context "when weekday is symbol" do
1045
- it "should return weekday in crontab format" do
1046
- @new_resource.weekday :wednesday
1047
- expect(@provider.send(:weekday_in_crontab)).to eq("3")
1048
- end
1049
-
1050
- it "should raise an error with an unknown weekday" do
1051
- expect { @new_resource.weekday :caturday }.to raise_error(RangeError)
1052
- end
1053
- end
1054
-
1055
- context "when weekday is a number in a string" do
1056
- it "should return the string" do
1057
- @new_resource.weekday "3"
1058
- expect(@provider.send(:weekday_in_crontab)).to eq("3")
1059
- end
1060
-
1061
- it "should raise an error with an out of range number" do
1062
- expect { @new_resource.weekday "-1" }.to raise_error(RangeError)
1063
- end
1064
- end
1065
-
1066
- context "when weekday is string with the name of the week" do
1067
- it "should return the string" do
1068
- @new_resource.weekday "mon"
1069
- expect(@provider.send(:weekday_in_crontab)).to eq("mon")
1070
- end
1071
- end
1072
-
1073
- context "when weekday is an integer" do
1074
- it "should return the integer" do
1075
- @new_resource.weekday 1
1076
- expect(@provider.send(:weekday_in_crontab)).to eq("1")
1077
- end
1078
-
1079
- it "should raise an error with an out of range integer" do
1080
- expect { @new_resource.weekday 45 }.to raise_error(RangeError)
1081
- end
1082
- end
1083
- end
1084
-
1085
1045
  describe "#env_var_str" do
1086
1046
  context "when no env vars are set" do
1087
1047
  it "returns an empty string" do
@@ -1196,8 +1156,8 @@ describe Chef::Provider::Cron do
1196
1156
  context "Without command, passed" do
1197
1157
  context "as nil" do
1198
1158
  it "returns an empty string with a next line" do
1199
- @new_resource.command nil
1200
- expect(@provider.send(:cmd_str)).to eq(" \n")
1159
+ @new_resource.command "bin/true"
1160
+ expect(@provider.send(:cmd_str)).to eq(" bin/true\n")
1201
1161
  end
1202
1162
  end
1203
1163
  context "as an empty string" do
@@ -20,15 +20,21 @@ require "chef"
20
20
  require "spec_helper"
21
21
 
22
22
  describe Chef::Provider::DscResource do
23
- let (:events) { Chef::EventDispatch::Dispatcher.new }
24
- let (:run_context) { Chef::RunContext.new(node, {}, events) }
25
- let (:resource) { Chef::Resource::DscResource.new("dscresource", run_context) }
26
- let (:provider) do
23
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
24
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
25
+ let(:resource) { Chef::Resource::DscResource.new("dscresource", run_context) }
26
+ let(:provider) do
27
27
  Chef::Provider::DscResource.new(resource, run_context)
28
28
  end
29
29
 
30
+ let(:node) do
31
+ node = Chef::Node.new
32
+ node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
33
+ node
34
+ end
35
+
30
36
  context "when PowerShell does not support Invoke-DscResource" do
31
- let (:node) do
37
+ let(:node) do
32
38
  node = Chef::Node.new
33
39
  node.automatic[:languages][:powershell][:version] = "4.0"
34
40
  node
@@ -45,7 +51,7 @@ describe Chef::Provider::DscResource do
45
51
 
46
52
  context "when RefreshMode is not set to Disabled" do
47
53
  context "and the WMF 5 is a preview release" do
48
- let (:node) do
54
+ let(:node) do
49
55
  node = Chef::Node.new
50
56
  node.automatic[:languages][:powershell][:version] = "5.0.10018.0"
51
57
  node
@@ -58,7 +64,7 @@ describe Chef::Provider::DscResource do
58
64
  end
59
65
  end
60
66
  context "and the WMF is 5 RTM or newer" do
61
- let (:node) do
67
+ let(:node) do
62
68
  node = Chef::Node.new
63
69
  node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
64
70
  node
@@ -74,15 +80,15 @@ describe Chef::Provider::DscResource do
74
80
  end
75
81
 
76
82
  context "when the LCM supports Invoke-DscResource" do
77
- let (:node) do
83
+ let(:node) do
78
84
  node = Chef::Node.new
79
85
  node.automatic[:languages][:powershell][:version] = "5.0.10018.0"
80
86
  node
81
87
  end
82
- let (:resource_result) { double("CmdletResult", return_value: { "InDesiredState" => true }, stream: "description") }
83
- let (:invoke_dsc_resource) { double("cmdlet", run!: resource_result) }
84
- let (:store) { double("ResourceStore", find: resource_records) }
85
- let (:resource_records) { [] }
88
+ let(:resource_result) { double("CmdletResult", return_value: { "InDesiredState" => true }, stream: "description") }
89
+ let(:invoke_dsc_resource) { double("cmdlet", run!: resource_result) }
90
+ let(:store) { double("ResourceStore", find: resource_records) }
91
+ let(:resource_records) { [] }
86
92
 
87
93
  before do
88
94
  allow(Chef::Util::DSC::ResourceStore).to receive(:instance).and_return(store)
@@ -124,7 +130,7 @@ describe Chef::Provider::DscResource do
124
130
  end
125
131
 
126
132
  context "resource name cannot be found" do
127
- let (:resource_records) { [] }
133
+ let(:resource_records) { [] }
128
134
 
129
135
  it "raises ResourceNotFound" do
130
136
  expect { provider.run_action(:run) }.to raise_error(Chef::Exceptions::ResourceNotFound)
@@ -133,7 +139,7 @@ describe Chef::Provider::DscResource do
133
139
 
134
140
  context "resource name is found" do
135
141
  context "no module name for resource found" do
136
- let (:resource_records) { [{}] }
142
+ let(:resource_records) { [{}] }
137
143
 
138
144
  it "returns the default dsc resource module" do
139
145
  expect(Chef::Util::Powershell::Cmdlet).to receive(:new) do |node, cmdlet, format|
@@ -144,7 +150,7 @@ describe Chef::Provider::DscResource do
144
150
  end
145
151
 
146
152
  context "a module name for resource is found" do
147
- let (:resource_records) { [{ "Module" => { "Name" => "ModuleName" } }] }
153
+ let(:resource_records) { [{ "Module" => { "Name" => "ModuleName" } }] }
148
154
 
149
155
  it "returns the default dsc resource module" do
150
156
  expect(Chef::Util::Powershell::Cmdlet).to receive(:new) do |node, cmdlet, format|
@@ -155,7 +161,7 @@ describe Chef::Provider::DscResource do
155
161
  end
156
162
 
157
163
  context "multiple resource are found" do
158
- let (:resource_records) do
164
+ let(:resource_records) do
159
165
  [
160
166
  { "Module" => { "Name" => "ModuleName1", "Version" => "1.0.0.0" } },
161
167
  { "Module" => { "Name" => "ModuleName1", "Version" => "2.0.0.0" } },
@@ -170,10 +176,6 @@ describe Chef::Provider::DscResource do
170
176
  end
171
177
 
172
178
  describe "define_resource_requirements" do
173
- let (:node) do
174
- set_node_object
175
- end
176
-
177
179
  context "module usage is valid" do
178
180
  before do
179
181
  allow(provider).to receive(:module_usage_valid?).and_return(true)
@@ -208,10 +210,6 @@ describe Chef::Provider::DscResource do
208
210
  end
209
211
 
210
212
  describe "module_usage_valid?" do
211
- let (:node) do
212
- set_node_object
213
- end
214
-
215
213
  context "module_name and module_version both are not provided" do
216
214
  before do
217
215
  provider.instance_variable_set(:@module_name, nil)
@@ -262,10 +260,6 @@ describe Chef::Provider::DscResource do
262
260
  end
263
261
 
264
262
  describe "module_info_object" do
265
- let (:node) do
266
- set_node_object
267
- end
268
-
269
263
  context "module_version is not given" do
270
264
  before do
271
265
  provider.instance_variable_set(:@module_version, nil)
@@ -292,10 +286,6 @@ describe Chef::Provider::DscResource do
292
286
  end
293
287
 
294
288
  describe "invoke_resource" do
295
- let (:node) do
296
- set_node_object
297
- end
298
-
299
289
  let(:cmdlet) { double(run!: nil) }
300
290
 
301
291
  before(:each) do
@@ -338,9 +328,3 @@ describe Chef::Provider::DscResource do
338
328
  end
339
329
  end
340
330
  end
341
-
342
- def set_node_object
343
- node = Chef::Node.new
344
- node.automatic[:languages][:powershell][:version] = "5.0.10586.0"
345
- node
346
- end
@@ -23,15 +23,15 @@ require "spec_helper"
23
23
 
24
24
  describe Chef::Provider::DscScript do
25
25
  context "when DSC is available" do
26
- let (:node) do
26
+ let(:node) do
27
27
  node = Chef::Node.new
28
28
  node.automatic[:languages][:powershell][:version] = "4.0"
29
29
  node
30
30
  end
31
- let (:events) { Chef::EventDispatch::Dispatcher.new }
32
- let (:run_context) { Chef::RunContext.new(node, {}, events) }
33
- let (:resource) { Chef::Resource::DscScript.new("script", run_context) }
34
- let (:provider) do
31
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
32
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
33
+ let(:resource) { Chef::Resource::DscScript.new("script", run_context) }
34
+ let(:provider) do
35
35
  Chef::Provider::DscScript.new(resource, run_context)
36
36
  end
37
37
 
@@ -145,11 +145,11 @@ describe Chef::Provider::DscScript do
145
145
  end
146
146
 
147
147
  context "when Dsc is not available" do
148
- let (:node) { Chef::Node.new }
149
- let (:events) { Chef::EventDispatch::Dispatcher.new }
150
- let (:run_context) { Chef::RunContext.new(node, {}, events) }
151
- let (:resource) { Chef::Resource::DscScript.new("script", run_context) }
152
- let (:provider) { Chef::Provider::DscScript.new(resource, run_context) }
148
+ let(:node) { Chef::Node.new }
149
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
150
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
151
+ let(:resource) { Chef::Resource::DscScript.new("script", run_context) }
152
+ let(:provider) { Chef::Provider::DscScript.new(resource, run_context) }
153
153
 
154
154
  describe "action_run" do
155
155
  ["1.0", "2.0", "3.0"].each do |version|
@@ -26,7 +26,7 @@ describe Chef::Provider::Execute do
26
26
  let(:provider) { Chef::Provider::Execute.new(new_resource, run_context) }
27
27
  let(:current_resource) { Chef::Resource::Ifconfig.new("foo_resource", run_context) }
28
28
  # You will be the same object, I promise.
29
- @live_stream = Chef::EventDispatch::EventsOutputStream.new(run_context.events, name: :execute)
29
+ @live_stream = Chef::EventDispatch::EventsOutputStream.new(Chef::EventDispatch::Dispatcher.new, name: :execute)
30
30
 
31
31
  let(:opts) do
32
32
  {
@@ -293,7 +293,7 @@ describe Chef::Provider::Git do
293
293
  end
294
294
  end
295
295
  context "with a timeout set" do
296
- let (:seconds) { 10 }
296
+ let(:seconds) { 10 }
297
297
  before { @resource.timeout(seconds) }
298
298
  it "clones a repo with amended git options" do
299
299
  expect(@provider).to receive(:shell_out!).with(expected_cmd, default_options.merge(timeout: seconds))
@@ -301,7 +301,7 @@ describe Chef::Provider::Git do
301
301
  end
302
302
  end
303
303
  context "with a specific home" do
304
- let (:override_home) do
304
+ let(:override_home) do
305
305
  { "HOME" => "/home/masterNinja" }
306
306
  end
307
307
  let(:overrided_options) do
@@ -337,7 +337,7 @@ describe Chef::Provider::Git do
337
337
  allow(Etc).to receive(:getpwuid).and_return(double("Struct::Passwd", name: @resource.user, dir: "/home/deployNinja"))
338
338
  end
339
339
  context "with a specific home" do
340
- let (:override_home) do
340
+ let(:override_home) do
341
341
  { "HOME" => "/home/masterNinja" }
342
342
  end
343
343
  let(:overrided_options) do
@@ -57,7 +57,7 @@ describe Chef::Provider::Group::Groupadd do
57
57
  end
58
58
 
59
59
  it "should set the option for #{property} if the new resources #{property} is not null" do
60
- allow(new_resource).to receive(property).and_return("wowaweea")
60
+ allow(new_resource).to receive(property).and_return("cactus")
61
61
  expect(provider.set_options).to eql([ option, new_resource.send(property), new_resource.group_name])
62
62
  end
63
63
  end
@@ -194,48 +194,6 @@ describe Chef::Provider::Launchd do
194
194
  end
195
195
  end
196
196
 
197
- describe "with an :enable action" do
198
- describe "and the file has been updated" do
199
- before(:each) do
200
- allow(provider).to receive(
201
- :manage_plist
202
- ).with(:create).and_return(true)
203
- allow(provider).to receive(
204
- :manage_service
205
- ).with(:restart).and_return(true)
206
- end
207
-
208
- it "should call manage_service with a :restart action" do
209
- expect(provider.manage_service(:restart)).to be_truthy
210
- end
211
-
212
- it "works with action enable" do
213
- expect(run_resource_setup_for_action(:enable)).to be_truthy
214
- provider.action_enable
215
- end
216
- end
217
-
218
- describe "and the file has not been updated" do
219
- before(:each) do
220
- allow(provider).to receive(
221
- :manage_plist
222
- ).with(:create).and_return(nil)
223
- allow(provider).to receive(
224
- :manage_service
225
- ).with(:enable).and_return(true)
226
- end
227
-
228
- it "should call manage_service with a :enable action" do
229
- expect(provider.manage_service(:enable)).to be_truthy
230
- end
231
-
232
- it "works with action enable" do
233
- expect(run_resource_setup_for_action(:enable)).to be_truthy
234
- provider.action_enable
235
- end
236
- end
237
- end
238
-
239
197
  describe "with an :delete action" do
240
198
  describe "and the ld file is present" do
241
199
  before(:each) do
@@ -22,9 +22,7 @@ require "ostruct"
22
22
  describe Chef::Resource::Mdadm do
23
23
 
24
24
  before(:each) do
25
- @node = Chef::Node.new
26
- @events = Chef::EventDispatch::Dispatcher.new
27
- @run_context = Chef::RunContext.new(@node, {}, @events)
25
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
28
26
  @new_resource = Chef::Resource::Mdadm.new("/dev/md1", run_context)
29
27
  @new_resource.devices ["/dev/sdz1", "/dev/sdz2", "/dev/sdz3"]
30
28
  @provider = @new_resource.provider_for_action(:create)
@@ -27,7 +27,7 @@ describe Chef::Provider::Package::Openbsd do
27
27
  node
28
28
  end
29
29
 
30
- let (:provider) do
30
+ let(:provider) do
31
31
  events = Chef::EventDispatch::Dispatcher.new
32
32
  run_context = Chef::RunContext.new(node, {}, events)
33
33
  Chef::Provider::Package::Openbsd.new(new_resource, run_context)
@@ -17,13 +17,6 @@
17
17
  #
18
18
  require "spec_helper"
19
19
 
20
- def create_provider_for(name)
21
- @new_resource = Chef::Resource::Package.new(name)
22
- provider = Chef::Provider::Package::Pacman.new(@new_resource, @run_context)
23
- allow(provider).to receive(:shell_out_compacted).and_return(@status)
24
- provider
25
- end
26
-
27
20
  RSpec.shared_examples "current_resource" do |pkg, version, candidate|
28
21
  let(:current_resource) { @provider.load_current_resource }
29
22
  before(:each) do
@@ -45,11 +38,23 @@ RSpec.shared_examples "current_resource" do |pkg, version, candidate|
45
38
  end
46
39
 
47
40
  describe Chef::Provider::Package::Pacman do
41
+ def create_provider_for(name)
42
+ new_resource = Chef::Resource::Package.new(name)
43
+ run_context = Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
44
+ provider = Chef::Provider::Package::Pacman.new(new_resource, run_context)
45
+
46
+ pacman_out = <<~PACMAN_OUT
47
+ extra nano 3.450-1
48
+ extra emacs 0.12.0-1 [installed]
49
+ core sed 3.234-2 [installed: 3.234-1]
50
+ PACMAN_OUT
51
+
52
+ allow(provider).to receive(:shell_out_compacted).and_return(double(stdout: pacman_out, exitstatus: 0))
53
+ provider
54
+ end
55
+
48
56
  before(:each) do
49
- @node = Chef::Node.new
50
- @events = Chef::EventDispatch::Dispatcher.new
51
- @run_context = Chef::RunContext.new(@node, {}, @events)
52
- @pacman_conf = <<~PACMAN_CONF
57
+ pacman_conf = <<~PACMAN_CONF
53
58
  [options]
54
59
  HoldPkg = pacman glibc
55
60
  Architecture = auto
@@ -68,15 +73,7 @@ describe Chef::Provider::Package::Pacman do
68
73
  PACMAN_CONF
69
74
 
70
75
  allow(::File).to receive(:exist?).with("/etc/pacman.conf").and_return(true)
71
- allow(::File).to receive(:read).with("/etc/pacman.conf").and_return(@pacman_conf)
72
-
73
- pacman_out = <<~PACMAN_OUT
74
- extra nano 3.450-1
75
- extra emacs 0.12.0-1 [installed]
76
- core sed 3.234-2 [installed: 3.234-1]
77
- PACMAN_OUT
78
- @status = double(stdout: pacman_out, exitstatus: 0)
79
-
76
+ allow(::File).to receive(:read).with("/etc/pacman.conf").and_return(pacman_conf)
80
77
  end
81
78
 
82
79
  describe "loading the current resource" do