chef 14.2.0-universal-mingw32 → 14.3.37-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 (845) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +13 -12
  3. data/Gemfile +15 -0
  4. data/README.md +36 -40
  5. data/Rakefile +1 -1
  6. data/VERSION +1 -1
  7. data/bin/chef-apply +0 -1
  8. data/bin/chef-client +1 -2
  9. data/bin/chef-service-manager +7 -8
  10. data/bin/chef-shell +1 -6
  11. data/bin/chef-solo +1 -2
  12. data/bin/chef-windows-service +1 -2
  13. data/bin/knife +1 -2
  14. data/chef-universal-mingw32.gemspec +2 -2
  15. data/chef.gemspec +1 -1
  16. data/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll +0 -0
  17. data/distro/ruby_bin_folder/Chef.PowerShell.dll +0 -0
  18. data/distro/{powershell/chef → ruby_bin_folder}/Newtonsoft.Json.dll +0 -0
  19. data/ext/win32-eventlog/Rakefile +14 -14
  20. data/lib/chef/api_client.rb +10 -10
  21. data/lib/chef/api_client/registration.rb +5 -5
  22. data/lib/chef/api_client_v1.rb +15 -15
  23. data/lib/chef/application.rb +1 -1
  24. data/lib/chef/application/apply.rb +56 -56
  25. data/lib/chef/application/client.rb +169 -170
  26. data/lib/chef/application/exit_code.rb +2 -2
  27. data/lib/chef/application/knife.rb +79 -78
  28. data/lib/chef/application/solo.rb +120 -120
  29. data/lib/chef/application/windows_service.rb +21 -21
  30. data/lib/chef/application/windows_service_manager.rb +39 -39
  31. data/lib/chef/audit/audit_event_proxy.rb +6 -6
  32. data/lib/chef/audit/audit_reporter.rb +2 -2
  33. data/lib/chef/audit/control_group_data.rb +15 -15
  34. data/lib/chef/audit/runner.rb +1 -1
  35. data/lib/chef/chef_class.rb +16 -8
  36. data/lib/chef/chef_fs/chef_fs_data_store.rb +8 -8
  37. data/lib/chef/chef_fs/config.rb +2 -2
  38. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +2 -2
  41. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  42. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +1 -1
  44. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
  45. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  46. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
  47. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -1
  48. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +3 -3
  49. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -2
  50. data/lib/chef/chef_fs/file_system/repository/directory.rb +3 -3
  51. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +3 -3
  52. data/lib/chef/chef_fs/knife.rb +6 -6
  53. data/lib/chef/chef_fs/parallelizer.rb +1 -1
  54. data/lib/chef/client.rb +3 -0
  55. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  56. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  57. data/lib/chef/cookbook/manifest_v0.rb +1 -1
  58. data/lib/chef/cookbook/metadata.rb +61 -61
  59. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  60. data/lib/chef/cookbook/synchronizer.rb +2 -2
  61. data/lib/chef/cookbook_loader.rb +3 -3
  62. data/lib/chef/cookbook_manifest.rb +5 -5
  63. data/lib/chef/cookbook_site_streaming_uploader.rb +5 -5
  64. data/lib/chef/cookbook_uploader.rb +2 -2
  65. data/lib/chef/cookbook_version.rb +2 -2
  66. data/lib/chef/data_bag.rb +3 -3
  67. data/lib/chef/data_bag_item.rb +2 -2
  68. data/lib/chef/deprecated.rb +110 -176
  69. data/lib/chef/dsl/audit.rb +1 -1
  70. data/lib/chef/dsl/definitions.rb +1 -1
  71. data/lib/chef/dsl/platform_introspection.rb +5 -0
  72. data/lib/chef/dsl/reboot_pending.rb +1 -1
  73. data/lib/chef/encrypted_data_bag_item.rb +2 -2
  74. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  75. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  76. data/lib/chef/environment.rb +10 -10
  77. data/lib/chef/event_loggers/windows_eventlog.rb +21 -21
  78. data/lib/chef/exceptions.rb +3 -3
  79. data/lib/chef/file_cache.rb +18 -16
  80. data/lib/chef/formatters/base.rb +9 -10
  81. data/lib/chef/formatters/doc.rb +12 -16
  82. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +51 -51
  83. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +10 -10
  84. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +13 -13
  85. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +39 -39
  86. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
  87. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +16 -16
  88. data/lib/chef/formatters/indentable_output_stream.rb +4 -4
  89. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -3
  90. data/lib/chef/handler/json_file.rb +1 -1
  91. data/lib/chef/http/auth_credentials.rb +2 -2
  92. data/lib/chef/http/authenticator.rb +6 -6
  93. data/lib/chef/http/cookie_manager.rb +1 -1
  94. data/lib/chef/http/http_request.rb +3 -3
  95. data/lib/chef/http/json_input.rb +1 -1
  96. data/lib/chef/http/json_to_model_output.rb +1 -1
  97. data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
  98. data/lib/chef/json_compat.rb +1 -1
  99. data/lib/chef/key.rb +9 -9
  100. data/lib/chef/knife.rb +5 -5
  101. data/lib/chef/knife/bootstrap.rb +116 -116
  102. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  103. data/lib/chef/knife/client_bulk_delete.rb +3 -3
  104. data/lib/chef/knife/client_create.rb +17 -17
  105. data/lib/chef/knife/client_delete.rb +3 -3
  106. data/lib/chef/knife/client_list.rb +3 -3
  107. data/lib/chef/knife/client_reregister.rb +3 -3
  108. data/lib/chef/knife/config_get.rb +126 -0
  109. data/lib/chef/knife/configure.rb +25 -25
  110. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  111. data/lib/chef/knife/cookbook_delete.rb +2 -2
  112. data/lib/chef/knife/cookbook_download.rb +11 -11
  113. data/lib/chef/knife/cookbook_list.rb +6 -6
  114. data/lib/chef/knife/cookbook_metadata.rb +7 -8
  115. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -1
  116. data/lib/chef/knife/cookbook_show.rb +16 -16
  117. data/lib/chef/knife/cookbook_site_download.rb +11 -10
  118. data/lib/chef/knife/cookbook_site_install.rb +24 -24
  119. data/lib/chef/knife/cookbook_site_list.rb +8 -8
  120. data/lib/chef/knife/cookbook_site_search.rb +6 -5
  121. data/lib/chef/knife/cookbook_site_share.rb +20 -19
  122. data/lib/chef/knife/cookbook_site_show.rb +6 -5
  123. data/lib/chef/knife/cookbook_site_unshare.rb +5 -5
  124. data/lib/chef/knife/cookbook_test.rb +8 -8
  125. data/lib/chef/knife/cookbook_upload.rb +32 -32
  126. data/lib/chef/knife/core/bootstrap_context.rb +7 -7
  127. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  128. data/lib/chef/knife/core/generic_presenter.rb +7 -7
  129. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  130. data/lib/chef/knife/core/node_presenter.rb +37 -37
  131. data/lib/chef/knife/core/status_presenter.rb +11 -11
  132. data/lib/chef/knife/data_bag_from_file.rb +4 -4
  133. data/lib/chef/knife/data_bag_list.rb +3 -3
  134. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  135. data/lib/chef/knife/delete.rb +29 -13
  136. data/lib/chef/knife/deps.rb +25 -9
  137. data/lib/chef/knife/diff.rb +30 -14
  138. data/lib/chef/knife/download.rb +39 -23
  139. data/lib/chef/knife/edit.rb +19 -3
  140. data/lib/chef/knife/environment_compare.rb +8 -8
  141. data/lib/chef/knife/environment_create.rb +3 -3
  142. data/lib/chef/knife/environment_from_file.rb +5 -3
  143. data/lib/chef/knife/environment_list.rb +3 -3
  144. data/lib/chef/knife/exec.rb +7 -7
  145. data/lib/chef/knife/key_create.rb +4 -4
  146. data/lib/chef/knife/key_create_base.rb +12 -12
  147. data/lib/chef/knife/key_edit.rb +5 -5
  148. data/lib/chef/knife/key_edit_base.rb +15 -15
  149. data/lib/chef/knife/key_list.rb +3 -3
  150. data/lib/chef/knife/key_list_base.rb +9 -9
  151. data/lib/chef/knife/list.rb +35 -19
  152. data/lib/chef/knife/node_edit.rb +4 -4
  153. data/lib/chef/knife/node_list.rb +3 -3
  154. data/lib/chef/knife/node_run_list_add.rb +6 -6
  155. data/lib/chef/knife/node_show.rb +6 -6
  156. data/lib/chef/knife/osc_user_create.rb +13 -13
  157. data/lib/chef/knife/osc_user_list.rb +3 -3
  158. data/lib/chef/knife/osc_user_reregister.rb +3 -3
  159. data/lib/chef/knife/raw.rb +32 -16
  160. data/lib/chef/knife/role_create.rb +3 -3
  161. data/lib/chef/knife/role_env_run_list_add.rb +4 -3
  162. data/lib/chef/knife/role_env_run_list_remove.rb +2 -2
  163. data/lib/chef/knife/role_env_run_list_replace.rb +1 -0
  164. data/lib/chef/knife/role_list.rb +3 -3
  165. data/lib/chef/knife/role_run_list_add.rb +4 -3
  166. data/lib/chef/knife/role_run_list_remove.rb +2 -2
  167. data/lib/chef/knife/role_run_list_replace.rb +1 -0
  168. data/lib/chef/knife/search.rb +23 -23
  169. data/lib/chef/knife/serve.rb +22 -6
  170. data/lib/chef/knife/show.rb +19 -3
  171. data/lib/chef/knife/ssh.rb +68 -68
  172. data/lib/chef/knife/ssl_check.rb +31 -31
  173. data/lib/chef/knife/ssl_fetch.rb +5 -5
  174. data/lib/chef/knife/status.rb +11 -11
  175. data/lib/chef/knife/upload.rb +41 -25
  176. data/lib/chef/knife/user_create.rb +28 -28
  177. data/lib/chef/knife/user_delete.rb +9 -9
  178. data/lib/chef/knife/user_edit.rb +9 -9
  179. data/lib/chef/knife/user_list.rb +3 -3
  180. data/lib/chef/knife/user_reregister.rb +12 -12
  181. data/lib/chef/knife/user_show.rb +9 -9
  182. data/lib/chef/knife/xargs.rb +52 -36
  183. data/lib/chef/log.rb +10 -8
  184. data/lib/chef/log/winevt.rb +21 -21
  185. data/lib/chef/mixin/api_version_request_handling.rb +6 -6
  186. data/lib/chef/mixin/deep_merge.rb +1 -1
  187. data/lib/chef/mixin/deprecation.rb +2 -2
  188. data/lib/chef/mixin/params_validate.rb +9 -9
  189. data/lib/chef/mixin/properties.rb +2 -2
  190. data/lib/chef/mixin/securable.rb +11 -11
  191. data/lib/chef/mixin/shell_out.rb +138 -82
  192. data/lib/chef/mixin/wide_string.rb +5 -23
  193. data/lib/chef/mixin/windows_env_helper.rb +1 -1
  194. data/lib/chef/mixin/xml_escape.rb +3 -3
  195. data/lib/chef/node.rb +15 -15
  196. data/lib/chef/node/attribute.rb +6 -6
  197. data/lib/chef/node/attribute_collections.rb +2 -2
  198. data/lib/chef/node/mixin/deep_merge_cache.rb +1 -1
  199. data/lib/chef/node/mixin/immutablize_array.rb +2 -2
  200. data/lib/chef/node/mixin/immutablize_hash.rb +2 -2
  201. data/lib/chef/node_map.rb +77 -3
  202. data/lib/chef/org.rb +8 -8
  203. data/lib/chef/policy_builder/expand_node_object.rb +1 -1
  204. data/lib/chef/powershell.rb +9 -7
  205. data/lib/chef/property.rb +14 -14
  206. data/lib/chef/provider/apt_update.rb +2 -2
  207. data/lib/chef/provider/cron.rb +3 -3
  208. data/lib/chef/provider/cron/unix.rb +2 -2
  209. data/lib/chef/provider/dsc_resource.rb +1 -1
  210. data/lib/chef/provider/dsc_script.rb +8 -8
  211. data/lib/chef/provider/execute.rb +1 -1
  212. data/lib/chef/provider/group/aix.rb +6 -6
  213. data/lib/chef/provider/group/dscl.rb +1 -1
  214. data/lib/chef/provider/group/gpasswd.rb +4 -4
  215. data/lib/chef/provider/group/groupadd.rb +3 -3
  216. data/lib/chef/provider/group/groupmod.rb +6 -6
  217. data/lib/chef/provider/group/pw.rb +4 -4
  218. data/lib/chef/provider/group/suse.rb +2 -2
  219. data/lib/chef/provider/group/usermod.rb +1 -1
  220. data/lib/chef/provider/http_request.rb +6 -6
  221. data/lib/chef/provider/ifconfig.rb +4 -4
  222. data/lib/chef/provider/ifconfig/aix.rb +1 -1
  223. data/lib/chef/provider/mdadm.rb +1 -1
  224. data/lib/chef/provider/mount/mount.rb +1 -1
  225. data/lib/chef/provider/mount/windows.rb +7 -7
  226. data/lib/chef/provider/package.rb +3 -18
  227. data/lib/chef/provider/package/apt.rb +4 -4
  228. data/lib/chef/provider/package/bff.rb +9 -9
  229. data/lib/chef/provider/package/chocolatey.rb +7 -7
  230. data/lib/chef/provider/package/dnf.rb +2 -2
  231. data/lib/chef/provider/package/dpkg.rb +6 -6
  232. data/lib/chef/provider/package/freebsd/base.rb +2 -2
  233. data/lib/chef/provider/package/freebsd/pkg.rb +6 -6
  234. data/lib/chef/provider/package/freebsd/pkgng.rb +5 -5
  235. data/lib/chef/provider/package/freebsd/port.rb +4 -4
  236. data/lib/chef/provider/package/homebrew.rb +1 -1
  237. data/lib/chef/provider/package/ips.rb +6 -6
  238. data/lib/chef/provider/package/macports.rb +6 -6
  239. data/lib/chef/provider/package/msu.rb +1 -1
  240. data/lib/chef/provider/package/openbsd.rb +5 -5
  241. data/lib/chef/provider/package/pacman.rb +4 -4
  242. data/lib/chef/provider/package/paludis.rb +3 -3
  243. data/lib/chef/provider/package/portage.rb +5 -5
  244. data/lib/chef/provider/package/powershell.rb +6 -2
  245. data/lib/chef/provider/package/rpm.rb +10 -10
  246. data/lib/chef/provider/package/rubygems.rb +4 -4
  247. data/lib/chef/provider/package/smartos.rb +4 -4
  248. data/lib/chef/provider/package/solaris.rb +9 -9
  249. data/lib/chef/provider/package/windows.rb +4 -3
  250. data/lib/chef/provider/package/yum.rb +2 -2
  251. data/lib/chef/provider/package/zypper.rb +4 -4
  252. data/lib/chef/provider/powershell_script.rb +73 -73
  253. data/lib/chef/provider/reboot.rb +4 -4
  254. data/lib/chef/provider/registry_key.rb +4 -4
  255. data/lib/chef/provider/remote_file/cache_control_data.rb +2 -2
  256. data/lib/chef/provider/remote_file/sftp.rb +1 -1
  257. data/lib/chef/provider/resource_update.rb +1 -1
  258. data/lib/chef/provider/route.rb +2 -2
  259. data/lib/chef/provider/service/openbsd.rb +3 -3
  260. data/lib/chef/provider/service/redhat.rb +1 -1
  261. data/lib/chef/provider/service/simple.rb +1 -0
  262. data/lib/chef/provider/service/solaris.rb +1 -1
  263. data/lib/chef/provider/service/systemd.rb +2 -2
  264. data/lib/chef/provider/service/windows.rb +17 -17
  265. data/lib/chef/provider/subversion.rb +3 -3
  266. data/lib/chef/provider/systemd_unit.rb +2 -2
  267. data/lib/chef/provider/template/content.rb +1 -1
  268. data/lib/chef/provider/user/aix.rb +6 -6
  269. data/lib/chef/provider/user/dscl.rb +6 -6
  270. data/lib/chef/provider/user/linux.rb +6 -6
  271. data/lib/chef/provider/user/pw.rb +5 -5
  272. data/lib/chef/provider/user/solaris.rb +6 -6
  273. data/lib/chef/provider/user/useradd.rb +7 -7
  274. data/lib/chef/provider/windows_env.rb +6 -6
  275. data/lib/chef/provider/windows_task.rb +22 -24
  276. data/lib/chef/resource.rb +26 -4
  277. data/lib/chef/resource/chef_handler.rb +2 -0
  278. data/lib/chef/resource/chocolatey_config.rb +83 -0
  279. data/lib/chef/resource/chocolatey_source.rb +95 -0
  280. data/lib/chef/resource/cron.rb +5 -5
  281. data/lib/chef/resource/dsc_script.rb +12 -11
  282. data/lib/chef/resource/execute.rb +1 -1
  283. data/lib/chef/resource/file/verification.rb +1 -1
  284. data/lib/chef/resource/freebsd_package.rb +3 -1
  285. data/lib/chef/resource/group.rb +2 -2
  286. data/lib/chef/resource/homebrew_package.rb +2 -1
  287. data/lib/chef/resource/homebrew_tap.rb +1 -1
  288. data/lib/chef/resource/hostname.rb +23 -7
  289. data/lib/chef/resource/http_request.rb +6 -3
  290. data/lib/chef/resource/ifconfig.rb +57 -17
  291. data/lib/chef/resource/ips_package.rb +3 -1
  292. data/lib/chef/resource/kernel_module.rb +129 -0
  293. data/lib/chef/resource/launchd.rb +205 -98
  294. data/lib/chef/resource/log.rb +7 -2
  295. data/lib/chef/resource/mdadm.rb +29 -8
  296. data/lib/chef/resource/ohai.rb +2 -0
  297. data/lib/chef/resource/ohai_hint.rb +5 -3
  298. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  299. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  300. data/lib/chef/resource/paludis_package.rb +1 -1
  301. data/lib/chef/resource/portage_package.rb +2 -0
  302. data/lib/chef/resource/powershell_package.rb +2 -0
  303. data/lib/chef/resource/powershell_package_source.rb +165 -0
  304. data/lib/chef/resource/powershell_script.rb +2 -2
  305. data/lib/chef/resource/registry_key.rb +1 -1
  306. data/lib/chef/resource/remote_directory.rb +3 -3
  307. data/lib/chef/resource/remote_file.rb +2 -2
  308. data/lib/chef/resource/resource_notification.rb +16 -16
  309. data/lib/chef/resource/rhsm_errata.rb +1 -1
  310. data/lib/chef/resource/rhsm_errata_level.rb +1 -1
  311. data/lib/chef/resource/rhsm_register.rb +4 -4
  312. data/lib/chef/resource/rhsm_repo.rb +2 -2
  313. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  314. data/lib/chef/resource/script.rb +1 -1
  315. data/lib/chef/resource/service.rb +18 -18
  316. data/lib/chef/resource/ssh_known_hosts_entry.rb +146 -0
  317. data/lib/chef/resource/sudo.rb +4 -4
  318. data/lib/chef/resource/support/ssh_known_hosts.erb +3 -0
  319. data/lib/chef/resource/sysctl.rb +9 -5
  320. data/lib/chef/resource/template.rb +1 -1
  321. data/lib/chef/resource/user.rb +15 -15
  322. data/lib/chef/resource/windows_feature_dism.rb +10 -9
  323. data/lib/chef/resource/windows_feature_powershell.rb +24 -13
  324. data/lib/chef/resource/windows_script.rb +1 -1
  325. data/lib/chef/resource/windows_service.rb +2 -2
  326. data/lib/chef/resource/windows_task.rb +3 -3
  327. data/lib/chef/resource_definition.rb +1 -1
  328. data/lib/chef/resource_inspector.rb +1 -0
  329. data/lib/chef/resource_reporter.rb +4 -4
  330. data/lib/chef/resources.rb +5 -0
  331. data/lib/chef/role.rb +8 -8
  332. data/lib/chef/run_context.rb +8 -8
  333. data/lib/chef/run_list/run_list_expansion.rb +6 -6
  334. data/lib/chef/run_list/run_list_item.rb +1 -1
  335. data/lib/chef/run_list/versioned_recipe_list.rb +3 -3
  336. data/lib/chef/run_status.rb +10 -10
  337. data/lib/chef/shell.rb +60 -60
  338. data/lib/chef/shell/ext.rb +151 -151
  339. data/lib/chef/shell/shell_session.rb +2 -2
  340. data/lib/chef/user.rb +11 -11
  341. data/lib/chef/user_v1.rb +26 -26
  342. data/lib/chef/util/backup.rb +2 -2
  343. data/lib/chef/util/diff.rb +1 -1
  344. data/lib/chef/util/dsc/configuration_generator.rb +11 -11
  345. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  346. data/lib/chef/util/file_edit.rb +14 -14
  347. data/lib/chef/util/powershell/cmdlet.rb +4 -4
  348. data/lib/chef/util/selinux.rb +2 -2
  349. data/lib/chef/util/windows/net_group.rb +1 -1
  350. data/lib/chef/util/windows/net_use.rb +3 -3
  351. data/lib/chef/util/windows/net_user.rb +12 -12
  352. data/lib/chef/util/windows/volume.rb +2 -2
  353. data/lib/chef/version.rb +3 -3
  354. data/lib/chef/version_constraint.rb +3 -3
  355. data/lib/chef/win32/api.rb +6 -6
  356. data/lib/chef/win32/api/error.rb +2 -2
  357. data/lib/chef/win32/api/file.rb +12 -12
  358. data/lib/chef/win32/api/net.rb +58 -58
  359. data/lib/chef/win32/registry.rb +8 -8
  360. data/lib/chef/win32/security.rb +6 -6
  361. data/lib/chef/win32/security/securable_object.rb +10 -10
  362. data/lib/chef/win32/unicode.rb +6 -0
  363. data/lib/chef/win32/version.rb +16 -16
  364. data/spec/functional/audit/rspec_formatter_spec.rb +1 -1
  365. data/spec/functional/audit/runner_spec.rb +1 -1
  366. data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
  367. data/spec/functional/dsl/registry_helper_spec.rb +3 -3
  368. data/spec/functional/http/simple_spec.rb +1 -1
  369. data/spec/functional/knife/exec_spec.rb +1 -1
  370. data/spec/functional/knife/ssh_spec.rb +2 -2
  371. data/spec/functional/mixin/shell_out_spec.rb +8 -4
  372. data/spec/functional/rebooter_spec.rb +6 -6
  373. data/spec/functional/resource/aixinit_service_spec.rb +2 -2
  374. data/spec/functional/resource/apt_package_spec.rb +17 -17
  375. data/spec/functional/resource/bash_spec.rb +1 -1
  376. data/spec/functional/resource/bff_spec.rb +1 -1
  377. data/spec/functional/resource/cron_spec.rb +1 -1
  378. data/spec/functional/resource/dnf_package_spec.rb +7 -7
  379. data/spec/functional/resource/dsc_script_spec.rb +94 -94
  380. data/spec/functional/resource/execute_spec.rb +4 -4
  381. data/spec/functional/resource/file_spec.rb +1 -1
  382. data/spec/functional/resource/git_spec.rb +19 -19
  383. data/spec/functional/resource/ifconfig_spec.rb +5 -5
  384. data/spec/functional/resource/link_spec.rb +1 -1
  385. data/spec/functional/resource/mount_spec.rb +2 -2
  386. data/spec/functional/resource/powershell_script_spec.rb +13 -13
  387. data/spec/functional/resource/reboot_spec.rb +3 -3
  388. data/spec/functional/resource/registry_spec.rb +82 -82
  389. data/spec/functional/resource/remote_file_spec.rb +2 -2
  390. data/spec/functional/resource/rpm_spec.rb +1 -1
  391. data/spec/functional/resource/template_spec.rb +5 -5
  392. data/spec/functional/resource/user/dscl_spec.rb +3 -3
  393. data/spec/functional/resource/windows_env_spec.rb +1 -1
  394. data/spec/functional/resource/windows_service_spec.rb +1 -1
  395. data/spec/functional/resource/windows_task_spec.rb +92 -38
  396. data/spec/functional/resource/yum_package_spec.rb +8 -8
  397. data/spec/functional/run_lock_spec.rb +4 -4
  398. data/spec/functional/shell_spec.rb +1 -1
  399. data/spec/functional/util/powershell/cmdlet_spec.rb +7 -7
  400. data/spec/functional/version_spec.rb +1 -1
  401. data/spec/functional/win32/crypto_spec.rb +9 -9
  402. data/spec/functional/win32/registry_spec.rb +66 -66
  403. data/spec/integration/client/client_spec.rb +219 -219
  404. data/spec/integration/client/exit_code_spec.rb +19 -19
  405. data/spec/integration/client/ipv6_spec.rb +36 -36
  406. data/spec/integration/knife/chef_fs_data_store_spec.rb +130 -130
  407. data/spec/integration/knife/chef_repo_path_spec.rb +418 -418
  408. data/spec/integration/knife/chef_repository_file_system_spec.rb +35 -35
  409. data/spec/integration/knife/chefignore_spec.rb +88 -88
  410. data/spec/integration/knife/client_bulk_delete_spec.rb +49 -49
  411. data/spec/integration/knife/client_create_spec.rb +5 -5
  412. data/spec/integration/knife/client_delete_spec.rb +13 -13
  413. data/spec/integration/knife/client_key_delete_spec.rb +2 -2
  414. data/spec/integration/knife/client_key_list_spec.rb +4 -4
  415. data/spec/integration/knife/client_list_spec.rb +8 -8
  416. data/spec/integration/knife/common_options_spec.rb +31 -31
  417. data/spec/integration/knife/config_get_spec.rb +183 -0
  418. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +38 -38
  419. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +14 -14
  420. data/spec/integration/knife/cookbook_download_spec.rb +12 -12
  421. data/spec/integration/knife/cookbook_list_spec.rb +8 -8
  422. data/spec/integration/knife/cookbook_show_spec.rb +81 -81
  423. data/spec/integration/knife/cookbook_upload_spec.rb +24 -24
  424. data/spec/integration/knife/data_bag_delete_spec.rb +8 -8
  425. data/spec/integration/knife/data_bag_from_file_spec.rb +47 -47
  426. data/spec/integration/knife/data_bag_list_spec.rb +4 -4
  427. data/spec/integration/knife/data_bag_show_spec.rb +7 -7
  428. data/spec/integration/knife/delete_spec.rb +593 -593
  429. data/spec/integration/knife/deps_spec.rb +185 -185
  430. data/spec/integration/knife/diff_spec.rb +116 -116
  431. data/spec/integration/knife/download_spec.rb +510 -510
  432. data/spec/integration/knife/environment_compare_spec.rb +15 -15
  433. data/spec/integration/knife/environment_from_file_spec.rb +59 -59
  434. data/spec/integration/knife/environment_list_spec.rb +4 -4
  435. data/spec/integration/knife/environment_show_spec.rb +25 -25
  436. data/spec/integration/knife/list_spec.rb +731 -731
  437. data/spec/integration/knife/node_bulk_delete_spec.rb +8 -8
  438. data/spec/integration/knife/node_delete_spec.rb +6 -6
  439. data/spec/integration/knife/node_environment_set_spec.rb +3 -3
  440. data/spec/integration/knife/node_from_file_spec.rb +16 -16
  441. data/spec/integration/knife/node_list_spec.rb +5 -5
  442. data/spec/integration/knife/raw_spec.rb +117 -117
  443. data/spec/integration/knife/role_bulk_delete_spec.rb +8 -8
  444. data/spec/integration/knife/role_delete_spec.rb +6 -6
  445. data/spec/integration/knife/role_from_file_spec.rb +42 -42
  446. data/spec/integration/knife/role_list_spec.rb +5 -5
  447. data/spec/integration/knife/role_show_spec.rb +9 -9
  448. data/spec/integration/knife/show_spec.rb +57 -57
  449. data/spec/integration/knife/upload_spec.rb +396 -396
  450. data/spec/integration/recipes/accumulator_spec.rb +2 -2
  451. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +8 -8
  452. data/spec/integration/recipes/lwrp_spec.rb +12 -12
  453. data/spec/integration/recipes/notifies_spec.rb +167 -167
  454. data/spec/integration/recipes/notifying_block_spec.rb +2 -2
  455. data/spec/integration/recipes/remote_directory.rb +1 -1
  456. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +99 -99
  457. data/spec/integration/recipes/resource_load_spec.rb +8 -8
  458. data/spec/integration/solo/solo_spec.rb +40 -40
  459. data/spec/scripts/ssl-serve.rb +12 -12
  460. data/spec/spec_helper.rb +73 -73
  461. data/spec/stress/win32/file_spec.rb +2 -2
  462. data/spec/stress/win32/security_spec.rb +2 -2
  463. data/spec/support/platform_helpers.rb +1 -1
  464. data/spec/support/shared/context/client.rb +25 -25
  465. data/spec/support/shared/functional/securable_resource.rb +13 -13
  466. data/spec/support/shared/functional/securable_resource_with_reporting.rb +6 -6
  467. data/spec/support/shared/functional/win32_service.rb +5 -5
  468. data/spec/support/shared/functional/windows_script.rb +3 -3
  469. data/spec/support/shared/integration/app_server_support.rb +3 -3
  470. data/spec/support/shared/integration/integration_helper.rb +2 -2
  471. data/spec/support/shared/integration/knife_support.rb +9 -3
  472. data/spec/support/shared/unit/api_error_inspector.rb +6 -6
  473. data/spec/support/shared/unit/api_versioning.rb +2 -2
  474. data/spec/support/shared/unit/execute_resource.rb +2 -2
  475. data/spec/support/shared/unit/provider/file.rb +12 -12
  476. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +34 -34
  477. data/spec/support/shared/unit/user_and_client_shared.rb +3 -3
  478. data/spec/tiny_server.rb +8 -8
  479. data/spec/unit/api_client/registration_spec.rb +30 -30
  480. data/spec/unit/api_client_spec.rb +6 -6
  481. data/spec/unit/api_client_v1_spec.rb +6 -6
  482. data/spec/unit/application/apply_spec.rb +4 -4
  483. data/spec/unit/application/client_spec.rb +11 -11
  484. data/spec/unit/application/knife_spec.rb +3 -3
  485. data/spec/unit/application/solo_spec.rb +5 -5
  486. data/spec/unit/application_spec.rb +11 -11
  487. data/spec/unit/audit/audit_event_proxy_spec.rb +48 -48
  488. data/spec/unit/audit/audit_reporter_spec.rb +51 -55
  489. data/spec/unit/audit/control_group_data_spec.rb +20 -20
  490. data/spec/unit/audit/runner_spec.rb +2 -2
  491. data/spec/unit/chef_class_spec.rb +120 -0
  492. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  493. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +3 -3
  494. data/spec/unit/chef_fs/diff_spec.rb +45 -45
  495. data/spec/unit/chef_fs/file_pattern_spec.rb +2 -2
  496. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +2 -2
  497. data/spec/unit/chef_fs/file_system_spec.rb +8 -8
  498. data/spec/unit/chef_fs/parallelizer.rb +12 -12
  499. data/spec/unit/client_spec.rb +15 -15
  500. data/spec/unit/config_fetcher_spec.rb +23 -23
  501. data/spec/unit/config_spec.rb +2 -2
  502. data/spec/unit/cookbook/metadata_spec.rb +81 -81
  503. data/spec/unit/cookbook/synchronizer_spec.rb +171 -171
  504. data/spec/unit/cookbook_loader_spec.rb +10 -5
  505. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +6 -6
  506. data/spec/unit/cookbook_uploader_spec.rb +8 -8
  507. data/spec/unit/cookbook_version_file_specificity_spec.rb +135 -135
  508. data/spec/unit/daemon_spec.rb +4 -4
  509. data/spec/unit/data_bag_item_spec.rb +3 -3
  510. data/spec/unit/data_bag_spec.rb +1 -1
  511. data/spec/unit/data_collector/resource_report_spec.rb +1 -1
  512. data/spec/unit/data_collector_spec.rb +4 -3
  513. data/spec/unit/deprecated_spec.rb +18 -12
  514. data/spec/unit/dsl/audit_spec.rb +1 -1
  515. data/spec/unit/dsl/platform_introspection_spec.rb +16 -16
  516. data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
  517. data/spec/unit/environment_spec.rb +16 -16
  518. data/spec/unit/file_access_control_spec.rb +8 -8
  519. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  520. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +26 -26
  521. data/spec/unit/formatters/error_description_spec.rb +39 -39
  522. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +16 -16
  523. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  524. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +1 -1
  525. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +1 -1
  526. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +1 -1
  527. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +5 -5
  528. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +4 -4
  529. data/spec/unit/handler/json_file_spec.rb +1 -1
  530. data/spec/unit/http/api_versions_spec.rb +1 -1
  531. data/spec/unit/http/authenticator_spec.rb +17 -17
  532. data/spec/unit/http/ssl_policies_spec.rb +1 -1
  533. data/spec/unit/http/validate_content_length_spec.rb +2 -2
  534. data/spec/unit/key_spec.rb +12 -12
  535. data/spec/unit/knife/bootstrap/client_builder_spec.rb +3 -3
  536. data/spec/unit/knife/client_bulk_delete_spec.rb +1 -1
  537. data/spec/unit/knife/client_delete_spec.rb +1 -1
  538. data/spec/unit/knife/client_reregister_spec.rb +1 -1
  539. data/spec/unit/knife/configure_client_spec.rb +4 -4
  540. data/spec/unit/knife/configure_spec.rb +1 -1
  541. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  542. data/spec/unit/knife/cookbook_delete_spec.rb +4 -4
  543. data/spec/unit/knife/cookbook_download_spec.rb +21 -21
  544. data/spec/unit/knife/cookbook_list_spec.rb +7 -7
  545. data/spec/unit/knife/cookbook_show_spec.rb +24 -24
  546. data/spec/unit/knife/cookbook_site_download_spec.rb +23 -23
  547. data/spec/unit/knife/cookbook_site_install_spec.rb +4 -4
  548. data/spec/unit/knife/cookbook_site_share_spec.rb +10 -10
  549. data/spec/unit/knife/cookbook_site_unshare_spec.rb +2 -2
  550. data/spec/unit/knife/cookbook_upload_spec.rb +19 -19
  551. data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -37
  552. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +20 -20
  553. data/spec/unit/knife/core/object_loader_spec.rb +1 -1
  554. data/spec/unit/knife/core/ui_spec.rb +55 -55
  555. data/spec/unit/knife/data_bag_create_spec.rb +2 -2
  556. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  557. data/spec/unit/knife/data_bag_secret_options_spec.rb +5 -5
  558. data/spec/unit/knife/environment_from_file_spec.rb +1 -1
  559. data/spec/unit/knife/key_create_spec.rb +4 -4
  560. data/spec/unit/knife/key_delete_spec.rb +3 -3
  561. data/spec/unit/knife/key_edit_spec.rb +3 -3
  562. data/spec/unit/knife/key_list_spec.rb +3 -3
  563. data/spec/unit/knife/key_show_spec.rb +3 -3
  564. data/spec/unit/knife/node_delete_spec.rb +1 -1
  565. data/spec/unit/knife/node_edit_spec.rb +7 -7
  566. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  567. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  568. data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
  569. data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
  570. data/spec/unit/knife/role_bulk_delete_spec.rb +1 -1
  571. data/spec/unit/knife/role_create_spec.rb +1 -1
  572. data/spec/unit/knife/role_delete_spec.rb +1 -1
  573. data/spec/unit/knife/role_env_run_list_add_spec.rb +4 -4
  574. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  575. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  576. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  577. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  578. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  579. data/spec/unit/knife/role_run_list_add_spec.rb +4 -4
  580. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  581. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  582. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  583. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  584. data/spec/unit/knife/ssh_spec.rb +25 -25
  585. data/spec/unit/knife/ssl_check_spec.rb +23 -23
  586. data/spec/unit/knife/ssl_fetch_spec.rb +11 -11
  587. data/spec/unit/knife/user_delete_spec.rb +1 -1
  588. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  589. data/spec/unit/knife_spec.rb +26 -26
  590. data/spec/unit/log/syslog_spec.rb +1 -1
  591. data/spec/unit/lwrp_spec.rb +4 -4
  592. data/spec/unit/mash_spec.rb +3 -3
  593. data/spec/unit/mixin/api_version_request_handling_spec.rb +16 -16
  594. data/spec/unit/mixin/checksum_spec.rb +1 -1
  595. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +8 -8
  596. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  597. data/spec/unit/mixin/params_validate_spec.rb +96 -96
  598. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  599. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  600. data/spec/unit/mixin/securable_spec.rb +27 -27
  601. data/spec/unit/mixin/shell_out_spec.rb +286 -132
  602. data/spec/unit/mixin/user_context_spec.rb +1 -1
  603. data/spec/unit/mixin/xml_escape_spec.rb +1 -1
  604. data/spec/unit/node/attribute_spec.rb +10 -10
  605. data/spec/unit/node/vivid_mash_spec.rb +3 -3
  606. data/spec/unit/node_map_spec.rb +71 -3
  607. data/spec/unit/node_spec.rb +15 -15
  608. data/spec/unit/org_spec.rb +2 -2
  609. data/spec/unit/platform/query_helpers_spec.rb +26 -26
  610. data/spec/unit/policy_builder/expand_node_object_spec.rb +4 -4
  611. data/spec/unit/policy_builder/policyfile_spec.rb +29 -29
  612. data/spec/unit/property_spec.rb +5 -5
  613. data/spec/unit/provider/apt_repository_spec.rb +19 -19
  614. data/spec/unit/provider/cookbook_file/content_spec.rb +1 -1
  615. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  616. data/spec/unit/provider/cron/unix_spec.rb +12 -12
  617. data/spec/unit/provider/cron_spec.rb +279 -279
  618. data/spec/unit/provider/dsc_resource_spec.rb +6 -6
  619. data/spec/unit/provider/execute_spec.rb +2 -2
  620. data/spec/unit/provider/file/content_spec.rb +1 -1
  621. data/spec/unit/provider/file_spec.rb +1 -1
  622. data/spec/unit/provider/git_spec.rb +123 -123
  623. data/spec/unit/provider/group/dscl_spec.rb +18 -18
  624. data/spec/unit/provider/group/gpasswd_spec.rb +7 -7
  625. data/spec/unit/provider/group/groupadd_spec.rb +7 -7
  626. data/spec/unit/provider/group/groupmod_spec.rb +13 -13
  627. data/spec/unit/provider/group/pw_spec.rb +4 -4
  628. data/spec/unit/provider/group/suse_spec.rb +2 -2
  629. data/spec/unit/provider/group/usermod_spec.rb +4 -4
  630. data/spec/unit/provider/group_spec.rb +3 -3
  631. data/spec/unit/provider/ifconfig/aix_spec.rb +17 -17
  632. data/spec/unit/provider/ifconfig/debian_spec.rb +16 -16
  633. data/spec/unit/provider/ifconfig_spec.rb +16 -16
  634. data/spec/unit/provider/launchd_spec.rb +52 -52
  635. data/spec/unit/provider/link_spec.rb +7 -7
  636. data/spec/unit/provider/mdadm_spec.rb +3 -3
  637. data/spec/unit/provider/mount/aix_spec.rb +39 -39
  638. data/spec/unit/provider/mount/mount_spec.rb +26 -26
  639. data/spec/unit/provider/mount/solaris_spec.rb +2 -2
  640. data/spec/unit/provider/mount/windows_spec.rb +6 -6
  641. data/spec/unit/provider/ohai_spec.rb +9 -9
  642. data/spec/unit/provider/osx_profile_spec.rb +1 -1
  643. data/spec/unit/provider/package/apt_spec.rb +186 -186
  644. data/spec/unit/provider/package/bff_spec.rb +36 -36
  645. data/spec/unit/provider/package/cab_spec.rb +58 -58
  646. data/spec/unit/provider/package/chocolatey_spec.rb +34 -34
  647. data/spec/unit/provider/package/dpkg_spec.rb +33 -33
  648. data/spec/unit/provider/package/freebsd/pkg_spec.rb +35 -35
  649. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +22 -22
  650. data/spec/unit/provider/package/freebsd/port_spec.rb +21 -21
  651. data/spec/unit/provider/package/homebrew_spec.rb +4 -4
  652. data/spec/unit/provider/package/ips_spec.rb +94 -94
  653. data/spec/unit/provider/package/macports_spec.rb +23 -23
  654. data/spec/unit/provider/package/msu_spec.rb +44 -44
  655. data/spec/unit/provider/package/openbsd_spec.rb +19 -19
  656. data/spec/unit/provider/package/pacman_spec.rb +50 -50
  657. data/spec/unit/provider/package/paludis_spec.rb +33 -33
  658. data/spec/unit/provider/package/portage_spec.rb +25 -25
  659. data/spec/unit/provider/package/powershell_spec.rb +98 -85
  660. data/spec/unit/provider/package/rpm_spec.rb +21 -21
  661. data/spec/unit/provider/package/rubygems_spec.rb +71 -71
  662. data/spec/unit/provider/package/smartos_spec.rb +21 -21
  663. data/spec/unit/provider/package/solaris_spec.rb +38 -38
  664. data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
  665. data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
  666. data/spec/unit/provider/package/windows_spec.rb +11 -4
  667. data/spec/unit/provider/package/zypper_spec.rb +42 -46
  668. data/spec/unit/provider/package_spec.rb +2 -2
  669. data/spec/unit/provider/powershell_script_spec.rb +1 -1
  670. data/spec/unit/provider/registry_key_spec.rb +22 -22
  671. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +7 -7
  672. data/spec/unit/provider/remote_file/content_spec.rb +4 -4
  673. data/spec/unit/provider/remote_file/fetcher_spec.rb +5 -5
  674. data/spec/unit/provider/remote_file/ftp_spec.rb +1 -1
  675. data/spec/unit/provider/remote_file/http_spec.rb +1 -1
  676. data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
  677. data/spec/unit/provider/remote_file/network_file_spec.rb +3 -3
  678. data/spec/unit/provider/remote_file/sftp_spec.rb +2 -2
  679. data/spec/unit/provider/remote_file_spec.rb +1 -1
  680. data/spec/unit/provider/script_spec.rb +1 -1
  681. data/spec/unit/provider/service/aix_service_spec.rb +8 -8
  682. data/spec/unit/provider/service/aixinit_service_spec.rb +3 -3
  683. data/spec/unit/provider/service/arch_service_spec.rb +21 -21
  684. data/spec/unit/provider/service/debian_service_spec.rb +2 -2
  685. data/spec/unit/provider/service/freebsd_service_spec.rb +30 -30
  686. data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
  687. data/spec/unit/provider/service/init_service_spec.rb +14 -14
  688. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  689. data/spec/unit/provider/service/invokercd_service_spec.rb +17 -17
  690. data/spec/unit/provider/service/macosx_spec.rb +59 -59
  691. data/spec/unit/provider/service/openbsd_service_spec.rb +6 -6
  692. data/spec/unit/provider/service/redhat_spec.rb +27 -27
  693. data/spec/unit/provider/service/simple_service_spec.rb +14 -14
  694. data/spec/unit/provider/service/solaris_smf_service_spec.rb +19 -19
  695. data/spec/unit/provider/service/systemd_service_spec.rb +13 -13
  696. data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
  697. data/spec/unit/provider/service/windows_spec.rb +38 -38
  698. data/spec/unit/provider/service_spec.rb +3 -3
  699. data/spec/unit/provider/subversion_spec.rb +13 -13
  700. data/spec/unit/provider/systemd_unit_spec.rb +10 -10
  701. data/spec/unit/provider/template/content_spec.rb +44 -44
  702. data/spec/unit/provider/template_spec.rb +2 -2
  703. data/spec/unit/provider/user/aix_spec.rb +5 -5
  704. data/spec/unit/provider/user/dscl_spec.rb +12 -12
  705. data/spec/unit/provider/user/pw_spec.rb +12 -12
  706. data/spec/unit/provider/user/solaris_spec.rb +6 -6
  707. data/spec/unit/provider/windows_env_spec.rb +2 -2
  708. data/spec/unit/provider/windows_task_spec.rb +16 -16
  709. data/spec/unit/provider/zypper_repository_spec.rb +7 -7
  710. data/spec/unit/provider_resolver_spec.rb +3 -3
  711. data/spec/unit/recipe_spec.rb +13 -13
  712. data/spec/unit/resource/chocolatey_config_spec.rb +98 -0
  713. data/spec/unit/resource/chocolatey_source_spec.rb +102 -0
  714. data/spec/unit/resource/conditional_spec.rb +1 -1
  715. data/spec/unit/resource/cookbook_file_spec.rb +3 -3
  716. data/spec/unit/resource/dnf_package_spec.rb +3 -3
  717. data/spec/unit/resource/dsc_script_spec.rb +10 -10
  718. data/spec/unit/resource/execute_spec.rb +2 -2
  719. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +1 -1
  720. data/spec/unit/resource/file/verification_spec.rb +1 -1
  721. data/spec/unit/resource/file_spec.rb +3 -3
  722. data/spec/unit/resource/freebsd_package_spec.rb +5 -4
  723. data/spec/unit/resource/group_spec.rb +4 -4
  724. data/spec/unit/resource/kernel_module_spec.rb +48 -0
  725. data/spec/unit/resource/mount_spec.rb +13 -3
  726. data/spec/unit/resource/package_spec.rb +2 -2
  727. data/spec/unit/resource/powershell_package_source_spec.rb +219 -0
  728. data/spec/unit/resource/powershell_package_spec.rb +10 -1
  729. data/spec/unit/resource/powershell_script_spec.rb +8 -8
  730. data/spec/unit/resource/registry_key_spec.rb +19 -19
  731. data/spec/unit/resource/remote_file_spec.rb +2 -2
  732. data/spec/unit/resource/resource_notification_spec.rb +8 -8
  733. data/spec/unit/resource/service_spec.rb +3 -3
  734. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +55 -0
  735. data/spec/unit/resource/template_spec.rb +2 -2
  736. data/spec/unit/resource/user_spec.rb +2 -2
  737. data/spec/unit/resource/windows_feature_dism.rb +5 -5
  738. data/spec/unit/resource/windows_feature_powershell.rb +27 -6
  739. data/spec/unit/resource/yum_package_spec.rb +3 -3
  740. data/spec/unit/resource_collection/resource_set_spec.rb +6 -6
  741. data/spec/unit/resource_collection_spec.rb +5 -5
  742. data/spec/unit/resource_definition_spec.rb +2 -2
  743. data/spec/unit/resource_inspector_spec.rb +3 -3
  744. data/spec/unit/resource_reporter_spec.rb +24 -24
  745. data/spec/unit/resource_spec.rb +65 -31
  746. data/spec/unit/role_spec.rb +22 -22
  747. data/spec/unit/run_context_spec.rb +1 -1
  748. data/spec/unit/run_list/run_list_item_spec.rb +3 -3
  749. data/spec/unit/run_list/versioned_recipe_list_spec.rb +12 -12
  750. data/spec/unit/run_list_spec.rb +6 -6
  751. data/spec/unit/runner_spec.rb +4 -4
  752. data/spec/unit/scan_access_control_spec.rb +3 -3
  753. data/spec/unit/shell/model_wrapper_spec.rb +4 -4
  754. data/spec/unit/shell/shell_ext_spec.rb +4 -4
  755. data/spec/unit/shell/shell_session_spec.rb +28 -28
  756. data/spec/unit/user_spec.rb +2 -2
  757. data/spec/unit/user_v1_spec.rb +25 -25
  758. data/spec/unit/util/diff_spec.rb +1 -1
  759. data/spec/unit/util/dsc/configuration_generator_spec.rb +4 -4
  760. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +105 -105
  761. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +16 -16
  762. data/spec/unit/util/file_edit_spec.rb +38 -38
  763. data/spec/unit/util/powershell/cmdlet_spec.rb +1 -1
  764. data/spec/unit/util/selinux_spec.rb +10 -10
  765. data/spec/unit/win32/registry_spec.rb +3 -3
  766. data/spec/unit/windows_service_spec.rb +2 -2
  767. data/tasks/cbgb.rb +3 -3
  768. data/tasks/dependencies.rb +6 -8
  769. data/tasks/maintainers.rb +7 -7
  770. data/tasks/rspec.rb +2 -2
  771. metadata +24 -83
  772. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +0 -33
  773. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +0 -272
  774. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +0 -57
  775. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +0 -68
  776. data/acceptance/.shared/kitchen_acceptance/metadata.rb +0 -1
  777. data/acceptance/Gemfile +0 -19
  778. data/acceptance/Gemfile.lock +0 -266
  779. data/acceptance/README.md +0 -137
  780. data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +0 -2
  781. data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  782. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  783. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  784. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  785. data/acceptance/basics/.kitchen.yml +0 -4
  786. data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +0 -19
  787. data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +0 -6
  788. data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +0 -8
  789. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +0 -2
  790. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  791. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -2
  792. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -2
  793. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -2
  794. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +0 -16
  795. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +0 -3
  796. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +0 -101
  797. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +0 -3
  798. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +0 -4
  799. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +0 -4
  800. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +0 -2
  801. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +0 -4
  802. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +0 -2
  803. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +0 -7
  804. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +0 -44
  805. data/acceptance/data-collector/.kitchen.yml +0 -9
  806. data/acceptance/data-collector/Berksfile +0 -3
  807. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +0 -208
  808. data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +0 -8
  809. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +0 -2
  810. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +0 -1
  811. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  812. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  813. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -61
  814. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +0 -2
  815. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +0 -43
  816. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +0 -41
  817. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  818. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  819. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  820. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  821. data/acceptance/top-cookbooks/.gitignore +0 -1
  822. data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +0 -6
  823. data/acceptance/top-cookbooks/.kitchen.iis.yml +0 -4
  824. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +0 -7
  825. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +0 -7
  826. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +0 -7
  827. data/acceptance/top-cookbooks/.kitchen.powershell.yml +0 -4
  828. data/acceptance/top-cookbooks/.kitchen.sql_server.yml +0 -5
  829. data/acceptance/top-cookbooks/.kitchen.winbox.yml +0 -8
  830. data/acceptance/top-cookbooks/.kitchen.windows.yml +0 -38
  831. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +0 -2
  832. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  833. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  834. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  835. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  836. data/acceptance/trivial/.kitchen.yml +0 -7
  837. data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +0 -5
  838. data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +0 -2
  839. data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  840. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  841. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  842. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  843. data/acceptance/windows-service/.kitchen.yml +0 -7
  844. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +0 -58
  845. data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # Author:: Daniel DeLeo (<dan@chef.io>)
