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
@@ -210,7 +210,7 @@ class Chef
210
210
  end
211
211
 
212
212
  def resolve_source_to_version_obj
213
- shell_out_with_timeout!("rpm -qp --queryformat '%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH}\n' #{new_resource.source}").stdout.each_line do |line|
213
+ shell_out!("rpm -qp --queryformat '%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH}\n' #{new_resource.source}").stdout.each_line do |line|
214
214
  # this is another case of committing the sin of doing some lightweight mangling of RPM versions in ruby -- but the output of the rpm command
215
215
  # does not match what the yum library accepts.
216
216
  case line
@@ -260,7 +260,7 @@ class Chef
260
260
  end
261
261
 
262
262
  def yum(*args)
263
- shell_out_compact_timeout!(yum_binary, *args)
263
+ shell_out!(yum_binary, *args)
264
264
  end
265
265
 
266
266
  def safe_version_array
@@ -35,7 +35,7 @@ class Chef
35
35
  candidate_version = current_version = nil
36
36
  is_installed = false
37
37
  logger.trace("#{new_resource} checking zypper")
38
- status = shell_out_compact_timeout!("zypper", "--non-interactive", "info", package_name)
38
+ status = shell_out!("zypper", "--non-interactive", "info", package_name)
39
39
  status.stdout.each_line do |line|
40
40
  case line
41
41
  when /^Version *: (.+) *$/
@@ -86,7 +86,7 @@ class Chef
86
86
  def locked_packages
87
87
  @locked_packages ||=
88
88
  begin
89
- locked = shell_out_compact_timeout!("zypper", "locks")
89
+ locked = shell_out!("zypper", "locks")
90
90
  locked.stdout.each_line.map do |line|
91
91
  line.split("|").shift(2).last.strip
92
92
  end
@@ -144,9 +144,9 @@ class Chef
144
144
  def zypper_package(command, *options, names, versions)
145
145
  zipped_names = zip(names, versions)
146
146
  if zypper_version < 1.0
147
- shell_out_compact_timeout!("zypper", gpg_checks, command, *options, "-y", names)
147
+ shell_out!("zypper", gpg_checks, command, *options, "-y", names)
148
148
  else
149
- shell_out_compact_timeout!("zypper", "--non-interactive", gpg_checks, command, *options, zipped_names)
149
+ shell_out!("zypper", "--non-interactive", gpg_checks, command, *options, zipped_names)
150
150
  end
151
151
  end
152
152
 
@@ -85,10 +85,10 @@ class Chef
85
85
  # in that block will still trigger a syntax error which is
86
86
  # exactly what we want here -- verify the syntax without
87
87
  # actually running the script.
88
- user_code_wrapped_in_powershell_script_block = <<-EOH
89
- {
90
- #{new_resource.code}
91
- }
88
+ user_code_wrapped_in_powershell_script_block = <<~EOH
89
+ {
90
+ #{new_resource.code}
91
+ }
92
92
  EOH
93
93
  user_script_file.puts user_code_wrapped_in_powershell_script_block
94
94
 
@@ -146,75 +146,75 @@ EOH
146
146
  # executed, otherwise 0 or 1 based on whether $? is set to true
147
147
  # (success, where we return 0) or false (where we return 1).
148
148
  def wrapper_script
