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
@@ -106,7 +106,7 @@ describe Chef::Resource::Execute do
106
106
 
107
107
  it "guard adds additional values in its :environment and runs" do
108
108
  resource.only_if %{ruby -e 'exit 1 if ENV["SGCE_SECRET"] != "regularsecret"'}, {
109
- :environment => { "SGCE_SECRET" => "regularsecret" },
109
+ environment: { "SGCE_SECRET" => "regularsecret" },
110
110
  }
111
111
  resource.run_action(:run)
112
112
  expect(resource).to be_updated_by_last_action
@@ -114,7 +114,7 @@ describe Chef::Resource::Execute do
114
114
 
115
115
  it "guard adds additional values in its :environment and does not run" do
116
116
  resource.only_if %{ruby -e 'exit 1 if ENV["SGCE_SECRET"] == "regularsecret"'}, {
117
- :environment => { "SGCE_SECRET" => "regularsecret" },
117
+ environment: { "SGCE_SECRET" => "regularsecret" },
118
118
  }
119
119
  resource.run_action(:run)
120
120
  expect(resource).not_to be_updated_by_last_action
@@ -122,7 +122,7 @@ describe Chef::Resource::Execute do
122
122
 
123
123
  it "guard overwrites value with its :environment and runs" do
124
124
  resource.only_if %{ruby -e 'exit 1 if ENV["SAWS_SECRET"] != "regularsecret"'}, {
125
- :environment => { "SAWS_SECRET" => "regularsecret" },
125
+ environment: { "SAWS_SECRET" => "regularsecret" },
126
126
  }
127
127
  resource.run_action(:run)
128
128
  expect(resource).to be_updated_by_last_action
@@ -130,7 +130,7 @@ describe Chef::Resource::Execute do
130
130
 
131
131
  it "guard overwrites value with its :environment and does not runs" do
132
132
  resource.only_if %{ruby -e 'exit 1 if ENV["SAWS_SECRET"] == "regularsecret"'}, {
133
- :environment => { "SAWS_SECRET" => "regularsecret" },
133
+ environment: { "SAWS_SECRET" => "regularsecret" },
134
134
  }
135
135
  resource.run_action(:run)
136
136
  expect(resource).not_to be_updated_by_last_action
@@ -51,7 +51,7 @@ describe Chef::Resource::File do
51
51
  end
52
52
 
53
53
  let(:resource_with_relative_path) do
54
- create_resource(:use_relative_path => true)
54
+ create_resource(use_relative_path: true)
55
55
  end
56
56
 
57
57
  let(:unmanaged_content) do
@@ -22,7 +22,7 @@ require "tmpdir"
22
22
  require "shellwords"
23
23
 
24
24
  # Deploy relies heavily on symlinks, so it doesn't work on windows.
25
- describe Chef::Resource::Git, :requires_git => true do
25
+ describe Chef::Resource::Git, requires_git: true do
26
26
  include Chef::Mixin::ShellOut
27
27
  let(:file_cache_path) { Dir.mktmpdir }
28
28
  # Some versions of git complains when the deploy directory is
@@ -65,17 +65,17 @@ describe Chef::Resource::Git, :requires_git => true do
65
65
  let(:rev_head) { "d294fbfd05aa7709ad9a9b8ef6343b17d355bf5f" }
66
66
 
67
67
  let(:git_user_config) do
68
- <<-E
69
- [user]
70
- name = frodoTbaggins
71
- email = frodo@shire.org
68
+ <<~E
69
+ [user]
70
+ name = frodoTbaggins
71
+ email = frodo@shire.org
72
72
  E
73
73
  end
74
74
 
75
75
  before(:each) do
76
76
  Chef::Log.level = :warn # silence git command live streams
77
77
  @old_file_cache_path = Chef::Config[:file_cache_path]
78
- shell_out!("git clone \"#{git_bundle_repo}\" example", :cwd => origin_repo_dir)
78
+ shell_out!("git clone \"#{git_bundle_repo}\" example", cwd: origin_repo_dir)
79
79
  File.open("#{origin_repo}/.git/config", "a+") { |f| f.print(git_user_config) }
80
80
  Chef::Config[:file_cache_path] = file_cache_path
81
81
  end
@@ -127,10 +127,10 @@ E
127
127
 
128
128
  it "checks out the revision pointed to by the tag commit, not the tag commit itself" do
129
129
  basic_git_resource.run_action(:sync)
130
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
130
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
131
131
  expect(head_rev).to eq(v1_commit)
132
132
  # also verify the tag commit itself is what we expect as an extra sanity check
133
- rev = shell_out!("git rev-parse v1.0.0", :cwd => deploy_directory, :returns => [0]).stdout.strip
133
+ rev = shell_out!("git rev-parse v1.0.0", cwd: deploy_directory, returns: [0]).stdout.strip
134
134
  expect(rev).to eq(v1_tag)
135
135
  end
136
136
 
@@ -138,7 +138,7 @@ E
138
138
  # this used to fail because we didn't resolve the annotated tag
139
139
  # properly to the pointed to commit.
140
140
  basic_git_resource.run_action(:sync)
141
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
141
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
142
142
  expect(head_rev).to eq(v1_commit)
143
143
 
144
144
  copy_git_resource.run_action(:sync)
@@ -164,14 +164,14 @@ E
164
164
  it "checks out the expected revision ed18" do
165
165
  basic_git_resource.revision rev_foo
166
166
  basic_git_resource.run_action(:sync)
167
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
167
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
168
168
  expect(head_rev).to eq(rev_foo)
169
169
  end
170
170
 
171
171
  it "doesn't update if up-to-date" do
172
172
  basic_git_resource.revision rev_foo
173
173
  basic_git_resource.run_action(:sync)
174
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
174
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
175
175
  expect(head_rev).to eq(rev_foo)
176
176
 
177
177
  copy_git_resource.revision rev_foo