3
- # Copyright:: Copyright 2013-2016, Chef Software Inc.
3
+ # Copyright:: Copyright 2013-2018, Chef Software Inc.
4
4
  # License:: Apache License, Version 2.0
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -45,8 +45,8 @@ describe Chef::Provider::RemoteFile::CacheControlData do
45
45
  context "when loading data for an unknown URI" do
46
46
 
47
47
  before do
48
- expect(Chef::FileCache).to receive(:has_key?).with(cache_path).and_return(false)
49
- expect(Chef::FileCache).to receive(:has_key?).with(old_cache_path).and_return(false)
48
+ expect(Chef::FileCache).to receive(:key?).with(cache_path).and_return(false)
49
+ expect(Chef::FileCache).to receive(:key?).with(old_cache_path).and_return(false)
50
50
  end
51
51
 
52
52
  context "and there is no current copy of the file" do
@@ -93,7 +93,7 @@ describe Chef::Provider::RemoteFile::CacheControlData do
93
93
 
94
94
  context "when the cache control data uses sha256 for its name" do
95
95
  before do
96
- expect(Chef::FileCache).to receive(:has_key?).with(cache_path).and_return(true)
96
+ expect(Chef::FileCache).to receive(:key?).with(cache_path).and_return(true)
97
97
  expect(Chef::FileCache).to receive(:load).with(cache_path).and_return(cache_json_data)