149
- <<-EOH
150
- # Chef Client wrapper for powershell_script resources
151
-
152
- # In rare cases, such as when PowerShell is executed
153
- # as an alternate user, the new-variable cmdlet is not
154
- # available, so import it just in case
155
- if ( get-module -ListAvailable Microsoft.PowerShell.Utility )
156
- {
157
- Import-Module Microsoft.PowerShell.Utility
158
- }
159
-
160
- # LASTEXITCODE can be uninitialized -- make it explictly 0
161
- # to avoid incorrect detection of failure (non-zero) codes
162
- $global:LASTEXITCODE = 0
163
-
164
- # Catch any exceptions -- without this, exceptions will result
165
- # In a zero return code instead of the desired non-zero code
166
- # that indicates a failure
167
- trap [Exception] {write-error ($_.Exception.Message);exit 1}
168
-
169
- # Variable state that should not be accessible to the user code
170
- new-variable -name interpolatedexitcode -visibility private -value $#{new_resource.convert_boolean_return}
171
- new-variable -name chefscriptresult -visibility private
172
-
173
- # Initialize a variable we use to capture $? inside a block
174
- $global:lastcmdlet = $null
175
-
176
- # Execute the user's code in a script block --
177
- $chefscriptresult =
178
- {
179
- #{new_resource.code}
180
-
181
- # This assignment doesn't affect the block's return value
182
- $global:lastcmdlet = $?
183
- }.invokereturnasis()
184
-
185
- # Assume failure status of 1 -- success cases
186
- # will have to override this
187
- $exitstatus = 1
188
-
189
- # If convert_boolean_return is enabled, the block's return value
190
- # gets precedence in determining our exit status
191
- if ($interpolatedexitcode -and $chefscriptresult -ne $null -and $chefscriptresult.gettype().name -eq 'boolean')
192
- {
193
- $exitstatus = [int32](!$chefscriptresult)
194
- }
195
- elseif ($lastcmdlet)
196
- {
197
- # Otherwise, a successful cmdlet execution defines the status
198
- $exitstatus = 0
199
- }
200
- elseif ( $LASTEXITCODE -ne $null -and $LASTEXITCODE -ne 0 )
201
- {
202
- # If the cmdlet status is failed, allow the Win32 status
203
- # in $LASTEXITCODE to define exit status. This handles the case
204
- # where no cmdlets, only Win32 processes have run since $?
205
- # will be set to $false whenever a Win32 process returns a non-zero
206
- # status.
207
- $exitstatus = $LASTEXITCODE
208
- }
209
-
210
- # Print STDOUT for the script execution
211
- Write-Output $chefscriptresult
212
-
213
- # If this script is launched with -File, the process exit
214
- # status of PowerShell.exe will be $exitstatus. If it was
215
- # launched with -Command, it will be 0 if $exitstatus was 0,
216
- # 1 (i.e. failed) otherwise.
217
- exit $exitstatus
149
+ <<~EOH
150
+ # Chef Client wrapper for powershell_script resources
151
+
152
+ # In rare cases, such as when PowerShell is executed
153
+ # as an alternate user, the new-variable cmdlet is not
154
+ # available, so import it just in case
155
+ if ( get-module -ListAvailable Microsoft.PowerShell.Utility )
156
+ {
157
+ Import-Module Microsoft.PowerShell.Utility
158
+ }
159
+
160
+ # LASTEXITCODE can be uninitialized -- make it explictly 0
161
+ # to avoid incorrect detection of failure (non-zero) codes
162
+ $global:LASTEXITCODE = 0
163
+
164
+ # Catch any exceptions -- without this, exceptions will result
165
+ # In a zero return code instead of the desired non-zero code
166
+ # that indicates a failure
167
+ trap [Exception] {write-error ($_.Exception.Message);exit 1}
168
+
169
+ # Variable state that should not be accessible to the user code
170
+ new-variable -name interpolatedexitcode -visibility private -value $#{new_resource.convert_boolean_return}
171
+ new-variable -name chefscriptresult -visibility private
172
+
173
+ # Initialize a variable we use to capture $? inside a block
174
+ $global:lastcmdlet = $null
175
+
176
+ # Execute the user's code in a script block --
177
+ $chefscriptresult =
178
+ {
179
+ #{new_resource.code}
180
+
181
+ # This assignment doesn't affect the block's return value
182
+ $global:lastcmdlet = $?
183
+ }.invokereturnasis()
184
+
185
+ # Assume failure status of 1 -- success cases
186
+ # will have to override this
187
+ $exitstatus = 1
188
+
189
+ # If convert_boolean_return is enabled, the block's return value
190
+ # gets precedence in determining our exit status
191
+ if ($interpolatedexitcode -and $chefscriptresult -ne $null -and $chefscriptresult.gettype().name -eq 'boolean')
192
+ {
193
+ $exitstatus = [int32](!$chefscriptresult)
194
+ }
195
+ elseif ($lastcmdlet)
196
+ {
197
+ # Otherwise, a successful cmdlet execution defines the status
198
+ $exitstatus = 0
199
+ }
200
+ elseif ( $LASTEXITCODE -ne $null -and $LASTEXITCODE -ne 0 )
201
+ {
202
+ # If the cmdlet status is failed, allow the Win32 status
203
+ # in $LASTEXITCODE to define exit status. This handles the case
204
+ # where no cmdlets, only Win32 processes have run since $?
205
+ # will be set to $false whenever a Win32 process returns a non-zero
206
+ # status.
207
+ $exitstatus = $LASTEXITCODE
208
+ }
209
+
210
+ # Print STDOUT for the script execution
211
+ Write-Output $chefscriptresult
212
+
213
+ # If this script is launched with -File, the process exit
214
+ # status of PowerShell.exe will be $exitstatus. If it was
215
+ # launched with -Command, it will be 0 if $exitstatus was 0,
216
+ # 1 (i.e. failed) otherwise.
217
+ exit $exitstatus
218
218
  EOH