@@ -182,7 +182,7 @@ E
182
182
  it "checks out the expected revision 972d" do
183
183
  basic_git_resource.revision rev_testing
184
184
  basic_git_resource.run_action(:sync)
185
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
185
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
186
186
  expect(head_rev).to eq(rev_testing)
187
187
  end
188
188
  end
@@ -197,7 +197,7 @@ E
197
197
 
198
198
  it "checks out the expected revision" do
199
199
  basic_git_resource.run_action(:sync)
200
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
200
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
201
201
  expect(head_rev).to eq(rev_head)
202
202
  end
203
203
  end
@@ -212,7 +212,7 @@ E
212
212
 
213
213
  it "checks out HEAD as the default revision" do
214
214
  basic_git_resource.run_action(:sync)
215
- head_rev = shell_out!("git rev-parse HEAD", :cwd => deploy_directory, :returns => [0]).stdout.strip
215
+ head_rev = shell_out!("git rev-parse HEAD", cwd: deploy_directory, returns: [0]).stdout.strip
216
216
  expect(head_rev).to eq(rev_head)
217
217
  end
218
218
  end
@@ -220,7 +220,7 @@ E
220
220
  context "when dealing with a repo with a degenerate tag named 'HEAD'" do
221
221
  before do
222
222
  shell_out!("git tag -m\"degenerate tag\" HEAD ed181b3419b6f489bedab282348162a110d6d3a1",
223
- :cwd => origin_repo)
223
+ cwd: origin_repo)
224
224
  end
225
225
 
226
226
  let(:basic_git_resource) do
@@ -240,16 +240,16 @@ E
240
240
  it "checks out the (master) HEAD revision and ignores the tag" do
241
241
  basic_git_resource.run_action(:sync)
242
242
  head_rev = shell_out!("git rev-parse HEAD",
243
- :cwd => deploy_directory,
244
- :returns => [0]).stdout.strip
243
+ cwd: deploy_directory,
244
+ returns: [0]).stdout.strip
245
245
  expect(head_rev).to eq(rev_head)
246
246
  end
247
247
 
248
248
  it "checks out the (master) HEAD revision when no revision is specified (ignores tag)" do
249
249
  git_resource_default_rev.run_action(:sync)
250
250
  head_rev = shell_out!("git rev-parse HEAD",
251
- :cwd => deploy_directory,
252
- :returns => [0]).stdout.strip
251
+ cwd: deploy_directory,
252
+ returns: [0]).stdout.strip
253
253
  expect(head_rev).to eq(rev_head)
254
254
  end
255
255
 
@@ -23,7 +23,7 @@ require "chef/mixin/shell_out"
23
23
  # run this test only for following platforms.
24
24
  include_flag = !(%w{amazon debian aix}.include?(ohai[:platform_family]) || (ohai[:platform_family] == "rhel" && ohai[:platform_version].to_i < 7))
25
25
 
26
- describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, :external => include_flag do
26
+ describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, external: include_flag do
27
27
  # This test does not work in travis because there is no eth0
28
28
 
29
29
  include Chef::Mixin::ShellOut
@@ -122,7 +122,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, :external => in
122
122
  end
123
123
 
124
124
  exclude_test = ohai[:platform] != "ubuntu"
125
- describe "#action_add", :external => exclude_test do
125
+ describe "#action_add", external: exclude_test do
126
126
  after do
127
127
  new_resource.run_action(:delete)
128
128
  end
@@ -134,7 +134,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, :external => in
134
134
  end
135
135
  end
136
136
 
137
- describe "#action_enable", :external => exclude_test do
137
+ describe "#action_enable", external: exclude_test do
138
138
  after do
139
139
  new_resource.run_action(:disable)
140
140
  end
@@ -145,7 +145,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, :external => in
145
145
  end
146
146
  end
147
147
 
148
- describe "#action_disable", :external => exclude_test do
148
+ describe "#action_disable", external: exclude_test do
149
149
  before do
150
150
  setup_enable_interface(new_resource)
151
151
  new_resource.run_action(:enable)
@@ -157,7 +157,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :skip_travis, :external => in
157
157
  end
158
158
  end
159
159
 
160
- describe "#action_delete", :external => exclude_test do
160
+ describe "#action_delete", external: exclude_test do
161
161
  before do
162
162
  setup_add_interface(new_resource)
163
163
  new_resource.run_action(:add)
@@ -19,7 +19,7 @@
19
19
  require "spec_helper"
20
20
 
21
21
  if windows?
22
- require "chef/win32/file" #probably need this in spec_helper
22
+ require "chef/win32/file" # probably need this in spec_helper
23
23
  require "chef/win32/security"
24
24
  end
25
25
 
@@ -24,7 +24,7 @@ require "tmpdir"
24
24
  # run this test only for following platforms.
25
25
  include_flag = !(%w{debian rhel amazon aix solaris2}.include?(ohai[:platform_family]))
26
26
 
27
- describe Chef::Resource::Mount, :requires_root, :skip_travis, :external => include_flag do
27
+ describe Chef::Resource::Mount, :requires_root, :skip_travis, external: include_flag do
28
28
  # Disabled in travis because it refuses to let us mount a ramdisk. /dev/ramX does not
29
29
  # exist even after loading the kernel module
30
30
 
@@ -161,7 +161,7 @@ describe Chef::Resource::Mount, :requires_root, :skip_travis, :external => inclu
161
161
  # don't run the remount tests on solaris2 (tmpfs does not support remount)
162
162
  # Need to make sure the platforms we've already excluded are considered:
163
163
  skip_remount = include_flag || (ohai[:platform] == "solaris2")
164
- describe "when the filesystem should be remounted and the resource supports remounting", :external => skip_remount do
164
+ describe "when the filesystem should be remounted and the resource supports remounting", external: skip_remount do
165
165
  it "should remount the filesystem if it is mounted" do
166
166
  new_resource.run_action(:mount)