98
98
  end
99
99
 
@@ -118,7 +118,7 @@ describe Chef::Provider::RemoteFile::CacheControlData do
118
118
  context "and the cached checksum matches the on-disk copy" do
119
119
  context "when the filename uses sha256" do
120
120
  before do
121
- expect(Chef::FileCache).not_to receive(:has_key?).with(old_cache_path)
121
+ expect(Chef::FileCache).not_to receive(:key?).with(old_cache_path)
122
122
  end
123
123
  it "populates the cache control data" do
124
124
  expect(cache_control_data.etag).to eq(etag)
@@ -148,8 +148,8 @@ describe Chef::Provider::RemoteFile::CacheControlData do
148
148
 
149
149
  context "when the filename uses md5" do
150
150
  before do
151
- expect(Chef::FileCache).to receive(:has_key?).with(cache_path).and_return(false)
152
- expect(Chef::FileCache).to receive(:has_key?).with(old_cache_path).and_return(true)
151
+ expect(Chef::FileCache).to receive(:key?).with(cache_path).and_return(false)
152
+ expect(Chef::FileCache).to receive(:key?).with(old_cache_path).and_return(true)
153
153
  expect(Chef::FileCache).to receive(:load).with(old_cache_path).and_return(cache_json_data)
154
154
  end