219
219
  end
220
220
 
@@ -45,10 +45,10 @@ class Chef
45
45
  # @return [void]
46
46
  def request_reboot
47
47
  node.run_context.request_reboot(
48
- :delay_mins => new_resource.delay_mins,
49
- :reason => new_resource.reason,
50
- :timestamp => Time.now,
51
- :requested_by => new_resource.name
48
+ delay_mins: new_resource.delay_mins,
49
+ reason: new_resource.reason,
50
+ timestamp: Time.now,
51
+ requested_by: new_resource.name
52
52
  )
53
53
  end
54
54
 
@@ -68,7 +68,7 @@ class Chef
68
68
 
69
69
  def key_missing?(values, name)
70
70
  values.each do |v|
71
- return true unless v.has_key?(name)
71
+ return true unless v.key?(name)
72
72
  end
73
73
  false
74
74
  end
@@ -120,7 +120,7 @@ class Chef
120
120
  end
121
121
  end
122
122
  new_resource.unscrubbed_values.each do |value|
123
- if @name_hash.has_key?(value[:name].downcase)
123
+ if @name_hash.key?(value[:name].downcase)
124
124
  current_value = @name_hash[value[:name].downcase]
125
125
  if [:dword, :dword_big_endian, :qword].include? value[:type]
126
126
  value[:data] = value[:data].to_i
@@ -151,7 +151,7 @@ class Chef
151
151
  end
152
152
  end
153
153
  new_resource.unscrubbed_values.each do |value|
154
- unless @name_hash.has_key?(value[:name].downcase)
154
+ unless @name_hash.key?(value[:name].downcase)
155
155
  converge_by_value = value
156
156
  converge_by_value[:data] = "*sensitive value suppressed*" if new_resource.sensitive
157
157
 
@@ -165,7 +165,7 @@ class Chef
165
165
  def action_delete
166
166
  if registry.key_exists?(new_resource.key)
167
167
  new_resource.unscrubbed_values.each do |value|
168
- if @name_hash.has_key?(value[:name].downcase)
168
+ if @name_hash.key?(value[:name].downcase)
169
169
  converge_by_value = value
170
170
  converge_by_value[:data] = "*sensitive value suppressed*" if new_resource.sensitive
171
171
 
@@ -146,11 +146,11 @@ class Chef
146
146
 
147
147
  def load_json_data
148
148
  path = sanitized_cache_file_path(sanitized_cache_file_basename)
149
- if Chef::FileCache.has_key?(path)
149
+ if Chef::FileCache.key?(path)
150
150
  Chef::FileCache.load(path)
151
151
  else
152
152
  old_path = sanitized_cache_file_path(sanitized_cache_file_basename_md5)
153
- if Chef::FileCache.has_key?(old_path)
153
+ if Chef::FileCache.key?(old_path)
154
154
  # We found an old cache control data file. We started using sha256 instead of md5
155
155
  # to name these. Upgrade the file to the new name.
156
156
  Chef::Log.trace("Found old cache control data file at #{old_path}. Moving to #{path}.")
@@ -58,7 +58,7 @@ class Chef
58
58
 
59
59
  def sftp
60
60
  host = port ? "#{hostname}:#{port}" : hostname
61
- @sftp ||= Net::SFTP.start(host, user, :password => pass)
61
+ @sftp ||= Net::SFTP.start(host, user, password: pass)
62
62
  end
63
63
 
64
64
  def pass
@@ -31,7 +31,7 @@ class Chef
31
31
 