167
167
  mount_should_exist(new_resource.mount_point, new_resource.device)
@@ -255,16 +255,16 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
255
255
 
256
256
  context "when dsc is supported", :windows_powershell_dsc_only do
257
257
  it "can execute LCM configuration code" do
258
- resource.code <<-EOF
259
- configuration LCM
260
- {
261
- param ($thumbprint)
262
- localconfigurationmanager
263
- {
264
- RebootNodeIfNeeded = $false
265
- ConfigurationMode = 'ApplyOnly'
266
- }
267
- }
258
+ resource.code <<~EOF
259
+ configuration LCM
260
+ {
261
+ param ($thumbprint)
262
+ localconfigurationmanager
263
+ {
264
+ RebootNodeIfNeeded = $false
265
+ ConfigurationMode = 'ApplyOnly'
266
+ }
267
+ }
268
268
  EOF
269
269
  expect { resource.run_action(:run) }.not_to raise_error
270
270
  end
@@ -474,13 +474,13 @@ configuration LCM
474
474
 
475
475
  it "evaluates a not_if block using the cwd guard parameter" do
476
476
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
477
- resource.not_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", :cwd => custom_cwd
477
+ resource.not_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", cwd: custom_cwd
478
478
  expect(resource.should_skip?(:run)).to be_truthy
479
479
  end
480
480
 
481
481
  it "evaluates an only_if block using the cwd guard parameter" do
482
482
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
483
- resource.only_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", :cwd => custom_cwd
483
+ resource.only_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", cwd: custom_cwd
484
484
  expect(resource.should_skip?(:run)).to be_falsey
485
485
  end
486
486
 
@@ -581,7 +581,7 @@ configuration LCM
581
581
  end
582
582
 
583
583
  it "raises an error when a 32-bit guard is used on Windows Nano Server", :windows_nano_only do
584
- resource.only_if "$true", :architecture => :i386
584
+ resource.only_if "$true", architecture: :i386
585
585
  expect { resource.run_action(:run) }.to raise_error(
586
586
  Chef::Exceptions::Win32ArchitectureIncorrect,
587
587
  /cannot execute script with requested architecture 'i386' on Windows Nano Server/)
@@ -22,9 +22,9 @@ describe Chef::Resource::Reboot do
22
22
 
23
23
  let(:expected) do
24
24
  {
25
- :delay_mins => 5,
26
- :requested_by => "reboot resource functional test",
27
- :reason => "reboot resource spec test",
25
+ delay_mins: 5,
26
+ requested_by: "reboot resource functional test",
27
+ reason: "reboot resource spec test",
28
28
  }
29
29
  end
30
30
 
@@ -34,13 +34,13 @@ describe Chef::Resource::RegistryKey, :unix_only do
34
34
  context "when load_current_resource is run on a non-windows node" do
35
35
  it "throws an exception because you don't have a windows registry (derp)" do
36
36
  @resource.key("HKCU\\Software\\Opscode")
37
- @resource.values([{ :name => "Color", :type => :string, :data => "Orange" }])
37
+ @resource.values([{ name: "Color", type: :string, data: "Orange" }])
38
38
  expect { @resource.run_action(:create) }.to raise_error(Chef::Exceptions::Win32NotWindows)
39
39
  end
40
40
  end
41
41
  end
42
42
 
43
- describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
43
+ describe Chef::Resource::RegistryKey, :windows_only, broken: true do
44
44
 
45
45
  # parent and key must be single keys, not paths
46
46
  let(:parent) { "Opscode" }
@@ -107,7 +107,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
107
107
  reset_registry
108
108
  end
109
109
 
110
- #Reporting setup
110
+ # Reporting setup
111
111
  before do
112
112
  @node.name("windowsbox")
113
113
 
@@ -123,7 +123,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
123
123
  @run_id = @resource_reporter.run_id
124
124
 
125
125
  @new_resource.cookbook_name = "monkey"
126
- @cookbook_version = double("Cookbook::Version", :version => "1.2.3")
126
+ @cookbook_version = double("Cookbook::Version", version: "1.2.3")
127
127
  @new_resource.cookbook_version(@cookbook_version)
128
128
  end
129
129
 
@@ -137,110 +137,110 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
137
137
  end
138
138
  it "creates registry key, value if the key is missing" do
139
139
  @new_resource.key(reg_child)
140
- @new_resource.values([{ :name => "Color", :type => :string, :data => "Orange" }])
140
+ @new_resource.values([{ name: "Color", type: :string, data: "Orange" }])
141
141
  @new_resource.run_action(:create)
142
142
 
143
143
  expect(@registry.key_exists?(reg_child)).to eq(true)
144
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
144
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :string, data: "Orange" })).to eq(true)
145
145
  end
146
146
 
147
147
  it "does not create the key if it already exists with same value, type and data" do
148
148
  @new_resource.key(reg_child)
149
- @new_resource.values([{ :name => "Color", :type => :string, :data => "Orange" }])
149
+ @new_resource.values([{ name: "Color", type: :string, data: "Orange" }])
150
150
  @new_resource.run_action(:create)
151
151
 
152
152
  expect(@registry.key_exists?(reg_child)).to eq(true)
153
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
153
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :string, data: "Orange" })).to eq(true)
154
154
  end
155
155
 
156
156
  it "does not create the key if it already exists with same value and type but datatype of data differs" do
157
157
  @new_resource.key(reg_child)
158
- @new_resource.values([{ :name => "number", :type => :dword, :data => "12345" }])
158
+ @new_resource.values([{ name: "number", type: :dword, data: "12345" }])
159
159
  @new_resource.run_action(:create)
160
160
 
161
161
  expect(@new_resource).not_to be_updated_by_last_action
162
162
  expect(@registry.key_exists?(reg_child)).to eq(true)
163
- expect(@registry.data_exists?(reg_child, { :name => "number", :type => :dword, :data => 12344 })).to eq(true)
163
+ expect(@registry.data_exists?(reg_child, { name: "number", type: :dword, data: 12344 })).to eq(true)
164
164
  end