155
155
 
@@ -84,7 +84,7 @@ describe Chef::Provider::RemoteFile::Content do
84
84
 
85
85
  describe "when the fetcher returns nil for the tempfile" do
86
86
  before do
87
- http_fetcher = double("Chef::Provider::RemoteFile::HTTP", :fetch => nil)
87
+ http_fetcher = double("Chef::Provider::RemoteFile::HTTP", fetch: nil)
88
88
  expect(Chef::Provider::RemoteFile::Fetcher).to receive(:for_resource).with(@uri, new_resource, current_resource).and_return(http_fetcher)
89
89
  end
90
90
 
@@ -97,7 +97,7 @@ describe Chef::Provider::RemoteFile::Content do
97
97
 
98
98
  let(:mtime) { Time.now }
99
99
  let(:tempfile) { double("Tempfile") }
100
- let(:http_fetcher) { double("Chef::Provider::RemoteFile::HTTP", :fetch => tempfile) }
100
+ let(:http_fetcher) { double("Chef::Provider::RemoteFile::HTTP", fetch: tempfile) }
101
101
 
102
102
  before do
103
103
  expect(Chef::Provider::RemoteFile::Fetcher).to receive(:for_resource).with(@uri, new_resource, current_resource).and_return(http_fetcher)
@@ -199,7 +199,7 @@ describe Chef::Provider::RemoteFile::Content do
199
199
  before do