32
32
  attr_accessor :type
33
33
  attr_accessor :name
34
- attr_accessor :duration #ms
34
+ attr_accessor :duration # ms
35
35
  attr_accessor :status
36
36
  attr_accessor :initial_state
37
37
  attr_accessor :final_state
@@ -133,7 +133,7 @@ class Chef
133
133
  else
134
134
  command = generate_command(:add)
135
135
  converge_by("run #{command.join(' ')} to add route") do
136
- shell_out_compact!(command)
136
+ shell_out!(command)
137
137
  logger.info("#{new_resource} added")
138
138
  end
139
139
  end
@@ -146,7 +146,7 @@ class Chef
146
146
  if is_running
147
147
  command = generate_command(:delete)
148
148
  converge_by("run #{command.join(' ')} to delete route ") do
149
- shell_out_compact!(command)
149
+ shell_out!(command)
150
150
  logger.info("#{new_resource} removed")
151
151
  end
152
152
  else
@@ -31,8 +31,8 @@ class Chef
31
31
 
32
32
  attr_reader :init_command, :rc_conf, :rc_conf_local, :enabled_state_found
33
33
 
34
- RC_CONF_PATH = "/etc/rc.conf"
35
- RC_CONF_LOCAL_PATH = "/etc/rc.conf.local"
34
+ RC_CONF_PATH = "/etc/rc.conf".freeze
35
+ RC_CONF_LOCAL_PATH = "/etc/rc.conf.local".freeze
36
36
 
37
37
  def initialize(new_resource, run_context)
38
38
  super
@@ -116,7 +116,7 @@ class Chef
116
116
  old_list = rc_conf_local.match(/^pkg_scripts="(.*)"/)
117
117
  old_list = old_list ? old_list[1].split(" ") : []
118
118
  new_list = old_list - [new_resource.service_name]
119
- update_rcl rc_conf_local.sub(/^pkg_scripts="(.*)"/, pkg_scripts = "#{new_list.join(' ')}")
119
+ update_rcl rc_conf_local.sub(/^pkg_scripts="(.*)"/, pkg_scripts = (new_list.join(" ")).to_s)
120
120
  end
121
121
  end
122
122
  end
@@ -81,7 +81,7 @@ class Chef
81
81
  super
82
82
 
83
83
  if ::File.exists?("/sbin/chkconfig")
84
- chkconfig = shell_out!("/sbin/chkconfig --list #{current_resource.service_name}", :returns => [0, 1])
84
+ chkconfig = shell_out!("/sbin/chkconfig --list #{current_resource.service_name}", returns: [0, 1])
85
85
  unless run_levels.nil? || run_levels.empty?
86
86
  all_levels_match = true
87
87
  chkconfig.stdout.split(/\s+/)[1..-1].each do |level|
@@ -163,6 +163,7 @@ class Chef
163
163
  end
164
164
 
165
165
  def ps_cmd
166
+ # XXX: magic attributes are a shitty api, need something better here and deprecate this attribute
166
167
  @run_context.node[:command] && @run_context.node[:command][:ps]
167
168
  end
168
169
  end
@@ -80,7 +80,7 @@ class Chef
80
80
  end
81
81
 
82
82
  def service_status
83
- cmd = shell_out!(@status_command, "-l", @current_resource.service_name, :returns => [0, 1])
83
+ cmd = shell_out!(@status_command, "-l", @current_resource.service_name, returns: [0, 1])
84
84
  # Example output
85
85
  # $ svcs -l rsyslog
86
86
  # fmri svc:/application/rsyslog:default
@@ -79,10 +79,10 @@ class Chef::Provider::Service::Systemd < Chef::Provider::Service::Simple
79
79
  if new_resource.user
80
80
  uid = Etc.getpwnam(new_resource.user).uid