165
165
 
166
166
  it "creates a value if it does not exist" do
167
167
  @new_resource.key(reg_child)
168
- @new_resource.values([{ :name => "Mango", :type => :string, :data => "Yellow" }])
168
+ @new_resource.values([{ name: "Mango", type: :string, data: "Yellow" }])
169
169
  @new_resource.run_action(:create)
170
170
 
171
- expect(@registry.data_exists?(reg_child, { :name => "Mango", :type => :string, :data => "Yellow" })).to eq(true)
171
+ expect(@registry.data_exists?(reg_child, { name: "Mango", type: :string, data: "Yellow" })).to eq(true)
172
172
  end
173
173
 
174
174
  it "modifies the data if the key and value exist and type matches" do
175
175
  @new_resource.key(reg_child)
176
- @new_resource.values([{ :name => "Color", :type => :string, :data => "Not just Orange - OpscodeOrange!" }])
176
+ @new_resource.values([{ name: "Color", type: :string, data: "Not just Orange - OpscodeOrange!" }])
177
177
  @new_resource.run_action(:create)
178
178
 
179
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :string, :data => "Not just Orange - OpscodeOrange!" })).to eq(true)
179
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :string, data: "Not just Orange - OpscodeOrange!" })).to eq(true)
180
180
  end
181
181
 
182
182
  it "modifys the type if the key and value exist and the type does not match" do
183
183
  @new_resource.key(reg_child)
184
- @new_resource.values([{ :name => "Color", :type => :multi_string, :data => ["Not just Orange - OpscodeOrange!"] }])
184
+ @new_resource.values([{ name: "Color", type: :multi_string, data: ["Not just Orange - OpscodeOrange!"] }])
185
185
  @new_resource.run_action(:create)
186
186
 
187
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :multi_string, :data => ["Not just Orange - OpscodeOrange!"] })).to eq(true)
187
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :multi_string, data: ["Not just Orange - OpscodeOrange!"] })).to eq(true)
188
188
  end
189
189
 
190
190
  it "creates subkey if parent exists" do
191
191
  @new_resource.key(reg_child + '\OpscodeTest')
192
- @new_resource.values([{ :name => "Chef", :type => :multi_string, :data => %w{OpscodeOrange Rules} }])
192
+ @new_resource.values([{ name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} }])
193
193
  @new_resource.recursive(false)
194
194
  @new_resource.run_action(:create)
195
195
 
196
196
  expect(@registry.key_exists?(reg_child + '\OpscodeTest')).to eq(true)