200
200
  @tempfile = double("Tempfile")
201
201
  mtime = Time.now
202
- http_fetcher_works = double("Chef::Provider::RemoteFile::HTTP", :fetch => @tempfile)
202
+ http_fetcher_works = double("Chef::Provider::RemoteFile::HTTP", fetch: @tempfile)
203
203
  expect(Chef::Provider::RemoteFile::Fetcher).to receive(:for_resource).with(@uri1, new_resource, current_resource).and_return(http_fetcher_works)
204
204
  end
205
205
 
@@ -236,7 +236,7 @@ describe Chef::Provider::RemoteFile::Content do
236
236
  expect(URI).not_to receive(:parse).with(new_resource.source[1])
237
237
  @tempfile = double("Tempfile")
238
238
  mtime = Time.now
239
- http_fetcher_works = double("Chef::Provider::RemoteFile::HTTP", :fetch => @tempfile)
239
+ http_fetcher_works = double("Chef::Provider::RemoteFile::HTTP", fetch: @tempfile)
240
240
  expect(Chef::Provider::RemoteFile::Fetcher).to receive(:for_resource).with(@uri0, new_resource, current_resource).and_return(http_fetcher_works)
241
241
  end
242
242
 
@@ -46,7 +46,7 @@ describe Chef::Provider::RemoteFile::Fetcher do
46
46
  end