81
81
  options = {
82
- :environment => {
82
+ environment: {
83
83
  "DBUS_SESSION_BUS_ADDRESS" => "unix:path=/run/user/#{uid}/bus",
84
84
  },
85
- :user => new_resource.user,
85
+ user: new_resource.user,
86
86
  }
87
87
  args = "--user"
88
88
  else
@@ -33,23 +33,23 @@ class Chef::Provider::Service::Windows < Chef::Provider::Service
33
33
  include Chef::ReservedNames::Win32::API::Error rescue LoadError
34
34
  include Chef::Win32ServiceConstants
35
35
 
36
- #Win32::Service.get_start_type
37
- AUTO_START = "auto start"
38
- MANUAL = "demand start"
39
- DISABLED = "disabled"
40
-
41
- #Win32::Service.get_current_state
42
- RUNNING = "running"
43
- STOPPED = "stopped"
44
- CONTINUE_PENDING = "continue pending"
45
- PAUSE_PENDING = "pause pending"
46
- PAUSED = "paused"
47
- START_PENDING = "start pending"
48
- STOP_PENDING = "stop pending"
36
+ # Win32::Service.get_start_type
37
+ AUTO_START = "auto start".freeze
38
+ MANUAL = "demand start".freeze
39
+ DISABLED = "disabled".freeze
40
+
41
+ # Win32::Service.get_current_state
42
+ RUNNING = "running".freeze
43
+ STOPPED = "stopped".freeze
44
+ CONTINUE_PENDING = "continue pending".freeze
45
+ PAUSE_PENDING = "pause pending".freeze
46
+ PAUSED = "paused".freeze
47
+ START_PENDING = "start pending".freeze
48
+ STOP_PENDING = "stop pending".freeze
49
49
 
50
50
  TIMEOUT = 60
51
51
 
52
- SERVICE_RIGHT = "SeServiceLogonRight"
52
+ SERVICE_RIGHT = "SeServiceLogonRight".freeze
53
53
 
54
54
  def load_current_resource
55
55
  @current_resource = Chef::Resource::WindowsService.new(new_resource.name)
@@ -94,7 +94,7 @@ class Chef::Provider::Service::Windows < Chef::Provider::Service
94
94
  logger.info "#{@new_resource} configured with #{new_config.inspect}"
95
95
 
96
96
  # LocalSystem is the default runas user, which is a special service account that should ultimately have the rights of BUILTIN\Administrators, but we wouldn't see that from get_account_right
97
- if new_config.has_key?(:service_start_name) && new_config[:service_start_name].casecmp("localsystem") != 0
97
+ if new_config.key?(:service_start_name) && new_config[:service_start_name].casecmp("localsystem") != 0
98
98
  unless Chef::ReservedNames::Win32::Security.get_account_right(canonicalize_username(new_config[:service_start_name])).include?(SERVICE_RIGHT)
99
99
  grant_service_logon(new_config[:service_start_name])
100
100
  end
@@ -361,8 +361,8 @@ class Chef::Provider::Service::Windows < Chef::Provider::Service
361
361
 
362
362
  logger.trace "#{@new_resource.name} setting start_type to #{type}"
363
363
  Win32::Service.configure(
364
- :service_name => @new_resource.service_name,
365
- :start_type => startup_type
364
+ service_name: @new_resource.service_name,
365
+ start_type: startup_type
366
366
  )
367
367
  @new_resource.updated_by_last_action(true)
368
368
  end
@@ -16,7 +16,7 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- #TODO subversion and git should both extend from a base SCM provider.
19
+ # TODO subversion and git should both extend from a base SCM provider.
20
20
 
21
21
  require "chef/log"
22
22
  require "chef/provider"
@@ -126,7 +126,7 @@ class Chef
126
126
  new_resource.revision
127
127
  else
128
128
  command = scm(:info, new_resource.repository, new_resource.svn_info_args, authentication, "-r#{new_resource.revision}")
129
- svn_info = shell_out!(command, run_options(:cwd => cwd, :returns => [0, 1])).stdout
129
+ svn_info = shell_out!(command, run_options(cwd: cwd, returns: [0, 1])).stdout
130
130
 
131
131
  extract_revision_info(svn_info)
132
132
  end
@@ -138,7 +138,7 @@ class Chef
138
138
  def find_current_revision
139
139
  return nil unless ::File.exist?(::File.join(new_resource.destination, ".svn"))
140
140
  command = scm(:info)
141
- svn_info = shell_out!(command, run_options(:cwd => cwd, :returns => [0, 1])).stdout
141
+ svn_info = shell_out!(command, run_options(cwd: cwd, returns: [0, 1])).stdout
142
142
 
143
143
  extract_revision_info(svn_info)
144
144
  end