197
- expect(@registry.value_exists?(reg_child + '\OpscodeTest', { :name => "Chef", :type => :multi_string, :data => %w{OpscodeOrange Rules} })).to eq(true)
197
+ expect(@registry.value_exists?(reg_child + '\OpscodeTest', { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
198
198
  end
199
199
 
200
200
  it "raises an error if action create and parent does not exist and recursive is set to false" do
201
201
  @new_resource.key(reg_child + '\Missing1\Missing2')
202
- @new_resource.values([{ :name => "OC", :type => :string, :data => "MissingData" }])
202
+ @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
203
203
  @new_resource.recursive(false)
204
204
  expect { @new_resource.run_action(:create) }.to raise_error(Chef::Exceptions::Win32RegNoRecursive)
205
205
  end
206
206
 
207
207
  it "raises an error if action create and type key missing in values hash" do
208
208
  @new_resource.key(reg_child)
209
- @new_resource.values([{ :name => "OC", :data => "my_data" }])
209
+ @new_resource.values([{ name: "OC", data: "my_data" }])
210
210
  expect { @new_resource.run_action(:create) }.to raise_error(Chef::Exceptions::RegKeyValuesTypeMissing)
211
211
  end
212
212
 
213
213
  it "raises an error if action create and data key missing in values hash" do
214
214
  @new_resource.key(reg_child)
215
- @new_resource.values([{ :name => "OC", :type => :string }])
215
+ @new_resource.values([{ name: "OC", type: :string }])
216
216
  expect { @new_resource.run_action(:create) }.to raise_error(Chef::Exceptions::RegKeyValuesDataMissing)
217
217
  end
218
218
 
219
219
  it "raises an error if action create and only name key present in values hash" do
220
220
  @new_resource.key(reg_child)
221
- @new_resource.values([{ :name => "OC" }])
221
+ @new_resource.values([{ name: "OC" }])
222
222
  expect { @new_resource.run_action(:create) }.to raise_error(Chef::Exceptions::RegKeyValuesTypeMissing)
223
223
  end
224
224
 
225
225
  it "does not raise an error if action create and all keys are present in values hash" do
226
226
  @new_resource.key(reg_child)
227
- @new_resource.values([{ :name => "OC", :type => :string, :data => "my_data" }])
227
+ @new_resource.values([{ name: "OC", type: :string, data: "my_data" }])
228
228
  expect { @new_resource.run_action(:create) }.to_not raise_error
229
229
  end
230
230
 
231
231
  it "creates missing keys if action create and parent does not exist and recursive is set to true" do
232
232
  @new_resource.key(reg_child + '\Missing1\Missing2')
233
- @new_resource.values([{ :name => "OC", :type => :string, :data => "MissingData" }])
233
+ @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
234
234
  @new_resource.recursive(true)
235
235
  @new_resource.run_action(:create)
236
236
 
237
237
  expect(@registry.key_exists?(reg_child + '\Missing1\Missing2')).to eq(true)
238
- expect(@registry.value_exists?(reg_child + '\Missing1\Missing2', { :name => "OC", :type => :string, :data => "MissingData" })).to eq(true)
238
+ expect(@registry.value_exists?(reg_child + '\Missing1\Missing2', { name: "OC", type: :string, data: "MissingData" })).to eq(true)
239
239
  end
240
240
 
241
241
  it "creates key with multiple value as specified" do
242
242
  @new_resource.key(reg_child)
243
- @new_resource.values([{ :name => "one", :type => :string, :data => "1" }, { :name => "two", :type => :string, :data => "2" }, { :name => "three", :type => :string, :data => "3" }])
243
+ @new_resource.values([{ name: "one", type: :string, data: "1" }, { name: "two", type: :string, data: "2" }, { name: "three", type: :string, data: "3" }])
244
244
  @new_resource.recursive(true)
245
245
  @new_resource.run_action(:create)
246
246
 
@@ -259,12 +259,12 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
259
259
  end
260
260
  it "creates a key in a 32-bit registry that is not viewable in 64-bit" do
261
261
  @new_resource.key(reg_child + '\Atraxi' )
262
- @new_resource.values([{ :name => "OC", :type => :string, :data => "Data" }])
262
+ @new_resource.values([{ name: "OC", type: :string, data: "Data" }])
263
263
  @new_resource.recursive(true)
264
264
  @new_resource.architecture(:i386)
265
265
  @new_resource.run_action(:create)
266
266
  @registry.architecture = :i386
267
- expect(@registry.data_exists?(reg_child + '\Atraxi', { :name => "OC", :type => :string, :data => "Data" })).to eq(true)
267
+ expect(@registry.data_exists?(reg_child + '\Atraxi', { name: "OC", type: :string, data: "Data" })).to eq(true)
268
268
  @registry.architecture = :x86_64
269
269
  expect(@registry.key_exists?(reg_child + '\Atraxi')).to eq(false)
270
270
  end
@@ -272,7 +272,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
272
272
 
273
273
  it "prepares the reporting data for action :create" do
274
274
  @new_resource.key(reg_child + '\Ood')
275
- @new_resource.values([{ :name => "ReportingVal1", :type => :string, :data => "report1" }, { :name => "ReportingVal2", :type => :string, :data => "report2" }])
275
+ @new_resource.values([{ name: "ReportingVal1", type: :string, data: "report1" }, { name: "ReportingVal2", type: :string, data: "report2" }])
276
276
  @new_resource.recursive(true)
277
277
  @new_resource.run_action(:create)
278
278
  @report = @resource_reporter.prepare_run_data
@@ -281,8 +281,8 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
281
281
  expect(@report["resources"][0]["type"]).to eq("registry_key")
282
282
  expect(@report["resources"][0]["name"]).to eq(resource_name)
283
283
  expect(@report["resources"][0]["id"]).to eq(reg_child + '\Ood')
284
- expect(@report["resources"][0]["after"][:values]).to eq([{ :name => "ReportingVal1", :type => :string, :data => "report1" },
285
- { :name => "ReportingVal2", :type => :string, :data => "report2" }])
284
+ expect(@report["resources"][0]["after"][:values]).to eq([{ name: "ReportingVal1", type: :string, data: "report1" },
285
+ { name: "ReportingVal2", type: :string, data: "report2" }])
286
286
  expect(@report["resources"][0]["before"][:values]).to eq([])
287
287
  expect(@report["resources"][0]["result"]).to eq("create")
288
288
  expect(@report["status"]).to eq("success")
@@ -296,7 +296,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
296
296
 
297
297
  it "does not raise an exception if the keys do not exist but recursive is set to false" do
298
298
  @new_resource.key(reg_child + '\Slitheen\Raxicoricofallapatorius')
299
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
299
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
300
300
  @new_resource.recursive(false)
301
301
  @new_resource.run_action(:create) # should not raise_error
302
302
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
@@ -305,7 +305,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
305
305
 
306
306
  it "does not create key if the action is create" do
307
307
  @new_resource.key(reg_child + '\Slitheen')
308
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
308
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
309
309
  @new_resource.recursive(false)
310
310
  @new_resource.run_action(:create)
311
311
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
@@ -313,28 +313,28 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
313
313
 
314
314
  it "does not raise an exception if the action create and type key missing in values hash" do
315
315
  @new_resource.key(reg_child + '\Slitheen')
316
- @new_resource.values([{ :name => "BriskWalk", :data => "my_data" }])
316
+ @new_resource.values([{ name: "BriskWalk", data: "my_data" }])
317
317
  @new_resource.run_action(:create) # should not raise_error
318
318
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
319
319
  end
320
320
 
321
321
  it "does not raise an exception if the action create and data key missing in values hash" do
322
322
  @new_resource.key(reg_child + '\Slitheen')
323
- @new_resource.values([{ :name => "BriskWalk", :type => :string }])
323
+ @new_resource.values([{ name: "BriskWalk", type: :string }])
324
324
  @new_resource.run_action(:create) # should not raise_error
325
325
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
326
326
  end
327
327
 
328
328
  it "does not raise an exception if the action create and only name key present in values hash" do
329
329
  @new_resource.key(reg_child + '\Slitheen')
330
- @new_resource.values([{ :name => "BriskWalk" }])
330
+ @new_resource.values([{ name: "BriskWalk" }])
331
331
  @new_resource.run_action(:create) # should not raise_error
332
332
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
333
333
  end
334
334
 
335
335
  it "does not raise an exception if the action create and all keys are present in values hash" do
336
336
  @new_resource.key(reg_child + '\Slitheen')
337
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "my_data" }])
337
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "my_data" }])
338
338
  @new_resource.run_action(:create) # should not raise_error
339
339
  expect(@registry.key_exists?(reg_child + '\Slitheen')).to eq(false)
340
340
  end
@@ -348,85 +348,85 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
348
348
 
349
349
  it "creates registry key, value if the key is missing" do
350
350
  @new_resource.key(reg_child)
351
- @new_resource.values([{ :name => "Color", :type => :string, :data => "Orange" }])
351
+ @new_resource.values([{ name: "Color", type: :string, data: "Orange" }])
352
352
  @new_resource.run_action(:create_if_missing)