47
47
 
48
48
  describe "when passed an http url" do
49
- let(:uri) { double("uri", :scheme => "http" ) }
49
+ let(:uri) { double("uri", scheme: "http" ) }
50
50
  before do
51
51
  expect(Chef::Provider::RemoteFile::HTTP).to receive(:new).and_return(fetcher_instance)
52
52
  end
@@ -56,7 +56,7 @@ describe Chef::Provider::RemoteFile::Fetcher do
56
56
  end
57
57
 
58
58
  describe "when passed an https url" do
59
- let(:uri) { double("uri", :scheme => "https" ) }
59
+ let(:uri) { double("uri", scheme: "https" ) }
60
60
  before do
61
61
  expect(Chef::Provider::RemoteFile::HTTP).to receive(:new).and_return(fetcher_instance)
62
62
  end
@@ -66,7 +66,7 @@ describe Chef::Provider::RemoteFile::Fetcher do
66
66
  end
67
67
 
68
68
  describe "when passed an ftp url" do
69
- let(:uri) { double("uri", :scheme => "ftp" ) }
69
+ let(:uri) { double("uri", scheme: "ftp" ) }
70
70
  before do
71
71
  expect(Chef::Provider::RemoteFile::FTP).to receive(:new).and_return(fetcher_instance)
72
72
  end
@@ -76,7 +76,7 @@ describe Chef::Provider::RemoteFile::Fetcher do
76
76
  end
77
77
 
78
78
  describe "when passed a file url" do
79
- let(:uri) { double("uri", :scheme => "file" ) }
79
+ let(:uri) { double("uri", scheme: "file" ) }
80
80
  before do
81
81
  expect(Chef::Provider::RemoteFile::LocalFile).to receive(:new).and_return(fetcher_instance)
82
82
  end
@@ -86,7 +86,7 @@ describe Chef::Provider::RemoteFile::Fetcher do
86
86
  end
87
87
 
88
88
  describe "when passed a url we do not recognize" do
89
- let(:uri) { double("uri", :scheme => "xyzzy" ) }
89
+ let(:uri) { double("uri", scheme: "xyzzy" ) }
90
90
  it "throws an ArgumentError exception" do
91
91
  expect { described_class.for_resource(uri, new_resource, current_resource) }.to raise_error(ArgumentError)
92
92
  end
@@ -108,7 +108,7 @@ describe Chef::Provider::RemoteFile::FTP do
108
108
 
109
109
  before do
110
110
  current_resource.checksum(current_resource_checksum)
111
- #Chef::Provider::RemoteFile::CacheControlData.should_receive(:load_and_validate).with(uri, current_resource_checksum).and_return(cache_control_data)
111
+ # Chef::Provider::RemoteFile::CacheControlData.should_receive(:load_and_validate).with(uri, current_resource_checksum).and_return(cache_control_data)
112
112
  end
113
113
 
114
114
  it "should connect to the host from the uri on the default port 21" do
@@ -292,7 +292,7 @@ describe Chef::Provider::RemoteFile::HTTP do
292
292
  context "and the target file is a tarball [CHEF-3140]" do
293
293
 
294
294
  let(:uri) { URI.parse("http://opscode.com/tarball.tgz") }
295
- let(:expected_http_opts) { { :disable_gzip => true } }
295
+ let(:expected_http_opts) { { disable_gzip: true } }
296
296
 
297
297
  # CHEF-3140
298
298
  # Some servers return tarballs as content type tar and encoding gzip, which
@@ -84,8 +84,8 @@ describe Chef::Provider::RemoteFile::LocalFile do
84
84
 
85
85
  describe "when fetching the object" do
86
86
 
87
- let(:tempfile) { double("Tempfile", :path => "/tmp/foo/bar/nyan.png", :close => nil) }
88
- let(:chef_tempfile) { double("Chef::FileContentManagement::Tempfile", :tempfile => tempfile) }
87
+ let(:tempfile) { double("Tempfile", path: "/tmp/foo/bar/nyan.png", close: nil) }
88
+ let(:chef_tempfile) { double("Chef::FileContentManagement::Tempfile", tempfile: tempfile) }
89
89
 
90
90
  before do
91
91
  current_resource.source("file:///nyan_cat.png")
@@ -28,9 +28,9 @@ describe Chef::Provider::RemoteFile::NetworkFile do
28
28
 
29
29
  describe "when fetching the object" do
30
30
 
31
- let(:tempfile) { double("Tempfile", :path => "/tmp/foo/bar/Foo.tar.gz", :close => nil) }
32
- let(:chef_tempfile) { double("Chef::FileContentManagement::Tempfile", :tempfile => tempfile) }
33
- let(:source_file) { double("::File", :read => nil) }
31
+ let(:tempfile) { double("Tempfile", path: "/tmp/foo/bar/Foo.tar.gz", close: nil) }
32
+ let(:chef_tempfile) { double("Chef::FileContentManagement::Tempfile", tempfile: tempfile) }
33
+ let(:source_file) { double("::File", read: nil) }
34
34
 
35
35
  before do
36
36
  allow(Chef::Platform).to receive(:windows?).and_return(true)
@@ -19,7 +19,7 @@
19
19
  require "spec_helper"
20
20
 
21
21
  describe Chef::Provider::RemoteFile::SFTP do
22
- #built out dependencies
22
+ # built out dependencies
23
23
  let(:enclosing_directory) do
24
24
  canonicalize_path(File.expand_path(File.join(CHEF_SPEC_DATA, "templates")))
25
25
  end
@@ -120,7 +120,7 @@ describe Chef::Provider::RemoteFile::SFTP do
120
120
  let(:uri) { URI.parse("sftp://conan:cthu1hu@opscode.com:8021/seattle.txt") }
121
121
 
122
122
  it "should connect on an alternate port when one is provided" do
123
- expect(Net::SFTP).to receive(:start).with("opscode.com:8021", "conan", :password => "cthu1hu")
123
+ expect(Net::SFTP).to receive(:start).with("opscode.com:8021", "conan", password: "cthu1hu")
124
124
  fetcher.fetch
125
125
  end
126
126
 
@@ -37,7 +37,7 @@ describe Chef::Provider::RemoteFile do
37
37
  let(:node) { double("Chef::Node") }
38
38
  let(:events) { double("Chef::Events").as_null_object } # mock all the methods
39
39
  let(:logger) { double("Mixlib::Log::Child").as_null_object }
40
- let(:run_context) { double("Chef::RunContext", :node => node, :events => events, :logger => logger) }
40
+ let(:run_context) { double("Chef::RunContext", node: node, events: events, logger: logger) }
41
41
  let(:enclosing_directory) do
42
42
  canonicalize_path(File.expand_path(File.join(CHEF_SPEC_DATA, "templates")))
43
43
  end
@@ -93,7 +93,7 @@ describe Chef::Provider::Script, "action_run" do
93
93
  end
94
94
 
95
95
  context "when an alternate user is specified" do
96
- let(:security_descriptor) { instance_double("Chef::ReservedNames::Win32::Security::SecurityDescriptor", :dacl => []) }
96
+ let(:security_descriptor) { instance_double("Chef::ReservedNames::Win32::Security::SecurityDescriptor", dacl: []) }
97
97
  let(:securable_object) { instance_double("Chef::ReservedNames::Win32::Security::SecurableObject", :security_descriptor => security_descriptor, :dacl= => nil) }
98
98
  it "sets the script file's security descriptor" do
99
99
  new_resource.user("toor")
@@ -33,7 +33,7 @@ describe Chef::Provider::Service::Aix do
33
33
 
34
34
  describe "load current resource" do
35
35
  it "should create a current resource with the name of the new resource and determine the status" do
36
- @status = double("Status", :exitstatus => 0, :stdout => @stdout)
36
+ @status = double("Status", exitstatus: 0, stdout: @stdout)
37
37
  allow(@provider).to receive(:shell_out!).and_return(@status)
38
38
 
39
39
  expect(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
@@ -47,7 +47,7 @@ describe Chef::Provider::Service::Aix do
47
47
  describe "determine current status" do
48
48
  context "when the service is active" do
49
49
  before do
50
- @status = double("Status", :exitstatus => 0, :stdout => "chef chef 12345 active\n")
50
+ @status = double("Status", exitstatus: 0, stdout: "chef chef 12345 active\n")
51
51
  end
52
52
 
53
53
  it "current resource is running" do
@@ -61,7 +61,7 @@ describe Chef::Provider::Service::Aix do
61
61
 
62
62
  context "when the service is inoperative" do
63
63
  before do
64
- @status = double("Status", :exitstatus => 0, :stdout => "chef chef inoperative\n")
64
+ @status = double("Status", exitstatus: 0, stdout: "chef chef inoperative\n")
65
65
  end
66
66
 
67
67
  it "current resource is not running" do
@@ -75,7 +75,7 @@ describe Chef::Provider::Service::Aix do
75
75
 
76
76
  context "when there is no such service" do
77
77
  before do
78
- @status = double("Status", :exitstatus => 1, :stdout => "0513-085 The chef Subsystem is not on file.\n")
78
+ @status = double("Status", exitstatus: 1, stdout: "0513-085 The chef Subsystem is not on file.\n")
79
79
  end
80
80
  it "current resource is not running" do
81
81
  expect(@provider).to receive(:shell_out!).with("lssrc -s chef").and_return(@status)
@@ -90,7 +90,7 @@ describe Chef::Provider::Service::Aix do
90
90
  describe "is resource group" do
91
91
  context "when there are multiple subsystems associated with group" do
92
92
  before do
93
- @status = double("Status", :exitstatus => 0, :stdout => "chef1 chef 12345 active\nchef2 chef 12334 active\nchef3 chef inoperative")
93
+ @status = double("Status", exitstatus: 0, stdout: "chef1 chef 12345 active\nchef2 chef 12334 active\nchef3 chef inoperative")
94
94
  end
95
95
 
96
96
  it "service is a group" do
@@ -102,7 +102,7 @@ describe Chef::Provider::Service::Aix do
102
102
 
103
103
  context "when there is a single subsystem in the group" do
104
104
  before do
105
- @status = double("Status", :exitstatus => 0, :stdout => "chef1 chef inoperative\n")
105
+ @status = double("Status", exitstatus: 0, stdout: "chef1 chef inoperative\n")
106
106
  end
107
107
 
108
108
  it "service is a group" do
@@ -114,8 +114,8 @@ describe Chef::Provider::Service::Aix do
114
114
 
115
115
  context "when the service is a subsystem" do
116
116
  before do
117
- @group_status = double("Status", :exitstatus => 1, :stdout => "0513-086 The chef Group is not on file.\n")
118
- @service_status = double("Status", :exitstatus => 0, :stdout => "chef chef inoperative\n")
117
+ @group_status = double("Status", exitstatus: 1, stdout: "0513-086 The chef Group is not on file.\n")
118
+ @service_status = double("Status", exitstatus: 0, stdout: "chef chef inoperative\n")
119
119
  end
120
120
 
121
121
  it "service is a subsystem" do
@@ -21,7 +21,7 @@ require "spec_helper"
21
21
  describe Chef::Provider::Service::AixInit do
22
22
  before(:each) do
23
23
  @node = Chef::Node.new
24
- @node.automatic_attrs[:command] = { :ps => "fuuuu" }
24
+ @node.automatic_attrs[:command] = { ps: "fuuuu" }
25
25
  @events = Chef::EventDispatch::Dispatcher.new
26
26
  @run_context = Chef::RunContext.new(@node, {}, @events)
27
27
 
@@ -209,7 +209,7 @@ describe Chef::Provider::Service::AixInit do
209
209
  before do
210
210
  @files = ["/etc/rc.d/rc2.d/S20apache", "/etc/rc.d/rc2.d/K80apache"]
211
211
  # FIXME: this is clearly buggy the duplicated keys do not work
212
- #@priority = {2 => [:start, 20], 2 => [:stop, 80]}
212
+ # @priority = {2 => [:start, 20], 2 => [:stop, 80]}
213
213
  @priority = { 2 => [:stop, 80] }
214
214
 
215
215
  allow(Dir).to receive(:glob).with(["/etc/rc.d/rc2.d/[SK][0-9][0-9]#{@new_resource.service_name}", "/etc/rc.d/rc2.d/[SK]chef"]).and_return(@files)
@@ -256,7 +256,7 @@ describe Chef::Provider::Service::AixInit do
256
256
  before do
257
257
  files = ["/etc/rc.d/rc2.d/Sapache", "/etc/rc.d/rc2.d/Kapache"]
258
258
  # FIXME: this is clearly buggy the duplicated keys do not work
259
- #@priority = {2 => [:start, ''], 2 => [:stop, '']}
259
+ # @priority = {2 => [:start, ''], 2 => [:stop, '']}
260
260
  @priority = { 2 => [:stop, ""] }
261
261
 
262
262
  allow(Dir).to receive(:glob).with(["/etc/rc.d/rc2.d/[SK][0-9][0-9]#{@new_resource.service_name}", "/etc/rc.d/rc2.d/[SK]#{@new_resource.service_name}"]).and_return(files)
@@ -26,14 +26,14 @@ require "ostruct"
26
26
  describe Chef::Provider::Service::Arch, "load_current_resource" do
27
27
  before(:each) do
28
28
  @node = Chef::Node.new
29
- @node.automatic_attrs[:command] = { :ps => "ps -ef" }
29
+ @node.automatic_attrs[:command] = { ps: "ps -ef" }
30
30
 
31
31
  @events = Chef::EventDispatch::Dispatcher.new
32
32
  @run_context = Chef::RunContext.new(@node, {}, @events)
33
33
 
34
34
  @new_resource = Chef::Resource::Service.new("chef")
35
35
  @new_resource.pattern("chef")
36
- @new_resource.supports({ :status => false })
36
+ @new_resource.supports({ status: false })
37
37
 
38
38
  @provider = Chef::Provider::Service::Arch.new(@new_resource, @run_context)
39
39
 
@@ -43,7 +43,7 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
43
43
 
44
44
  describe "when first created" do
45
45
  it "should set the current resources service name to the new resources service name" do
46
- allow(@provider).to receive(:shell_out).and_return(OpenStruct.new(:exitstatus => 0, :stdout => ""))
46
+ allow(@provider).to receive(:shell_out).and_return(OpenStruct.new(exitstatus: 0, stdout: ""))
47
47
  @provider.load_current_resource
48
48
  expect(@provider.current_resource.service_name).to eq("chef")
49
49
  end
@@ -51,22 +51,22 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
51
51
 
52
52
  describe "when the service supports status" do
53
53
  before do
54
- @new_resource.supports({ :status => true })
54
+ @new_resource.supports({ status: true })
55
55
  end
56
56
 
57
57
  it "should run '/etc/rc.d/service_name status'" do
58
- expect(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
58
+ expect(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(exitstatus: 0))
59
59
  @provider.load_current_resource
60
60
  end
61
61
 
62
62
  it "should set running to true if the status command returns 0" do
63
- allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
63
+ allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(exitstatus: 0))
64
64
  @provider.load_current_resource
65
65
  expect(@provider.current_resource.running).to be_truthy
66
66
  end
67
67
 
68
68
  it "should set running to false if the status command returns anything except 0" do
69
- allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 1))
69
+ allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(exitstatus: 1))
70
70
  @provider.load_current_resource
71
71
  expect(@provider.current_resource.running).to be_falsey
72
72
  end
@@ -85,21 +85,21 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
85
85
  end
86
86
 
87
87
  it "should run the services status command if one has been specified" do
88
- expect(@provider).to receive(:shell_out).with("/etc/rc.d/chefhasmonkeypants status").and_return(OpenStruct.new(:exitstatus => 0))
88
+ expect(@provider).to receive(:shell_out).with("/etc/rc.d/chefhasmonkeypants status").and_return(OpenStruct.new(exitstatus: 0))
89
89
  @provider.load_current_resource
90
90
  end
91
91
 
92
92
  end
93
93
 
94
94
  it "should raise error if the node has a nil ps attribute and no other means to get status" do
95
- @node.automatic_attrs[:command] = { :ps => nil }
95
+ @node.automatic_attrs[:command] = { ps: nil }
96
96
  @provider.define_resource_requirements
97
97
  @provider.action = :start
98
98
  expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
99
99
  end
100
100
 
101
101
  it "should raise error if the node has an empty ps attribute and no other means to get status" do
102
- @node.automatic_attrs[:command] = { :ps => "" }
102
+ @node.automatic_attrs[:command] = { ps: "" }
103
103
  @provider.define_resource_requirements