353
353
 
354
354
  expect(@registry.key_exists?(reg_parent)).to eq(true)
355
355
  expect(@registry.key_exists?(reg_child)).to eq(true)
356
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
356
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :string, data: "Orange" })).to eq(true)
357
357
  end
358
358
 
359
359
  it "does not create the key if it already exists with same value, type and data" do
360
360
  @new_resource.key(reg_child)
361
- @new_resource.values([{ :name => "Color", :type => :string, :data => "Orange" }])
361
+ @new_resource.values([{ name: "Color", type: :string, data: "Orange" }])
362
362
  @new_resource.run_action(:create_if_missing)
363
363
 
364
364
  expect(@registry.key_exists?(reg_child)).to eq(true)
365
- expect(@registry.data_exists?(reg_child, { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
365
+ expect(@registry.data_exists?(reg_child, { name: "Color", type: :string, data: "Orange" })).to eq(true)
366
366
  end
367
367
 
368
368
  it "creates a value if it does not exist" do
369
369
  @new_resource.key(reg_child)
370
- @new_resource.values([{ :name => "Mango", :type => :string, :data => "Yellow" }])
370
+ @new_resource.values([{ name: "Mango", type: :string, data: "Yellow" }])
371
371
  @new_resource.run_action(:create_if_missing)
372
372
 
373
- expect(@registry.data_exists?(reg_child, { :name => "Mango", :type => :string, :data => "Yellow" })).to eq(true)
373
+ expect(@registry.data_exists?(reg_child, { name: "Mango", type: :string, data: "Yellow" })).to eq(true)
374
374
  end
375
375
 
376
376
  it "creates subkey if parent exists" do
377
377
  @new_resource.key(reg_child + '\Pyrovile')
378
- @new_resource.values([{ :name => "Chef", :type => :multi_string, :data => %w{OpscodeOrange Rules} }])
378
+ @new_resource.values([{ name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} }])
379
379
  @new_resource.recursive(false)
380
380
  @new_resource.run_action(:create_if_missing)
381
381
 
382
382
  expect(@registry.key_exists?(reg_child + '\Pyrovile')).to eq(true)
383
- expect(@registry.value_exists?(reg_child + '\Pyrovile', { :name => "Chef", :type => :multi_string, :data => %w{OpscodeOrange Rules} })).to eq(true)
383
+ expect(@registry.value_exists?(reg_child + '\Pyrovile', { name: "Chef", type: :multi_string, data: %w{OpscodeOrange Rules} })).to eq(true)
384
384
  end
385
385
 
386
386
  it "raises an error if action create and parent does not exist and recursive is set to false" do
387
387
  @new_resource.key(reg_child + '\Sontaran\Sontar')
388
- @new_resource.values([{ :name => "OC", :type => :string, :data => "MissingData" }])
388
+ @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
389
389
  @new_resource.recursive(false)
390
390
  expect { @new_resource.run_action(:create_if_missing) }.to raise_error(Chef::Exceptions::Win32RegNoRecursive)
391
391
  end
392
392
 
393
393
  it "raises an error if action create_if_missing and type key missing in values hash" do
394
394
  @new_resource.key(reg_child)
395
- @new_resource.values([{ :name => "OC", :data => "my_data" }])
395
+ @new_resource.values([{ name: "OC", data: "my_data" }])
396
396
  expect { @new_resource.run_action(:create_if_missing) }.to raise_error(Chef::Exceptions::RegKeyValuesTypeMissing)
397
397
  end
398
398
 
399
399
  it "raises an error if action create_if_missing and data key missing in values hash" do
400
400
  @new_resource.key(reg_child)
401
- @new_resource.values([{ :name => "OC", :type => :string }])
401
+ @new_resource.values([{ name: "OC", type: :string }])
402
402
  expect { @new_resource.run_action(:create_if_missing) }.to raise_error(Chef::Exceptions::RegKeyValuesDataMissing)
403
403
  end
404
404
 
405
405
  it "raises an error if action create_if_missing and only name key present in values hash" do
406
406
  @new_resource.key(reg_child)
407
- @new_resource.values([{ :name => "OC" }])
407
+ @new_resource.values([{ name: "OC" }])
408
408
  expect { @new_resource.run_action(:create_if_missing) }.to raise_error(Chef::Exceptions::RegKeyValuesTypeMissing)
409
409
  end
410
410
 
411
411
  it "does not raise an error if action create_if_missing and all keys are present in values hash" do
412
412
  @new_resource.key(reg_child)
413
- @new_resource.values([{ :name => "OC", :type => :string, :data => "my_data" }])
413
+ @new_resource.values([{ name: "OC", type: :string, data: "my_data" }])
414
414
  expect { @new_resource.run_action(:create_if_missing) }.to_not raise_error
415
415
  end
416
416
 
417
417
  it "creates missing keys if action create and parent does not exist and recursive is set to true" do
418
418
  @new_resource.key(reg_child + '\Sontaran\Sontar')
419
- @new_resource.values([{ :name => "OC", :type => :string, :data => "MissingData" }])
419
+ @new_resource.values([{ name: "OC", type: :string, data: "MissingData" }])
420
420
  @new_resource.recursive(true)
421
421
  @new_resource.run_action(:create_if_missing)
422
422
 
423
423
  expect(@registry.key_exists?(reg_child + '\Sontaran\Sontar')).to eq(true)
424
- expect(@registry.value_exists?(reg_child + '\Sontaran\Sontar', { :name => "OC", :type => :string, :data => "MissingData" })).to eq(true)
424
+ expect(@registry.value_exists?(reg_child + '\Sontaran\Sontar', { name: "OC", type: :string, data: "MissingData" })).to eq(true)
425
425
  end
426
426
 
427
427
  it "creates key with multiple value as specified" do
428
428
  @new_resource.key(reg_child + '\Adipose')
429
- @new_resource.values([{ :name => "one", :type => :string, :data => "1" }, { :name => "two", :type => :string, :data => "2" }, { :name => "three", :type => :string, :data => "3" }])
429
+ @new_resource.values([{ name: "one", type: :string, data: "1" }, { name: "two", type: :string, data: "2" }, { name: "three", type: :string, data: "3" }])
430
430
  @new_resource.recursive(true)
431
431
  @new_resource.run_action(:create_if_missing)
432
432
 
@@ -437,7 +437,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
437
437
 
438
438
  it "prepares the reporting data for :create_if_missing" do
439
439
  @new_resource.key(reg_child + '\Judoon')
440
- @new_resource.values([{ :name => "ReportingVal3", :type => :string, :data => "report3" }])
440
+ @new_resource.values([{ name: "ReportingVal3", type: :string, data: "report3" }])
441
441
  @new_resource.recursive(true)
442
442
  @new_resource.run_action(:create_if_missing)
443
443
  @report = @resource_reporter.prepare_run_data
@@ -446,7 +446,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
446
446
  expect(@report["resources"][0]["type"]).to eq("registry_key")
447
447
  expect(@report["resources"][0]["name"]).to eq(resource_name)
448
448
  expect(@report["resources"][0]["id"]).to eq(reg_child + '\Judoon')
449
- expect(@report["resources"][0]["after"][:values]).to eq([{ :name => "ReportingVal3", :type => :string, :data => "report3" }])
449
+ expect(@report["resources"][0]["after"][:values]).to eq([{ name: "ReportingVal3", type: :string, data: "report3" }])
450
450
  expect(@report["resources"][0]["before"][:values]).to eq([])
451
451
  expect(@report["resources"][0]["result"]).to eq("create_if_missing")
452
452
  expect(@report["status"]).to eq("success")
@@ -460,7 +460,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
460
460
 
461
461
  it "does not raise an exception if the keys do not exist but recursive is set to false" do
462
462
  @new_resource.key(reg_child + '\Zygons\Zygor')
463
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
463
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
464
464
  @new_resource.recursive(false)
465
465
  @new_resource.run_action(:create_if_missing) # should not raise_error
466
466
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
@@ -469,7 +469,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
469
469
 
470
470
  it "does nothing if the action is create_if_missing" do
471
471
  @new_resource.key(reg_child + '\Zygons')
472
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
472
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
473
473
  @new_resource.recursive(false)
474
474
  @new_resource.run_action(:create_if_missing)
475
475
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
@@ -477,28 +477,28 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
477
477
 
478
478
  it "does not raise an exception if the action create_if_missing and type key missing in values hash" do
479
479
  @new_resource.key(reg_child + '\Zygons')
480
- @new_resource.values([{ :name => "BriskWalk", :data => "my_data" }])
480
+ @new_resource.values([{ name: "BriskWalk", data: "my_data" }])
481
481
  @new_resource.run_action(:create_if_missing) # should not raise_error
482
482
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
483
483
  end
484
484
 
485
485
  it "does not raise an exception if the action create_if_missing and data key missing in values hash" do
486
486
  @new_resource.key(reg_child + '\Zygons')
487
- @new_resource.values([{ :name => "BriskWalk", :type => :string }])
487
+ @new_resource.values([{ name: "BriskWalk", type: :string }])
488
488
  @new_resource.run_action(:create_if_missing) # should not raise_error
489
489
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
490
490
  end
491
491
 
492
492
  it "does not raise an exception if the action create_if_missing and only name key present in values hash" do
493
493
  @new_resource.key(reg_child + '\Zygons')
494
- @new_resource.values([{ :name => "BriskWalk" }])
494
+ @new_resource.values([{ name: "BriskWalk" }])
495
495
  @new_resource.run_action(:create_if_missing) # should not raise_error
496
496
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
497
497
  end
498
498
 
499
499
  it "does not raise an exception if the action create_if_missing and all keys are present in values hash" do
500
500
  @new_resource.key(reg_child + '\Zygons')
501
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "my_data" }])
501
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "my_data" }])
502
502
  @new_resource.run_action(:create_if_missing) # should not raise_error