104
104
  @provider.action = :start
105
105
  expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
@@ -117,21 +117,21 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
117
117
 
118
118
  describe "when discovering service status with ps" do
119
119
  before do
120
- @stdout = StringIO.new(<<-DEFAULT_PS)
121
- aj 7842 5057 0 21:26 pts/2 00:00:06 vi init.rb
122
- aj 7903 5016 0 21:26 pts/5 00:00:00 /bin/bash
123
- aj 8119 6041 0 21:34 pts/3 00:00:03 vi init_service_spec.rb
120
+ @stdout = StringIO.new(<<~DEFAULT_PS)
121
+ aj 7842 5057 0 21:26 pts/2 00:00:06 vi init.rb
122
+ aj 7903 5016 0 21:26 pts/5 00:00:00 /bin/bash
123
+ aj 8119 6041 0 21:34 pts/3 00:00:03 vi init_service_spec.rb
124
124
  DEFAULT_PS
125
- @status = double("Status", :exitstatus => 0, :stdout => @stdout)
125
+ @status = double("Status", exitstatus: 0, stdout: @stdout)
126
126
  allow(@provider).to receive(:shell_out!).and_return(@status)
127
127
 
128
- @node.automatic_attrs[:command] = { :ps => "ps -ef" }
128
+ @node.automatic_attrs[:command] = { ps: "ps -ef" }
129
129
  end
130
130
 
131
131
  it "determines the service is running when it appears in ps" do
132
- @stdout = StringIO.new(<<-RUNNING_PS)
133
- aj 7842 5057 0 21:26 pts/2 00:00:06 chef
134
- aj 7842 5057 0 21:26 pts/2 00:00:06 poos
132
+ @stdout = StringIO.new(<<~RUNNING_PS)
133
+ aj 7842 5057 0 21:26 pts/2 00:00:06 chef
134
+ aj 7842 5057 0 21:26 pts/2 00:00:06 poos
135
135
  RUNNING_PS
136
136
  allow(@status).to receive(:stdout).and_return(@stdout)
137
137
  @provider.load_current_resource
@@ -274,7 +274,7 @@ RUNNING_PS
274
274
  # end
275
275
 
276
276
  it "should call 'restart' on the service_name if the resource supports it" do
277
- @new_resource.supports({ :restart => true })
277
+ @new_resource.supports({ restart: true })
278
278
  expect(@provider).to receive(:shell_out!).with("/etc/rc.d/#{@new_resource.service_name} restart", default_env: false)
279
279
  @provider.restart_service()
280
280
  end
@@ -309,7 +309,7 @@ RUNNING_PS
309
309
  # end
310
310
 
311
311
  it "should call 'reload' on the service if it supports it" do
312
- @new_resource.supports({ :reload => true })
312
+ @new_resource.supports({ reload: true })
313
313
  expect(@provider).to receive(:shell_out!).with("/etc/rc.d/#{@new_resource.service_name} reload", default_env: false)
314
314
  @provider.reload_service()
315
315
  end
@@ -21,7 +21,7 @@ require "spec_helper"
21
21
  describe Chef::Provider::Service::Debian do
22
22
  before(:each) do
23
23
  @node = Chef::Node.new
24
- @node.automatic_attrs[:command] = { :ps => "fuuuu" }
24
+ @node.automatic_attrs[:command] = { ps: "fuuuu" }
25
25
  @events = Chef::EventDispatch::Dispatcher.new
26
26
  @run_context = Chef::RunContext.new(@node, {}, @events)
27
27
 
@@ -88,7 +88,7 @@ describe Chef::Provider::Service::Debian do
88
88
  "5" => [:start, "20"],
89
89
  "0" => [:stop, "20"],
90
90
  "1" => [:stop, "20"],
91
- "6" => [:stop, "20"]
91
+ "6" => [:stop, "20"],
92
92
  })
93
93
  end
94
94
  end
@@ -27,14 +27,14 @@ end
27
27
  describe Chef::Provider::Service::Freebsd do
28
28
  let(:node) do
29
29
  node = Chef::Node.new
30
- node.automatic_attrs[:command] = { :ps => "ps -ax" }
30
+ node.automatic_attrs[:command] = { ps: "ps -ax" }
31
31
  node
32
32
  end
33
33
 
34
34
  let(:new_resource) do
35
35
  new_resource = Chef::Resource::Service.new("apache22")
36
36
  new_resource.pattern("httpd")
37
- new_resource.supports({ :status => false })
37
+ new_resource.supports({ status: false })
38
38
  new_resource
39
39
  end
40
40
 
@@ -99,7 +99,7 @@ describe Chef::Provider::Service::Freebsd do
99
99
  end
100
100
 
101
101
  context "when a status command has been specified" do
102
- let(:status) { double(:stdout => "", :exitstatus => 0) }
102
+ let(:status) { double(stdout: "", exitstatus: 0) }
103
103
 
104
104
  before do
105
105
  new_resource.status_command("/bin/chefhasmonkeypants status")
@@ -112,10 +112,10 @@ describe Chef::Provider::Service::Freebsd do
112
112
  end
113
113
 
114
114
  context "when the service supports status" do
115
- let(:status) { double(:stdout => "", :exitstatus => 0) }
115
+ let(:status) { double(stdout: "", exitstatus: 0) }
116
116
 
117
117
  before do
118
- new_resource.supports({ :status => true })
118
+ new_resource.supports({ status: true })
119
119
  end
120
120
 
121
121
  it "should run '/etc/init.d/service_name status'" do
@@ -138,16 +138,16 @@ describe Chef::Provider::Service::Freebsd do
138
138
 
139
139
  context "when we have a 'ps' attribute" do
140
140
  let(:stdout) do
141
- StringIO.new(<<-PS_SAMPLE)
142
- 413 ?? Ss 0:02.51 /usr/sbin/syslogd -s
143
- 539 ?? Is 0:00.14 /usr/sbin/sshd
144
- 545 ?? Ss 0:17.53 sendmail: accepting connections (sendmail)
141
+ StringIO.new(<<~PS_SAMPLE)
142
+ 413 ?? Ss 0:02.51 /usr/sbin/syslogd -s
143
+ 539 ?? Is 0:00.14 /usr/sbin/sshd
144
+ 545 ?? Ss 0:17.53 sendmail: accepting connections (sendmail)
145
145
  PS_SAMPLE
146
146
  end
147
- let(:status) { double(:stdout => stdout, :exitstatus => 0) }
147
+ let(:status) { double(stdout: stdout, exitstatus: 0) }
148
148
 
149
149
  before do
150
- node.automatic_attrs[:command] = { :ps => "ps -ax" }
150
+ node.automatic_attrs[:command] = { ps: "ps -ax" }
151
151
  end
152
152
 
153
153
  it "should shell_out! the node's ps command" do
@@ -163,9 +163,9 @@ PS_SAMPLE
163
163
 
164
164
  context "when the regex matches the output" do
165
165
  let(:stdout) do
166
- StringIO.new(<<-PS_SAMPLE)
167
- 555 ?? Ss 0:05.16 /usr/sbin/cron -s
168
- 9881 ?? Ss 0:06.67 /usr/local/sbin/httpd -DNOHTTPACCEPT
166
+ StringIO.new(<<~PS_SAMPLE)
167
+ 555 ?? Ss 0:05.16 /usr/sbin/cron -s
168
+ 9881 ?? Ss 0:06.67 /usr/local/sbin/httpd -DNOHTTPACCEPT
169
169
  PS_SAMPLE
170
170
  end
171
171
 
@@ -191,7 +191,7 @@ PS_SAMPLE
191
191
 
192
192
  context "when ps is empty string" do
193
193
  before do
194
- node.automatic_attrs[:command] = { :ps => "" }
194
+ node.automatic_attrs[:command] = { ps: "" }
195
195
  end
196
196
 
197
197
  it "should set running to nil" do
@@ -341,9 +341,9 @@ PS_SAMPLE
341
341
 
342
342
  context "when the rc script has a 'name' variable" do
343
343
  let(:rcscript) do
344
- StringIO.new(<<-EOF)
345
- name="#{new_resource.service_name}"
346
- rcvar=`set_rcvar`
344
+ StringIO.new(<<~EOF)
345
+ name="#{new_resource.service_name}"
346
+ rcvar=`set_rcvar`
347
347
  EOF
348
348
  end
349
349
 
@@ -363,23 +363,23 @@ EOF
363
363
 
364
364
  describe "when the rcscript does not have a name variable" do
365
365
  let(:rcscript) do
366
- StringIO.new <<-EOF
367
- rcvar=`set_rcvar`
366
+ StringIO.new <<~EOF
367
+ rcvar=`set_rcvar`
368
368
  EOF
369
369
  end
370
370
 
371
371
  before do
372
- status = double(:stdout => rcvar_stdout, :exitstatus => 0)
372
+ status = double(stdout: rcvar_stdout, exitstatus: 0)
373
373
  allow(provider).to receive(:shell_out!).with("/usr/local/etc/rc.d/#{new_resource.service_name} rcvar").and_return(status)
374
374
  end
375
375
 
376
376
  describe "when rcvar returns foobar_enable" do
377
377
  let(:rcvar_stdout) do
378
- rcvar_stdout = <<-EOF
379
- # apache22
380
- #
381
- # #{new_resource.service_name}_enable="YES"
382
- # (default: "")
378
+ rcvar_stdout = <<~EOF
379
+ # apache22
380
+ #
381
+ # #{new_resource.service_name}_enable="YES"
382
+ # (default: "")
383
383
  EOF
384
384
  end
385
385
 
@@ -394,9 +394,9 @@ EOF
394
394
 
395
395
  describe "when rcvar does not return foobar_enable" do
396
396
  let(:rcvar_stdout) do
397
- rcvar_stdout = <<-EOF
398
- # service_with_noname
399
- #
397
+ rcvar_stdout = <<~EOF
398
+ # service_with_noname
399
+ #
400
400
  EOF
401
401
  end
402
402
 
@@ -469,7 +469,7 @@ EOF
469
469
 
470
470
  describe Chef::Provider::Service::Freebsd, "restart_service" do
471
471
  it "should call 'restart' on the service_name if the resource supports it" do
472
- new_resource.supports({ :restart => true })
472
+ new_resource.supports({ restart: true })
473
473
  expect(provider).to receive(:shell_out!).with("/usr/local/etc/rc.d/#{new_resource.service_name} fastrestart", default_env: false)
474
474
  provider.restart_service()
475
475
  end