503
503
  expect(@registry.key_exists?(reg_child + '\Zygons')).to eq(false)
504
504
  end
@@ -522,54 +522,54 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
522
522
  end
523
523
 
524
524
  it "takes no action if the key exists but the value does not" do
525
- expect(@registry.data_exists?(reg_parent + '\Opscode', { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
525
+ expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
526
526
 
527
527
  @new_resource.key(reg_parent + '\Opscode')
528
- @new_resource.values([{ :name => "LooksLike", :type => :multi_string, :data => %w{SeattleGrey OCOrange} }])
528
+ @new_resource.values([{ name: "LooksLike", type: :multi_string, data: %w{SeattleGrey OCOrange} }])
529
529
  @new_resource.recursive(false)
530
530
  @new_resource.run_action(:delete)
531
531
 
532
- expect(@registry.data_exists?(reg_parent + '\Opscode', { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
532
+ expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
533
533
  end
534
534
 
535
535
  it "deletes only specified values under a key path" do
536
536
  @new_resource.key(reg_parent + '\Opscode')
537
- @new_resource.values([{ :name => "Opscode", :type => :multi_string, :data => %w{Seattle Washington} }, { :name => "AKA", :type => :string, :data => "OC" }])
537
+ @new_resource.values([{ name: "Opscode", type: :multi_string, data: %w{Seattle Washington} }, { name: "AKA", type: :string, data: "OC" }])
538
538
  @new_resource.recursive(false)
539
539
  @new_resource.run_action(:delete)
540
540
 
541
- expect(@registry.data_exists?(reg_parent + '\Opscode', { :name => "Color", :type => :string, :data => "Orange" })).to eq(true)
542
- expect(@registry.value_exists?(reg_parent + '\Opscode', { :name => "AKA", :type => :string, :data => "OC" })).to eq(false)
543
- expect(@registry.value_exists?(reg_parent + '\Opscode', { :name => "Opscode", :type => :multi_string, :data => %w{Seattle Washington} })).to eq(false)
541
+ expect(@registry.data_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(true)
542
+ expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "AKA", type: :string, data: "OC" })).to eq(false)
543
+ expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "Opscode", type: :multi_string, data: %w{Seattle Washington} })).to eq(false)
544
544
  end
545
545
 
546
546
  it "it deletes the values with the same name irrespective of it type and data" do
547
547
  @new_resource.key(reg_parent + '\Opscode')
548
- @new_resource.values([{ :name => "Color", :type => :multi_string, :data => %w{Black Orange} }])
548
+ @new_resource.values([{ name: "Color", type: :multi_string, data: %w{Black Orange} }])
549
549
  @new_resource.recursive(false)
550
550
  @new_resource.run_action(:delete)
551
551
 
552
- expect(@registry.value_exists?(reg_parent + '\Opscode', { :name => "Color", :type => :string, :data => "Orange" })).to eq(false)
552
+ expect(@registry.value_exists?(reg_parent + '\Opscode', { name: "Color", type: :string, data: "Orange" })).to eq(false)
553
553
  end
554
554
 
555
555
  it "prepares the reporting data for action :delete" do
556
556
  @new_resource.key(reg_parent + '\ReportKey')
557
- @new_resource.values([{ :name => "ReportVal4", :type => :string, :data => "report4" }, { :name => "ReportVal5", :type => :string, :data => "report5" }])
557
+ @new_resource.values([{ name: "ReportVal4", type: :string, data: "report4" }, { name: "ReportVal5", type: :string, data: "report5" }])
558
558
  @new_resource.recursive(true)
559
559
  @new_resource.run_action(:delete)
560
560
 
561
561
  @report = @resource_reporter.prepare_run_data
562
562
 
563
- expect(@registry.value_exists?(reg_parent + '\ReportKey', [{ :name => "ReportVal4", :type => :string, :data => "report4" }, { :name => "ReportVal5", :type => :string, :data => "report5" }])).to eq(false)
563
+ expect(@registry.value_exists?(reg_parent + '\ReportKey', [{ name: "ReportVal4", type: :string, data: "report4" }, { name: "ReportVal5", type: :string, data: "report5" }])).to eq(false)
564
564
 
565
565
  expect(@report["action"]).to eq("end")
566
566
  expect(@report["resources"].count).to eq(1)
567
567
  expect(@report["resources"][0]["type"]).to eq("registry_key")
568
568
  expect(@report["resources"][0]["name"]).to eq(resource_name)
569
569
  expect(@report["resources"][0]["id"]).to eq(reg_parent + '\ReportKey')
570
- expect(@report["resources"][0]["before"][:values]).to eq([{ :name => "ReportVal4", :type => :string, :data => "report4" },
571
- { :name => "ReportVal5", :type => :string, :data => "report5" }])
572
- #Not testing for after values to match since after -> new_resource values.
570
+ expect(@report["resources"][0]["before"][:values]).to eq([{ name: "ReportVal4", type: :string, data: "report4" },
571
+ { name: "ReportVal5", type: :string, data: "report5" }])
572
+ # Not testing for after values to match since after -> new_resource values.
573
573
  expect(@report["resources"][0]["result"]).to eq("delete")
574
574
  expect(@report["status"]).to eq("success")
575
575
  expect(@report["total_res_count"]).to eq("1")
@@ -581,7 +581,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
581
581
  end
582
582
  it "does nothing if the action is delete" do
583
583
  @new_resource.key(reg_parent + '\OpscodeWhyRun')
584
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
584
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
585
585
  @new_resource.recursive(false)
586
586
  @new_resource.run_action(:delete)
587
587
 
@@ -622,7 +622,7 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
622
622
 
623
623
  it "ignores the values under a key" do
624
624
  @new_resource.key(reg_parent + '\OpscodeIgnoredValues')
625
- #@new_resource.values([{:name=>"DontExist", :type=>:string, :data=>"These will be ignored anyways"}])
625
+ # @new_resource.values([{:name=>"DontExist", :type=>:string, :data=>"These will be ignored anyways"}])
626
626
  @new_resource.recursive(true)
627
627
  @new_resource.run_action(:delete_key)
628
628
  end
@@ -645,9 +645,9 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
645
645
  expect(@report["resources"][0]["type"]).to eq("registry_key")
646
646
  expect(@report["resources"][0]["name"]).to eq(resource_name)
647
647
  expect(@report["resources"][0]["id"]).to eq(reg_parent + '\ReportKey')
648
- #Not testing for before or after values to match since
649
- #after -> new_resource.values and
650
- #before -> current_resource.values
648
+ # Not testing for before or after values to match since
649
+ # after -> new_resource.values and
650
+ # before -> current_resource.values
651
651
  expect(@report["resources"][0]["result"]).to eq("delete_key")
652
652
  expect(@report["status"]).to eq("success")
653
653
  expect(@report["total_res_count"]).to eq("1")
@@ -659,13 +659,13 @@ describe Chef::Resource::RegistryKey, :windows_only, :broken => true do
659
659
 
660
660
  it "does not throw an exception if the key has subkeys but recursive is set to false" do
661
661
  @new_resource.key(reg_parent + '\OpscodeWhyRun')
662
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
662
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
663
663
  @new_resource.recursive(false)
664
664
  @new_resource.run_action(:delete_key)
665
665
  end
666
666
  it "does nothing if the action is delete_key" do
667
667
  @new_resource.key(reg_parent + '\OpscodeWhyRun')
668
- @new_resource.values([{ :name => "BriskWalk", :type => :string, :data => "is good for health" }])
668
+ @new_resource.values([{ name: "BriskWalk", type: :string, data: "is good for health" }])
669
669
  @new_resource.recursive(false)
670
670
  @new_resource.run_action(:delete_key)
671
671