chef 14.2.0 → 14.3.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (842) 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-shell +1 -6
  10. data/bin/chef-solo +1 -2
  11. data/bin/knife +1 -2
  12. data/chef-universal-mingw32.gemspec +2 -2
  13. data/chef.gemspec +1 -1
  14. data/distro/ruby_bin_folder/Chef.PowerShell.Wrapper.dll +0 -0
  15. data/distro/ruby_bin_folder/Chef.PowerShell.dll +0 -0
  16. data/distro/{powershell/chef → ruby_bin_folder}/Newtonsoft.Json.dll +0 -0
  17. data/lib/chef/api_client.rb +10 -10
  18. data/lib/chef/api_client/registration.rb +5 -5
  19. data/lib/chef/api_client_v1.rb +15 -15
  20. data/lib/chef/application.rb +1 -1
  21. data/lib/chef/application/apply.rb +56 -56
  22. data/lib/chef/application/client.rb +169 -170
  23. data/lib/chef/application/exit_code.rb +2 -2
  24. data/lib/chef/application/knife.rb +79 -78
  25. data/lib/chef/application/solo.rb +120 -120
  26. data/lib/chef/application/windows_service.rb +21 -21
  27. data/lib/chef/application/windows_service_manager.rb +39 -39
  28. data/lib/chef/audit/audit_event_proxy.rb +6 -6
  29. data/lib/chef/audit/audit_reporter.rb +2 -2
  30. data/lib/chef/audit/control_group_data.rb +15 -15
  31. data/lib/chef/audit/runner.rb +1 -1
  32. data/lib/chef/chef_class.rb +16 -8
  33. data/lib/chef/chef_fs/chef_fs_data_store.rb +8 -8
  34. data/lib/chef/chef_fs/config.rb +2 -2
  35. data/lib/chef/chef_fs/file_system/chef_server/acl_entry.rb +1 -1
  36. data/lib/chef/chef_fs/file_system/chef_server/acls_dir.rb +1 -1
  37. data/lib/chef/chef_fs/file_system/chef_server/chef_server_root_dir.rb +2 -2
  38. data/lib/chef/chef_fs/file_system/chef_server/cookbooks_dir.rb +1 -1
  39. data/lib/chef/chef_fs/file_system/chef_server/organization_invites_entry.rb +1 -1
  40. data/lib/chef/chef_fs/file_system/chef_server/organization_members_entry.rb +1 -1
  41. data/lib/chef/chef_fs/file_system/chef_server/rest_list_entry.rb +1 -1
  42. data/lib/chef/chef_fs/file_system/chef_server/versioned_cookbooks_dir.rb +1 -1
  43. data/lib/chef/chef_fs/file_system/repository/acls_dir.rb +1 -1
  44. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_dir.rb +1 -1
  45. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_cookbook_entry.rb +3 -3
  46. data/lib/chef/chef_fs/file_system/repository/chef_repository_file_system_root_dir.rb +2 -2
  47. data/lib/chef/chef_fs/file_system/repository/directory.rb +3 -3
  48. data/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +3 -3
  49. data/lib/chef/chef_fs/knife.rb +6 -6
  50. data/lib/chef/chef_fs/parallelizer.rb +1 -1
  51. data/lib/chef/client.rb +3 -0
  52. data/lib/chef/cookbook/cookbook_version_loader.rb +1 -1
  53. data/lib/chef/cookbook/file_system_file_vendor.rb +1 -1
  54. data/lib/chef/cookbook/manifest_v0.rb +1 -1
  55. data/lib/chef/cookbook/metadata.rb +61 -61
  56. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  57. data/lib/chef/cookbook/synchronizer.rb +2 -2
  58. data/lib/chef/cookbook_loader.rb +3 -3
  59. data/lib/chef/cookbook_manifest.rb +5 -5
  60. data/lib/chef/cookbook_site_streaming_uploader.rb +5 -5
  61. data/lib/chef/cookbook_uploader.rb +2 -2
  62. data/lib/chef/cookbook_version.rb +2 -2
  63. data/lib/chef/data_bag.rb +3 -3
  64. data/lib/chef/data_bag_item.rb +2 -2
  65. data/lib/chef/deprecated.rb +110 -176
  66. data/lib/chef/dsl/audit.rb +1 -1
  67. data/lib/chef/dsl/definitions.rb +1 -1
  68. data/lib/chef/dsl/platform_introspection.rb +5 -0
  69. data/lib/chef/dsl/reboot_pending.rb +1 -1
  70. data/lib/chef/encrypted_data_bag_item.rb +2 -2
  71. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +1 -1
  72. data/lib/chef/encrypted_data_bag_item/encryptor.rb +1 -1
  73. data/lib/chef/environment.rb +10 -10
  74. data/lib/chef/event_loggers/windows_eventlog.rb +21 -21
  75. data/lib/chef/exceptions.rb +3 -3
  76. data/lib/chef/file_cache.rb +18 -16
  77. data/lib/chef/formatters/base.rb +9 -10
  78. data/lib/chef/formatters/doc.rb +12 -16
  79. data/lib/chef/formatters/error_inspectors/api_error_formatting.rb +51 -51
  80. data/lib/chef/formatters/error_inspectors/cookbook_resolve_error_inspector.rb +10 -10
  81. data/lib/chef/formatters/error_inspectors/node_load_error_inspector.rb +13 -13
  82. data/lib/chef/formatters/error_inspectors/registration_error_inspector.rb +39 -39
  83. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +1 -1
  84. data/lib/chef/formatters/error_inspectors/run_list_expansion_error_inspector.rb +16 -16
  85. data/lib/chef/formatters/indentable_output_stream.rb +4 -4
  86. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -3
  87. data/lib/chef/handler/json_file.rb +1 -1
  88. data/lib/chef/http/auth_credentials.rb +2 -2
  89. data/lib/chef/http/authenticator.rb +6 -6
  90. data/lib/chef/http/cookie_manager.rb +1 -1
  91. data/lib/chef/http/http_request.rb +3 -3
  92. data/lib/chef/http/json_input.rb +1 -1
  93. data/lib/chef/http/json_to_model_output.rb +1 -1
  94. data/lib/chef/http/socketless_chef_zero_client.rb +1 -1
  95. data/lib/chef/json_compat.rb +1 -1
  96. data/lib/chef/key.rb +9 -9
  97. data/lib/chef/knife.rb +5 -5
  98. data/lib/chef/knife/bootstrap.rb +116 -116
  99. data/lib/chef/knife/bootstrap/client_builder.rb +1 -1
  100. data/lib/chef/knife/client_bulk_delete.rb +3 -3
  101. data/lib/chef/knife/client_create.rb +17 -17
  102. data/lib/chef/knife/client_delete.rb +3 -3
  103. data/lib/chef/knife/client_list.rb +3 -3
  104. data/lib/chef/knife/client_reregister.rb +3 -3
  105. data/lib/chef/knife/config_get.rb +126 -0
  106. data/lib/chef/knife/configure.rb +25 -25
  107. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  108. data/lib/chef/knife/cookbook_delete.rb +2 -2
  109. data/lib/chef/knife/cookbook_download.rb +11 -11
  110. data/lib/chef/knife/cookbook_list.rb +6 -6
  111. data/lib/chef/knife/cookbook_metadata.rb +7 -8
  112. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -1
  113. data/lib/chef/knife/cookbook_show.rb +16 -16
  114. data/lib/chef/knife/cookbook_site_download.rb +11 -10
  115. data/lib/chef/knife/cookbook_site_install.rb +24 -24
  116. data/lib/chef/knife/cookbook_site_list.rb +8 -8
  117. data/lib/chef/knife/cookbook_site_search.rb +6 -5
  118. data/lib/chef/knife/cookbook_site_share.rb +20 -19
  119. data/lib/chef/knife/cookbook_site_show.rb +6 -5
  120. data/lib/chef/knife/cookbook_site_unshare.rb +5 -5
  121. data/lib/chef/knife/cookbook_test.rb +8 -8
  122. data/lib/chef/knife/cookbook_upload.rb +32 -32
  123. data/lib/chef/knife/core/bootstrap_context.rb +7 -7
  124. data/lib/chef/knife/core/cookbook_scm_repo.rb +1 -1
  125. data/lib/chef/knife/core/generic_presenter.rb +7 -7
  126. data/lib/chef/knife/core/hashed_command_loader.rb +1 -1
  127. data/lib/chef/knife/core/node_presenter.rb +37 -37
  128. data/lib/chef/knife/core/status_presenter.rb +11 -11
  129. data/lib/chef/knife/data_bag_from_file.rb +4 -4
  130. data/lib/chef/knife/data_bag_list.rb +3 -3
  131. data/lib/chef/knife/data_bag_secret_options.rb +13 -13
  132. data/lib/chef/knife/delete.rb +29 -13
  133. data/lib/chef/knife/deps.rb +25 -9
  134. data/lib/chef/knife/diff.rb +30 -14
  135. data/lib/chef/knife/download.rb +39 -23
  136. data/lib/chef/knife/edit.rb +19 -3
  137. data/lib/chef/knife/environment_compare.rb +8 -8
  138. data/lib/chef/knife/environment_create.rb +3 -3
  139. data/lib/chef/knife/environment_from_file.rb +5 -3
  140. data/lib/chef/knife/environment_list.rb +3 -3
  141. data/lib/chef/knife/exec.rb +7 -7
  142. data/lib/chef/knife/key_create.rb +4 -4
  143. data/lib/chef/knife/key_create_base.rb +12 -12
  144. data/lib/chef/knife/key_edit.rb +5 -5
  145. data/lib/chef/knife/key_edit_base.rb +15 -15
  146. data/lib/chef/knife/key_list.rb +3 -3
  147. data/lib/chef/knife/key_list_base.rb +9 -9
  148. data/lib/chef/knife/list.rb +35 -19
  149. data/lib/chef/knife/node_edit.rb +4 -4
  150. data/lib/chef/knife/node_list.rb +3 -3
  151. data/lib/chef/knife/node_run_list_add.rb +6 -6
  152. data/lib/chef/knife/node_show.rb +6 -6
  153. data/lib/chef/knife/osc_user_create.rb +13 -13
  154. data/lib/chef/knife/osc_user_list.rb +3 -3
  155. data/lib/chef/knife/osc_user_reregister.rb +3 -3
  156. data/lib/chef/knife/raw.rb +32 -16
  157. data/lib/chef/knife/role_create.rb +3 -3
  158. data/lib/chef/knife/role_env_run_list_add.rb +4 -3
  159. data/lib/chef/knife/role_env_run_list_remove.rb +2 -2
  160. data/lib/chef/knife/role_env_run_list_replace.rb +1 -0
  161. data/lib/chef/knife/role_list.rb +3 -3
  162. data/lib/chef/knife/role_run_list_add.rb +4 -3
  163. data/lib/chef/knife/role_run_list_remove.rb +2 -2
  164. data/lib/chef/knife/role_run_list_replace.rb +1 -0
  165. data/lib/chef/knife/search.rb +23 -23
  166. data/lib/chef/knife/serve.rb +22 -6
  167. data/lib/chef/knife/show.rb +19 -3
  168. data/lib/chef/knife/ssh.rb +68 -68
  169. data/lib/chef/knife/ssl_check.rb +31 -31
  170. data/lib/chef/knife/ssl_fetch.rb +5 -5
  171. data/lib/chef/knife/status.rb +11 -11
  172. data/lib/chef/knife/upload.rb +41 -25
  173. data/lib/chef/knife/user_create.rb +28 -28
  174. data/lib/chef/knife/user_delete.rb +9 -9
  175. data/lib/chef/knife/user_edit.rb +9 -9
  176. data/lib/chef/knife/user_list.rb +3 -3
  177. data/lib/chef/knife/user_reregister.rb +12 -12
  178. data/lib/chef/knife/user_show.rb +9 -9
  179. data/lib/chef/knife/xargs.rb +52 -36
  180. data/lib/chef/log.rb +10 -8
  181. data/lib/chef/log/winevt.rb +21 -21
  182. data/lib/chef/mixin/api_version_request_handling.rb +6 -6
  183. data/lib/chef/mixin/deep_merge.rb +1 -1
  184. data/lib/chef/mixin/deprecation.rb +2 -2
  185. data/lib/chef/mixin/params_validate.rb +9 -9
  186. data/lib/chef/mixin/properties.rb +2 -2
  187. data/lib/chef/mixin/securable.rb +11 -11
  188. data/lib/chef/mixin/shell_out.rb +138 -82
  189. data/lib/chef/mixin/wide_string.rb +5 -23
  190. data/lib/chef/mixin/windows_env_helper.rb +1 -1
  191. data/lib/chef/mixin/xml_escape.rb +3 -3
  192. data/lib/chef/node.rb +15 -15
  193. data/lib/chef/node/attribute.rb +6 -6
  194. data/lib/chef/node/attribute_collections.rb +2 -2
  195. data/lib/chef/node/mixin/deep_merge_cache.rb +1 -1
  196. data/lib/chef/node/mixin/immutablize_array.rb +2 -2
  197. data/lib/chef/node/mixin/immutablize_hash.rb +2 -2
  198. data/lib/chef/node_map.rb +77 -3
  199. data/lib/chef/org.rb +8 -8
  200. data/lib/chef/policy_builder/expand_node_object.rb +1 -1
  201. data/lib/chef/powershell.rb +9 -7
  202. data/lib/chef/property.rb +14 -14
  203. data/lib/chef/provider/apt_update.rb +2 -2
  204. data/lib/chef/provider/cron.rb +3 -3
  205. data/lib/chef/provider/cron/unix.rb +2 -2
  206. data/lib/chef/provider/dsc_resource.rb +1 -1
  207. data/lib/chef/provider/dsc_script.rb +8 -8
  208. data/lib/chef/provider/execute.rb +1 -1
  209. data/lib/chef/provider/group/aix.rb +6 -6
  210. data/lib/chef/provider/group/dscl.rb +1 -1
  211. data/lib/chef/provider/group/gpasswd.rb +4 -4
  212. data/lib/chef/provider/group/groupadd.rb +3 -3
  213. data/lib/chef/provider/group/groupmod.rb +6 -6
  214. data/lib/chef/provider/group/pw.rb +4 -4
  215. data/lib/chef/provider/group/suse.rb +2 -2
  216. data/lib/chef/provider/group/usermod.rb +1 -1
  217. data/lib/chef/provider/http_request.rb +6 -6
  218. data/lib/chef/provider/ifconfig.rb +4 -4
  219. data/lib/chef/provider/ifconfig/aix.rb +1 -1
  220. data/lib/chef/provider/mdadm.rb +1 -1
  221. data/lib/chef/provider/mount/mount.rb +1 -1
  222. data/lib/chef/provider/mount/windows.rb +7 -7
  223. data/lib/chef/provider/package.rb +3 -18
  224. data/lib/chef/provider/package/apt.rb +4 -4
  225. data/lib/chef/provider/package/bff.rb +9 -9
  226. data/lib/chef/provider/package/chocolatey.rb +7 -7
  227. data/lib/chef/provider/package/dnf.rb +2 -2
  228. data/lib/chef/provider/package/dpkg.rb +6 -6
  229. data/lib/chef/provider/package/freebsd/base.rb +2 -2
  230. data/lib/chef/provider/package/freebsd/pkg.rb +6 -6
  231. data/lib/chef/provider/package/freebsd/pkgng.rb +5 -5
  232. data/lib/chef/provider/package/freebsd/port.rb +4 -4
  233. data/lib/chef/provider/package/homebrew.rb +1 -1
  234. data/lib/chef/provider/package/ips.rb +6 -6
  235. data/lib/chef/provider/package/macports.rb +6 -6
  236. data/lib/chef/provider/package/msu.rb +1 -1
  237. data/lib/chef/provider/package/openbsd.rb +5 -5
  238. data/lib/chef/provider/package/pacman.rb +4 -4
  239. data/lib/chef/provider/package/paludis.rb +3 -3
  240. data/lib/chef/provider/package/portage.rb +5 -5
  241. data/lib/chef/provider/package/powershell.rb +6 -2
  242. data/lib/chef/provider/package/rpm.rb +10 -10
  243. data/lib/chef/provider/package/rubygems.rb +4 -4
  244. data/lib/chef/provider/package/smartos.rb +4 -4
  245. data/lib/chef/provider/package/solaris.rb +9 -9
  246. data/lib/chef/provider/package/windows.rb +4 -3
  247. data/lib/chef/provider/package/yum.rb +2 -2
  248. data/lib/chef/provider/package/zypper.rb +4 -4
  249. data/lib/chef/provider/powershell_script.rb +73 -73
  250. data/lib/chef/provider/reboot.rb +4 -4
  251. data/lib/chef/provider/registry_key.rb +4 -4
  252. data/lib/chef/provider/remote_file/cache_control_data.rb +2 -2
  253. data/lib/chef/provider/remote_file/sftp.rb +1 -1
  254. data/lib/chef/provider/resource_update.rb +1 -1
  255. data/lib/chef/provider/route.rb +2 -2
  256. data/lib/chef/provider/service/openbsd.rb +3 -3
  257. data/lib/chef/provider/service/redhat.rb +1 -1
  258. data/lib/chef/provider/service/simple.rb +1 -0
  259. data/lib/chef/provider/service/solaris.rb +1 -1
  260. data/lib/chef/provider/service/systemd.rb +2 -2
  261. data/lib/chef/provider/service/windows.rb +17 -17
  262. data/lib/chef/provider/subversion.rb +3 -3
  263. data/lib/chef/provider/systemd_unit.rb +2 -2
  264. data/lib/chef/provider/template/content.rb +1 -1
  265. data/lib/chef/provider/user/aix.rb +6 -6
  266. data/lib/chef/provider/user/dscl.rb +6 -6
  267. data/lib/chef/provider/user/linux.rb +6 -6
  268. data/lib/chef/provider/user/pw.rb +5 -5
  269. data/lib/chef/provider/user/solaris.rb +6 -6
  270. data/lib/chef/provider/user/useradd.rb +7 -7
  271. data/lib/chef/provider/windows_env.rb +6 -6
  272. data/lib/chef/provider/windows_task.rb +22 -24
  273. data/lib/chef/resource.rb +26 -4
  274. data/lib/chef/resource/chef_handler.rb +2 -0
  275. data/lib/chef/resource/chocolatey_config.rb +83 -0
  276. data/lib/chef/resource/chocolatey_source.rb +95 -0
  277. data/lib/chef/resource/cron.rb +5 -5
  278. data/lib/chef/resource/dsc_script.rb +12 -11
  279. data/lib/chef/resource/execute.rb +1 -1
  280. data/lib/chef/resource/file/verification.rb +1 -1
  281. data/lib/chef/resource/freebsd_package.rb +3 -1
  282. data/lib/chef/resource/group.rb +2 -2
  283. data/lib/chef/resource/homebrew_package.rb +2 -1
  284. data/lib/chef/resource/homebrew_tap.rb +1 -1
  285. data/lib/chef/resource/hostname.rb +23 -7
  286. data/lib/chef/resource/http_request.rb +6 -3
  287. data/lib/chef/resource/ifconfig.rb +57 -17
  288. data/lib/chef/resource/ips_package.rb +3 -1
  289. data/lib/chef/resource/kernel_module.rb +129 -0
  290. data/lib/chef/resource/launchd.rb +205 -98
  291. data/lib/chef/resource/log.rb +7 -2
  292. data/lib/chef/resource/mdadm.rb +29 -8
  293. data/lib/chef/resource/ohai.rb +2 -0
  294. data/lib/chef/resource/ohai_hint.rb +5 -3
  295. data/lib/chef/resource/openssl_dhparam.rb +1 -1
  296. data/lib/chef/resource/openssl_rsa_private_key.rb +2 -0
  297. data/lib/chef/resource/paludis_package.rb +1 -1
  298. data/lib/chef/resource/portage_package.rb +2 -0
  299. data/lib/chef/resource/powershell_package.rb +2 -0
  300. data/lib/chef/resource/powershell_package_source.rb +165 -0
  301. data/lib/chef/resource/powershell_script.rb +2 -2
  302. data/lib/chef/resource/registry_key.rb +1 -1
  303. data/lib/chef/resource/remote_directory.rb +3 -3
  304. data/lib/chef/resource/remote_file.rb +2 -2
  305. data/lib/chef/resource/resource_notification.rb +16 -16
  306. data/lib/chef/resource/rhsm_errata.rb +1 -1
  307. data/lib/chef/resource/rhsm_errata_level.rb +1 -1
  308. data/lib/chef/resource/rhsm_register.rb +4 -4
  309. data/lib/chef/resource/rhsm_repo.rb +2 -2
  310. data/lib/chef/resource/rhsm_subscription.rb +2 -2
  311. data/lib/chef/resource/script.rb +1 -1
  312. data/lib/chef/resource/service.rb +18 -18
  313. data/lib/chef/resource/ssh_known_hosts_entry.rb +146 -0
  314. data/lib/chef/resource/sudo.rb +4 -4
  315. data/lib/chef/resource/support/ssh_known_hosts.erb +3 -0
  316. data/lib/chef/resource/sysctl.rb +9 -5
  317. data/lib/chef/resource/template.rb +1 -1
  318. data/lib/chef/resource/user.rb +15 -15
  319. data/lib/chef/resource/windows_feature_dism.rb +10 -9
  320. data/lib/chef/resource/windows_feature_powershell.rb +24 -13
  321. data/lib/chef/resource/windows_script.rb +1 -1
  322. data/lib/chef/resource/windows_service.rb +2 -2
  323. data/lib/chef/resource/windows_task.rb +3 -3
  324. data/lib/chef/resource_definition.rb +1 -1
  325. data/lib/chef/resource_inspector.rb +1 -0
  326. data/lib/chef/resource_reporter.rb +4 -4
  327. data/lib/chef/resources.rb +5 -0
  328. data/lib/chef/role.rb +8 -8
  329. data/lib/chef/run_context.rb +8 -8
  330. data/lib/chef/run_list/run_list_expansion.rb +6 -6
  331. data/lib/chef/run_list/run_list_item.rb +1 -1
  332. data/lib/chef/run_list/versioned_recipe_list.rb +3 -3
  333. data/lib/chef/run_status.rb +10 -10
  334. data/lib/chef/shell.rb +60 -60
  335. data/lib/chef/shell/ext.rb +151 -151
  336. data/lib/chef/shell/shell_session.rb +2 -2
  337. data/lib/chef/user.rb +11 -11
  338. data/lib/chef/user_v1.rb +26 -26
  339. data/lib/chef/util/backup.rb +2 -2
  340. data/lib/chef/util/diff.rb +1 -1
  341. data/lib/chef/util/dsc/configuration_generator.rb +11 -11
  342. data/lib/chef/util/dsc/lcm_output_parser.rb +1 -1
  343. data/lib/chef/util/file_edit.rb +14 -14
  344. data/lib/chef/util/powershell/cmdlet.rb +4 -4
  345. data/lib/chef/util/selinux.rb +2 -2
  346. data/lib/chef/util/windows/net_group.rb +1 -1
  347. data/lib/chef/util/windows/net_use.rb +3 -3
  348. data/lib/chef/util/windows/net_user.rb +12 -12
  349. data/lib/chef/util/windows/volume.rb +2 -2
  350. data/lib/chef/version.rb +3 -3
  351. data/lib/chef/version_constraint.rb +3 -3
  352. data/lib/chef/win32/api.rb +6 -6
  353. data/lib/chef/win32/api/error.rb +2 -2
  354. data/lib/chef/win32/api/file.rb +12 -12
  355. data/lib/chef/win32/api/net.rb +58 -58
  356. data/lib/chef/win32/registry.rb +8 -8
  357. data/lib/chef/win32/security.rb +6 -6
  358. data/lib/chef/win32/security/securable_object.rb +10 -10
  359. data/lib/chef/win32/unicode.rb +6 -0
  360. data/lib/chef/win32/version.rb +16 -16
  361. data/spec/functional/audit/rspec_formatter_spec.rb +1 -1
  362. data/spec/functional/audit/runner_spec.rb +1 -1
  363. data/spec/functional/dsl/reboot_pending_spec.rb +3 -3
  364. data/spec/functional/dsl/registry_helper_spec.rb +3 -3
  365. data/spec/functional/http/simple_spec.rb +1 -1
  366. data/spec/functional/knife/exec_spec.rb +1 -1
  367. data/spec/functional/knife/ssh_spec.rb +2 -2
  368. data/spec/functional/mixin/shell_out_spec.rb +8 -4
  369. data/spec/functional/rebooter_spec.rb +6 -6
  370. data/spec/functional/resource/aixinit_service_spec.rb +2 -2
  371. data/spec/functional/resource/apt_package_spec.rb +17 -17
  372. data/spec/functional/resource/bash_spec.rb +1 -1
  373. data/spec/functional/resource/bff_spec.rb +1 -1
  374. data/spec/functional/resource/cron_spec.rb +1 -1
  375. data/spec/functional/resource/dnf_package_spec.rb +7 -7
  376. data/spec/functional/resource/dsc_script_spec.rb +94 -94
  377. data/spec/functional/resource/execute_spec.rb +4 -4
  378. data/spec/functional/resource/file_spec.rb +1 -1
  379. data/spec/functional/resource/git_spec.rb +19 -19
  380. data/spec/functional/resource/ifconfig_spec.rb +5 -5
  381. data/spec/functional/resource/link_spec.rb +1 -1
  382. data/spec/functional/resource/mount_spec.rb +2 -2
  383. data/spec/functional/resource/powershell_script_spec.rb +13 -13
  384. data/spec/functional/resource/reboot_spec.rb +3 -3
  385. data/spec/functional/resource/registry_spec.rb +82 -82
  386. data/spec/functional/resource/remote_file_spec.rb +2 -2
  387. data/spec/functional/resource/rpm_spec.rb +1 -1
  388. data/spec/functional/resource/template_spec.rb +5 -5
  389. data/spec/functional/resource/user/dscl_spec.rb +3 -3
  390. data/spec/functional/resource/windows_env_spec.rb +1 -1
  391. data/spec/functional/resource/windows_service_spec.rb +1 -1
  392. data/spec/functional/resource/windows_task_spec.rb +92 -38
  393. data/spec/functional/resource/yum_package_spec.rb +8 -8
  394. data/spec/functional/run_lock_spec.rb +4 -4
  395. data/spec/functional/shell_spec.rb +1 -1
  396. data/spec/functional/util/powershell/cmdlet_spec.rb +7 -7
  397. data/spec/functional/version_spec.rb +1 -1
  398. data/spec/functional/win32/crypto_spec.rb +9 -9
  399. data/spec/functional/win32/registry_spec.rb +66 -66
  400. data/spec/integration/client/client_spec.rb +219 -219
  401. data/spec/integration/client/exit_code_spec.rb +19 -19
  402. data/spec/integration/client/ipv6_spec.rb +36 -36
  403. data/spec/integration/knife/chef_fs_data_store_spec.rb +130 -130
  404. data/spec/integration/knife/chef_repo_path_spec.rb +418 -418
  405. data/spec/integration/knife/chef_repository_file_system_spec.rb +35 -35
  406. data/spec/integration/knife/chefignore_spec.rb +88 -88
  407. data/spec/integration/knife/client_bulk_delete_spec.rb +49 -49
  408. data/spec/integration/knife/client_create_spec.rb +5 -5
  409. data/spec/integration/knife/client_delete_spec.rb +13 -13
  410. data/spec/integration/knife/client_key_delete_spec.rb +2 -2
  411. data/spec/integration/knife/client_key_list_spec.rb +4 -4
  412. data/spec/integration/knife/client_list_spec.rb +8 -8
  413. data/spec/integration/knife/common_options_spec.rb +31 -31
  414. data/spec/integration/knife/config_get_spec.rb +183 -0
  415. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +38 -38
  416. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +14 -14
  417. data/spec/integration/knife/cookbook_download_spec.rb +12 -12
  418. data/spec/integration/knife/cookbook_list_spec.rb +8 -8
  419. data/spec/integration/knife/cookbook_show_spec.rb +81 -81
  420. data/spec/integration/knife/cookbook_upload_spec.rb +24 -24
  421. data/spec/integration/knife/data_bag_delete_spec.rb +8 -8
  422. data/spec/integration/knife/data_bag_from_file_spec.rb +47 -47
  423. data/spec/integration/knife/data_bag_list_spec.rb +4 -4
  424. data/spec/integration/knife/data_bag_show_spec.rb +7 -7
  425. data/spec/integration/knife/delete_spec.rb +593 -593
  426. data/spec/integration/knife/deps_spec.rb +185 -185
  427. data/spec/integration/knife/diff_spec.rb +116 -116
  428. data/spec/integration/knife/download_spec.rb +510 -510
  429. data/spec/integration/knife/environment_compare_spec.rb +15 -15
  430. data/spec/integration/knife/environment_from_file_spec.rb +59 -59
  431. data/spec/integration/knife/environment_list_spec.rb +4 -4
  432. data/spec/integration/knife/environment_show_spec.rb +25 -25
  433. data/spec/integration/knife/list_spec.rb +731 -731
  434. data/spec/integration/knife/node_bulk_delete_spec.rb +8 -8
  435. data/spec/integration/knife/node_delete_spec.rb +6 -6
  436. data/spec/integration/knife/node_environment_set_spec.rb +3 -3
  437. data/spec/integration/knife/node_from_file_spec.rb +16 -16
  438. data/spec/integration/knife/node_list_spec.rb +5 -5
  439. data/spec/integration/knife/raw_spec.rb +117 -117
  440. data/spec/integration/knife/role_bulk_delete_spec.rb +8 -8
  441. data/spec/integration/knife/role_delete_spec.rb +6 -6
  442. data/spec/integration/knife/role_from_file_spec.rb +42 -42
  443. data/spec/integration/knife/role_list_spec.rb +5 -5
  444. data/spec/integration/knife/role_show_spec.rb +9 -9
  445. data/spec/integration/knife/show_spec.rb +57 -57
  446. data/spec/integration/knife/upload_spec.rb +396 -396
  447. data/spec/integration/recipes/accumulator_spec.rb +2 -2
  448. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +8 -8
  449. data/spec/integration/recipes/lwrp_spec.rb +12 -12
  450. data/spec/integration/recipes/notifies_spec.rb +167 -167
  451. data/spec/integration/recipes/notifying_block_spec.rb +2 -2
  452. data/spec/integration/recipes/remote_directory.rb +1 -1
  453. data/spec/integration/recipes/resource_converge_if_changed_spec.rb +99 -99
  454. data/spec/integration/recipes/resource_load_spec.rb +8 -8
  455. data/spec/integration/solo/solo_spec.rb +40 -40
  456. data/spec/scripts/ssl-serve.rb +12 -12
  457. data/spec/spec_helper.rb +73 -73
  458. data/spec/stress/win32/file_spec.rb +2 -2
  459. data/spec/stress/win32/security_spec.rb +2 -2
  460. data/spec/support/platform_helpers.rb +1 -1
  461. data/spec/support/shared/context/client.rb +25 -25
  462. data/spec/support/shared/functional/securable_resource.rb +13 -13
  463. data/spec/support/shared/functional/securable_resource_with_reporting.rb +6 -6
  464. data/spec/support/shared/functional/win32_service.rb +5 -5
  465. data/spec/support/shared/functional/windows_script.rb +3 -3
  466. data/spec/support/shared/integration/app_server_support.rb +3 -3
  467. data/spec/support/shared/integration/integration_helper.rb +2 -2
  468. data/spec/support/shared/integration/knife_support.rb +9 -3
  469. data/spec/support/shared/unit/api_error_inspector.rb +6 -6
  470. data/spec/support/shared/unit/api_versioning.rb +2 -2
  471. data/spec/support/shared/unit/execute_resource.rb +2 -2
  472. data/spec/support/shared/unit/provider/file.rb +12 -12
  473. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +34 -34
  474. data/spec/support/shared/unit/user_and_client_shared.rb +3 -3
  475. data/spec/tiny_server.rb +8 -8
  476. data/spec/unit/api_client/registration_spec.rb +30 -30
  477. data/spec/unit/api_client_spec.rb +6 -6
  478. data/spec/unit/api_client_v1_spec.rb +6 -6
  479. data/spec/unit/application/apply_spec.rb +4 -4
  480. data/spec/unit/application/client_spec.rb +11 -11
  481. data/spec/unit/application/knife_spec.rb +3 -3
  482. data/spec/unit/application/solo_spec.rb +5 -5
  483. data/spec/unit/application_spec.rb +11 -11
  484. data/spec/unit/audit/audit_event_proxy_spec.rb +48 -48
  485. data/spec/unit/audit/audit_reporter_spec.rb +51 -55
  486. data/spec/unit/audit/control_group_data_spec.rb +20 -20
  487. data/spec/unit/audit/runner_spec.rb +2 -2
  488. data/spec/unit/chef_class_spec.rb +120 -0
  489. data/spec/unit/chef_fs/data_handler/data_bag_item_data_handler.rb +1 -1
  490. data/spec/unit/chef_fs/data_handler/data_handler_base_spec.rb +3 -3
  491. data/spec/unit/chef_fs/diff_spec.rb +45 -45
  492. data/spec/unit/chef_fs/file_pattern_spec.rb +2 -2
  493. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +2 -2
  494. data/spec/unit/chef_fs/file_system_spec.rb +8 -8
  495. data/spec/unit/chef_fs/parallelizer.rb +12 -12
  496. data/spec/unit/client_spec.rb +15 -15
  497. data/spec/unit/config_fetcher_spec.rb +23 -23
  498. data/spec/unit/config_spec.rb +2 -2
  499. data/spec/unit/cookbook/metadata_spec.rb +81 -81
  500. data/spec/unit/cookbook/synchronizer_spec.rb +171 -171
  501. data/spec/unit/cookbook_loader_spec.rb +10 -5
  502. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +6 -6
  503. data/spec/unit/cookbook_uploader_spec.rb +8 -8
  504. data/spec/unit/cookbook_version_file_specificity_spec.rb +135 -135
  505. data/spec/unit/daemon_spec.rb +4 -4
  506. data/spec/unit/data_bag_item_spec.rb +3 -3
  507. data/spec/unit/data_bag_spec.rb +1 -1
  508. data/spec/unit/data_collector/resource_report_spec.rb +1 -1
  509. data/spec/unit/data_collector_spec.rb +4 -3
  510. data/spec/unit/deprecated_spec.rb +18 -12
  511. data/spec/unit/dsl/audit_spec.rb +1 -1
  512. data/spec/unit/dsl/platform_introspection_spec.rb +16 -16
  513. data/spec/unit/dsl/reboot_pending_spec.rb +1 -1
  514. data/spec/unit/environment_spec.rb +16 -16
  515. data/spec/unit/file_access_control_spec.rb +8 -8
  516. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +3 -3
  517. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +26 -26
  518. data/spec/unit/formatters/error_description_spec.rb +39 -39
  519. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +16 -16
  520. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  521. data/spec/unit/formatters/error_inspectors/node_load_error_inspector_spec.rb +1 -1
  522. data/spec/unit/formatters/error_inspectors/registration_error_inspector_spec.rb +1 -1
  523. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +1 -1
  524. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +5 -5
  525. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +4 -4
  526. data/spec/unit/handler/json_file_spec.rb +1 -1
  527. data/spec/unit/http/api_versions_spec.rb +1 -1
  528. data/spec/unit/http/authenticator_spec.rb +17 -17
  529. data/spec/unit/http/ssl_policies_spec.rb +1 -1
  530. data/spec/unit/http/validate_content_length_spec.rb +2 -2
  531. data/spec/unit/key_spec.rb +12 -12
  532. data/spec/unit/knife/bootstrap/client_builder_spec.rb +3 -3
  533. data/spec/unit/knife/client_bulk_delete_spec.rb +1 -1
  534. data/spec/unit/knife/client_delete_spec.rb +1 -1
  535. data/spec/unit/knife/client_reregister_spec.rb +1 -1
  536. data/spec/unit/knife/configure_client_spec.rb +4 -4
  537. data/spec/unit/knife/configure_spec.rb +1 -1
  538. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +1 -1
  539. data/spec/unit/knife/cookbook_delete_spec.rb +4 -4
  540. data/spec/unit/knife/cookbook_download_spec.rb +21 -21
  541. data/spec/unit/knife/cookbook_list_spec.rb +7 -7
  542. data/spec/unit/knife/cookbook_show_spec.rb +24 -24
  543. data/spec/unit/knife/cookbook_site_download_spec.rb +23 -23
  544. data/spec/unit/knife/cookbook_site_install_spec.rb +4 -4
  545. data/spec/unit/knife/cookbook_site_share_spec.rb +10 -10
  546. data/spec/unit/knife/cookbook_site_unshare_spec.rb +2 -2
  547. data/spec/unit/knife/cookbook_upload_spec.rb +19 -19
  548. data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -37
  549. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +20 -20
  550. data/spec/unit/knife/core/object_loader_spec.rb +1 -1
  551. data/spec/unit/knife/core/ui_spec.rb +55 -55
  552. data/spec/unit/knife/data_bag_create_spec.rb +2 -2
  553. data/spec/unit/knife/data_bag_edit_spec.rb +1 -1
  554. data/spec/unit/knife/data_bag_secret_options_spec.rb +5 -5
  555. data/spec/unit/knife/environment_from_file_spec.rb +1 -1
  556. data/spec/unit/knife/key_create_spec.rb +4 -4
  557. data/spec/unit/knife/key_delete_spec.rb +3 -3
  558. data/spec/unit/knife/key_edit_spec.rb +3 -3
  559. data/spec/unit/knife/key_list_spec.rb +3 -3
  560. data/spec/unit/knife/key_show_spec.rb +3 -3
  561. data/spec/unit/knife/node_delete_spec.rb +1 -1
  562. data/spec/unit/knife/node_edit_spec.rb +7 -7
  563. data/spec/unit/knife/node_from_file_spec.rb +1 -1
  564. data/spec/unit/knife/node_run_list_add_spec.rb +1 -1
  565. data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
  566. data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
  567. data/spec/unit/knife/role_bulk_delete_spec.rb +1 -1
  568. data/spec/unit/knife/role_create_spec.rb +1 -1
  569. data/spec/unit/knife/role_delete_spec.rb +1 -1
  570. data/spec/unit/knife/role_env_run_list_add_spec.rb +4 -4
  571. data/spec/unit/knife/role_env_run_list_clear_spec.rb +1 -1
  572. data/spec/unit/knife/role_env_run_list_remove_spec.rb +1 -1
  573. data/spec/unit/knife/role_env_run_list_replace_spec.rb +1 -1
  574. data/spec/unit/knife/role_env_run_list_set_spec.rb +1 -1
  575. data/spec/unit/knife/role_from_file_spec.rb +1 -1
  576. data/spec/unit/knife/role_run_list_add_spec.rb +4 -4
  577. data/spec/unit/knife/role_run_list_clear_spec.rb +1 -1
  578. data/spec/unit/knife/role_run_list_remove_spec.rb +1 -1
  579. data/spec/unit/knife/role_run_list_replace_spec.rb +1 -1
  580. data/spec/unit/knife/role_run_list_set_spec.rb +1 -1
  581. data/spec/unit/knife/ssh_spec.rb +25 -25
  582. data/spec/unit/knife/ssl_check_spec.rb +23 -23
  583. data/spec/unit/knife/ssl_fetch_spec.rb +11 -11
  584. data/spec/unit/knife/user_delete_spec.rb +1 -1
  585. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  586. data/spec/unit/knife_spec.rb +26 -26
  587. data/spec/unit/log/syslog_spec.rb +1 -1
  588. data/spec/unit/lwrp_spec.rb +4 -4
  589. data/spec/unit/mash_spec.rb +3 -3
  590. data/spec/unit/mixin/api_version_request_handling_spec.rb +16 -16
  591. data/spec/unit/mixin/checksum_spec.rb +1 -1
  592. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +8 -8
  593. data/spec/unit/mixin/homebrew_user_spec.rb +1 -1
  594. data/spec/unit/mixin/params_validate_spec.rb +96 -96
  595. data/spec/unit/mixin/powershell_exec_spec.rb +1 -1
  596. data/spec/unit/mixin/powershell_type_coercions_spec.rb +1 -1
  597. data/spec/unit/mixin/securable_spec.rb +27 -27
  598. data/spec/unit/mixin/shell_out_spec.rb +286 -132
  599. data/spec/unit/mixin/user_context_spec.rb +1 -1
  600. data/spec/unit/mixin/xml_escape_spec.rb +1 -1
  601. data/spec/unit/node/attribute_spec.rb +10 -10
  602. data/spec/unit/node/vivid_mash_spec.rb +3 -3
  603. data/spec/unit/node_map_spec.rb +71 -3
  604. data/spec/unit/node_spec.rb +15 -15
  605. data/spec/unit/org_spec.rb +2 -2
  606. data/spec/unit/platform/query_helpers_spec.rb +26 -26
  607. data/spec/unit/policy_builder/expand_node_object_spec.rb +4 -4
  608. data/spec/unit/policy_builder/policyfile_spec.rb +29 -29
  609. data/spec/unit/property_spec.rb +5 -5
  610. data/spec/unit/provider/apt_repository_spec.rb +19 -19
  611. data/spec/unit/provider/cookbook_file/content_spec.rb +1 -1
  612. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  613. data/spec/unit/provider/cron/unix_spec.rb +12 -12
  614. data/spec/unit/provider/cron_spec.rb +279 -279
  615. data/spec/unit/provider/dsc_resource_spec.rb +6 -6
  616. data/spec/unit/provider/execute_spec.rb +2 -2
  617. data/spec/unit/provider/file/content_spec.rb +1 -1
  618. data/spec/unit/provider/file_spec.rb +1 -1
  619. data/spec/unit/provider/git_spec.rb +123 -123
  620. data/spec/unit/provider/group/dscl_spec.rb +18 -18
  621. data/spec/unit/provider/group/gpasswd_spec.rb +7 -7
  622. data/spec/unit/provider/group/groupadd_spec.rb +7 -7
  623. data/spec/unit/provider/group/groupmod_spec.rb +13 -13
  624. data/spec/unit/provider/group/pw_spec.rb +4 -4
  625. data/spec/unit/provider/group/suse_spec.rb +2 -2
  626. data/spec/unit/provider/group/usermod_spec.rb +4 -4
  627. data/spec/unit/provider/group_spec.rb +3 -3
  628. data/spec/unit/provider/ifconfig/aix_spec.rb +17 -17
  629. data/spec/unit/provider/ifconfig/debian_spec.rb +16 -16
  630. data/spec/unit/provider/ifconfig_spec.rb +16 -16
  631. data/spec/unit/provider/launchd_spec.rb +52 -52
  632. data/spec/unit/provider/link_spec.rb +7 -7
  633. data/spec/unit/provider/mdadm_spec.rb +3 -3
  634. data/spec/unit/provider/mount/aix_spec.rb +39 -39
  635. data/spec/unit/provider/mount/mount_spec.rb +26 -26
  636. data/spec/unit/provider/mount/solaris_spec.rb +2 -2
  637. data/spec/unit/provider/mount/windows_spec.rb +6 -6
  638. data/spec/unit/provider/ohai_spec.rb +9 -9
  639. data/spec/unit/provider/osx_profile_spec.rb +1 -1
  640. data/spec/unit/provider/package/apt_spec.rb +186 -186
  641. data/spec/unit/provider/package/bff_spec.rb +36 -36
  642. data/spec/unit/provider/package/cab_spec.rb +58 -58
  643. data/spec/unit/provider/package/chocolatey_spec.rb +34 -34
  644. data/spec/unit/provider/package/dpkg_spec.rb +33 -33
  645. data/spec/unit/provider/package/freebsd/pkg_spec.rb +35 -35
  646. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +22 -22
  647. data/spec/unit/provider/package/freebsd/port_spec.rb +21 -21
  648. data/spec/unit/provider/package/homebrew_spec.rb +4 -4
  649. data/spec/unit/provider/package/ips_spec.rb +94 -94
  650. data/spec/unit/provider/package/macports_spec.rb +23 -23
  651. data/spec/unit/provider/package/msu_spec.rb +44 -44
  652. data/spec/unit/provider/package/openbsd_spec.rb +19 -19
  653. data/spec/unit/provider/package/pacman_spec.rb +50 -50
  654. data/spec/unit/provider/package/paludis_spec.rb +33 -33
  655. data/spec/unit/provider/package/portage_spec.rb +25 -25
  656. data/spec/unit/provider/package/powershell_spec.rb +98 -85
  657. data/spec/unit/provider/package/rpm_spec.rb +21 -21
  658. data/spec/unit/provider/package/rubygems_spec.rb +71 -71
  659. data/spec/unit/provider/package/smartos_spec.rb +21 -21
  660. data/spec/unit/provider/package/solaris_spec.rb +38 -38
  661. data/spec/unit/provider/package/windows/exe_spec.rb +1 -1
  662. data/spec/unit/provider/package/windows/msi_spec.rb +1 -1
  663. data/spec/unit/provider/package/windows_spec.rb +11 -4
  664. data/spec/unit/provider/package/zypper_spec.rb +42 -46
  665. data/spec/unit/provider/package_spec.rb +2 -2
  666. data/spec/unit/provider/powershell_script_spec.rb +1 -1
  667. data/spec/unit/provider/registry_key_spec.rb +22 -22
  668. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +7 -7
  669. data/spec/unit/provider/remote_file/content_spec.rb +4 -4
  670. data/spec/unit/provider/remote_file/fetcher_spec.rb +5 -5
  671. data/spec/unit/provider/remote_file/ftp_spec.rb +1 -1
  672. data/spec/unit/provider/remote_file/http_spec.rb +1 -1
  673. data/spec/unit/provider/remote_file/local_file_spec.rb +2 -2
  674. data/spec/unit/provider/remote_file/network_file_spec.rb +3 -3
  675. data/spec/unit/provider/remote_file/sftp_spec.rb +2 -2
  676. data/spec/unit/provider/remote_file_spec.rb +1 -1
  677. data/spec/unit/provider/script_spec.rb +1 -1
  678. data/spec/unit/provider/service/aix_service_spec.rb +8 -8
  679. data/spec/unit/provider/service/aixinit_service_spec.rb +3 -3
  680. data/spec/unit/provider/service/arch_service_spec.rb +21 -21
  681. data/spec/unit/provider/service/debian_service_spec.rb +2 -2
  682. data/spec/unit/provider/service/freebsd_service_spec.rb +30 -30
  683. data/spec/unit/provider/service/gentoo_service_spec.rb +1 -1
  684. data/spec/unit/provider/service/init_service_spec.rb +14 -14
  685. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  686. data/spec/unit/provider/service/invokercd_service_spec.rb +17 -17
  687. data/spec/unit/provider/service/macosx_spec.rb +59 -59
  688. data/spec/unit/provider/service/openbsd_service_spec.rb +6 -6
  689. data/spec/unit/provider/service/redhat_spec.rb +27 -27
  690. data/spec/unit/provider/service/simple_service_spec.rb +14 -14
  691. data/spec/unit/provider/service/solaris_smf_service_spec.rb +19 -19
  692. data/spec/unit/provider/service/systemd_service_spec.rb +13 -13
  693. data/spec/unit/provider/service/upstart_service_spec.rb +5 -5
  694. data/spec/unit/provider/service/windows_spec.rb +38 -38
  695. data/spec/unit/provider/service_spec.rb +3 -3
  696. data/spec/unit/provider/subversion_spec.rb +13 -13
  697. data/spec/unit/provider/systemd_unit_spec.rb +10 -10
  698. data/spec/unit/provider/template/content_spec.rb +44 -44
  699. data/spec/unit/provider/template_spec.rb +2 -2
  700. data/spec/unit/provider/user/aix_spec.rb +5 -5
  701. data/spec/unit/provider/user/dscl_spec.rb +12 -12
  702. data/spec/unit/provider/user/pw_spec.rb +12 -12
  703. data/spec/unit/provider/user/solaris_spec.rb +6 -6
  704. data/spec/unit/provider/windows_env_spec.rb +2 -2
  705. data/spec/unit/provider/windows_task_spec.rb +16 -16
  706. data/spec/unit/provider/zypper_repository_spec.rb +7 -7
  707. data/spec/unit/provider_resolver_spec.rb +3 -3
  708. data/spec/unit/recipe_spec.rb +13 -13
  709. data/spec/unit/resource/chocolatey_config_spec.rb +98 -0
  710. data/spec/unit/resource/chocolatey_source_spec.rb +102 -0
  711. data/spec/unit/resource/conditional_spec.rb +1 -1
  712. data/spec/unit/resource/cookbook_file_spec.rb +3 -3
  713. data/spec/unit/resource/dnf_package_spec.rb +3 -3
  714. data/spec/unit/resource/dsc_script_spec.rb +10 -10
  715. data/spec/unit/resource/execute_spec.rb +2 -2
  716. data/spec/unit/resource/file/verification/systemd_unit_spec.rb +1 -1
  717. data/spec/unit/resource/file/verification_spec.rb +1 -1
  718. data/spec/unit/resource/file_spec.rb +3 -3
  719. data/spec/unit/resource/freebsd_package_spec.rb +5 -4
  720. data/spec/unit/resource/group_spec.rb +4 -4
  721. data/spec/unit/resource/kernel_module_spec.rb +48 -0
  722. data/spec/unit/resource/mount_spec.rb +13 -3
  723. data/spec/unit/resource/package_spec.rb +2 -2
  724. data/spec/unit/resource/powershell_package_source_spec.rb +219 -0
  725. data/spec/unit/resource/powershell_package_spec.rb +10 -1
  726. data/spec/unit/resource/powershell_script_spec.rb +8 -8
  727. data/spec/unit/resource/registry_key_spec.rb +19 -19
  728. data/spec/unit/resource/remote_file_spec.rb +2 -2
  729. data/spec/unit/resource/resource_notification_spec.rb +8 -8
  730. data/spec/unit/resource/service_spec.rb +3 -3
  731. data/spec/unit/resource/ssh_known_hosts_entry_spec.rb +55 -0
  732. data/spec/unit/resource/template_spec.rb +2 -2
  733. data/spec/unit/resource/user_spec.rb +2 -2
  734. data/spec/unit/resource/windows_feature_dism.rb +5 -5
  735. data/spec/unit/resource/windows_feature_powershell.rb +27 -6
  736. data/spec/unit/resource/yum_package_spec.rb +3 -3
  737. data/spec/unit/resource_collection/resource_set_spec.rb +6 -6
  738. data/spec/unit/resource_collection_spec.rb +5 -5
  739. data/spec/unit/resource_definition_spec.rb +2 -2
  740. data/spec/unit/resource_inspector_spec.rb +3 -3
  741. data/spec/unit/resource_reporter_spec.rb +24 -24
  742. data/spec/unit/resource_spec.rb +65 -31
  743. data/spec/unit/role_spec.rb +22 -22
  744. data/spec/unit/run_context_spec.rb +1 -1
  745. data/spec/unit/run_list/run_list_item_spec.rb +3 -3
  746. data/spec/unit/run_list/versioned_recipe_list_spec.rb +12 -12
  747. data/spec/unit/run_list_spec.rb +6 -6
  748. data/spec/unit/runner_spec.rb +4 -4
  749. data/spec/unit/scan_access_control_spec.rb +3 -3
  750. data/spec/unit/shell/model_wrapper_spec.rb +4 -4
  751. data/spec/unit/shell/shell_ext_spec.rb +4 -4
  752. data/spec/unit/shell/shell_session_spec.rb +28 -28
  753. data/spec/unit/user_spec.rb +2 -2
  754. data/spec/unit/user_v1_spec.rb +25 -25
  755. data/spec/unit/util/diff_spec.rb +1 -1
  756. data/spec/unit/util/dsc/configuration_generator_spec.rb +4 -4
  757. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +105 -105
  758. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +16 -16
  759. data/spec/unit/util/file_edit_spec.rb +38 -38
  760. data/spec/unit/util/powershell/cmdlet_spec.rb +1 -1
  761. data/spec/unit/util/selinux_spec.rb +10 -10
  762. data/spec/unit/win32/registry_spec.rb +3 -3
  763. data/spec/unit/windows_service_spec.rb +2 -2
  764. data/tasks/cbgb.rb +3 -3
  765. data/tasks/dependencies.rb +6 -8
  766. data/tasks/maintainers.rb +7 -7
  767. data/tasks/rspec.rb +2 -2
  768. metadata +20 -79
  769. data/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +0 -33
  770. data/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +0 -272
  771. data/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +0 -57
  772. data/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +0 -68
  773. data/acceptance/.shared/kitchen_acceptance/metadata.rb +0 -1
  774. data/acceptance/Gemfile +0 -19
  775. data/acceptance/Gemfile.lock +0 -266
  776. data/acceptance/README.md +0 -137
  777. data/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +0 -2
  778. data/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  779. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  780. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  781. data/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  782. data/acceptance/basics/.kitchen.yml +0 -4
  783. data/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +0 -19
  784. data/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +0 -6
  785. data/acceptance/basics/test/integration/helpers/serverspec/Gemfile +0 -8
  786. data/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +0 -2
  787. data/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  788. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -2
  789. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -2
  790. data/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -2
  791. data/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +0 -16
  792. data/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +0 -3
  793. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +0 -101
  794. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +0 -3
  795. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +0 -4
  796. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +0 -4
  797. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +0 -2
  798. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +0 -4
  799. data/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +0 -2
  800. data/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +0 -7
  801. data/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +0 -44
  802. data/acceptance/data-collector/.kitchen.yml +0 -9
  803. data/acceptance/data-collector/Berksfile +0 -3
  804. data/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +0 -208
  805. data/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +0 -8
  806. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +0 -2
  807. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +0 -1
  808. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  809. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  810. data/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -61
  811. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +0 -2
  812. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +0 -43
  813. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +0 -41
  814. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +0 -3
  815. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  816. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  817. data/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  818. data/acceptance/top-cookbooks/.gitignore +0 -1
  819. data/acceptance/top-cookbooks/.kitchen.chocolatey.yml +0 -6
  820. data/acceptance/top-cookbooks/.kitchen.iis.yml +0 -4
  821. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +0 -7
  822. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +0 -7
  823. data/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +0 -7
  824. data/acceptance/top-cookbooks/.kitchen.powershell.yml +0 -4
  825. data/acceptance/top-cookbooks/.kitchen.sql_server.yml +0 -5
  826. data/acceptance/top-cookbooks/.kitchen.winbox.yml +0 -8
  827. data/acceptance/top-cookbooks/.kitchen.windows.yml +0 -38
  828. data/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +0 -2
  829. data/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  830. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  831. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  832. data/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  833. data/acceptance/trivial/.kitchen.yml +0 -7
  834. data/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +0 -5
  835. data/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +0 -2
  836. data/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +0 -2
  837. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +0 -1
  838. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +0 -1
  839. data/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +0 -1
  840. data/acceptance/windows-service/.kitchen.yml +0 -7
  841. data/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +0 -58
  842. data/distro/powershell/chef/Chef.PowerShell.dll +0 -0
@@ -26,15 +26,15 @@ describe Chef::Knife::Core::BootstrapContext do
26
26
  Chef::Config[:fips] = false
27
27
  end
28
28
 
29
- let(:config) { { :foo => :bar, :color => true } }
29
+ let(:config) { { foo: :bar, color: true } }
30
30
  let(:run_list) { Chef::RunList.new("recipe[tmux]", "role[base]") }
31
31
  let(:chef_config) do
32
32
  {
33
- :config_log_level => "info",
34
- :config_log_location => "/tmp/log",
35
- :validation_key => File.join(CHEF_SPEC_DATA, "ssl", "private_key.pem"),
36
- :chef_server_url => "http://chef.example.com:4444",
37
- :validation_client_name => "chef-validator-testing",
33
+ config_log_level: "info",
34
+ config_log_location: "/tmp/log",
35
+ validation_key: File.join(CHEF_SPEC_DATA, "ssl", "private_key.pem"),
36
+ chef_server_url: "http://chef.example.com:4444",
37
+ validation_client_name: "chef-validator-testing",
38
38
  }
39
39
  end
40
40
 
@@ -51,14 +51,14 @@ describe Chef::Knife::Core::BootstrapContext do
51
51
  end
52
52
 
53
53
  describe "when in verbosity mode" do
54
- let(:config) { { :verbosity => 2, :color => true } }
54
+ let(:config) { { verbosity: 2, color: true } }
55
55
  it "adds '-l debug' when verbosity is >= 2" do
56
56
  expect(bootstrap_context.start_chef).to eq "chef-client -j /etc/chef/first-boot.json -l debug"
57
57
  end
58
58
  end
59
59
 
60
60
  describe "when no color value has been set in config" do
61
- let(:config) { { :color => false } }
61
+ let(:config) { { color: false } }
62
62
  it "adds '--no-color' when color is false" do
63
63
  expect(bootstrap_context.start_chef).to eq "chef-client -j /etc/chef/first-boot.json --no-color"
64
64
  end
@@ -69,25 +69,25 @@ describe Chef::Knife::Core::BootstrapContext do
69
69
  end
70
70
 
71
71
  it "generates the config file data" do
72
- expected = <<-EXPECTED
73
- chef_server_url "http://chef.example.com:4444"
74
- validation_client_name "chef-validator-testing"
75
- log_level :info
76
- log_location "/tmp/log"
77
- # Using default node name (fqdn)
72
+ expected = <<~EXPECTED
73
+ chef_server_url "http://chef.example.com:4444"
74
+ validation_client_name "chef-validator-testing"
75
+ log_level :info
76
+ log_location "/tmp/log"
77
+ # Using default node name (fqdn)
78
78
  EXPECTED
79
79
  expect(bootstrap_context.config_content).to eq expected
80
80
  end
81
81
 
82
82
  describe "alternate chef-client path" do
83
- let(:chef_config) { { :chef_client_path => "/usr/local/bin/chef-client" } }
83
+ let(:chef_config) { { chef_client_path: "/usr/local/bin/chef-client" } }
84
84
  it "runs chef-client from another path when specified" do
85
85
  expect(bootstrap_context.start_chef).to eq "/usr/local/bin/chef-client -j /etc/chef/first-boot.json"
86
86
  end
87
87
  end
88
88
 
89
89
  describe "validation key path that contains a ~" do
90
- let(:chef_config) { { :validation_key => "~/my.key" } }
90
+ let(:chef_config) { { validation_key: "~/my.key" } }
91
91
  it "reads the validation key when it contains a ~" do
92
92
  expect(File).to receive(:exist?).with(File.expand_path("my.key", ENV["HOME"])).and_return(true)
93
93
  expect(IO).to receive(:read).with(File.expand_path("my.key", ENV["HOME"]))
@@ -96,36 +96,36 @@ EXPECTED
96
96
  end
97
97
 
98
98
  describe "when an explicit node name is given" do
99
- let(:config) { { :chef_node_name => "foobar.example.com" } }
99
+ let(:config) { { chef_node_name: "foobar.example.com" } }
100
100
  it "sets the node name in the client.rb" do
101
101
  expect(bootstrap_context.config_content).to match(/node_name "foobar\.example\.com"/)
102
102
  end
103
103
  end
104
104
 
105
105
  describe "when bootstrapping into a specific environment" do
106
- let(:config) { { :environment => "prodtastic", :color => true } }
106
+ let(:config) { { environment: "prodtastic", color: true } }
107
107
  it "starts chef in the configured environment" do
108
108
  expect(bootstrap_context.start_chef).to eq("chef-client -j /etc/chef/first-boot.json -E prodtastic")
109
109
  end
110
110
  end
111
111
 
112
112
  describe "when tags are given" do
113
- let(:config) { { :tags => [ "unicorn" ] } }
113
+ let(:config) { { tags: [ "unicorn" ] } }
114
114
  it "adds the attributes to first_boot" do
115
- expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ :run_list => run_list, :tags => ["unicorn"] }))
115
+ expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ run_list: run_list, tags: ["unicorn"] }))
116
116
  end
117
117
  end
118
118
 
119
119
  describe "when JSON attributes are given" do
120
- let(:config) { { :first_boot_attributes => { :baz => :quux } } }
120
+ let(:config) { { first_boot_attributes: { baz: :quux } } }
121
121
  it "adds the attributes to first_boot" do
122
- expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ :baz => :quux, :run_list => run_list }))
122
+ expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ baz: :quux, run_list: run_list }))
123
123
  end
124
124
  end
125
125
 
126
126
  describe "when JSON attributes are NOT given" do
127
127
  it "sets first_boot equal to run_list" do
128
- expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ :run_list => run_list }))
128
+ expect(Chef::JSONCompat.to_json(bootstrap_context.first_boot)).to eq(Chef::JSONCompat.to_json({ run_list: run_list }))
129
129
  end
130
130
  end
131
131
 
@@ -159,7 +159,7 @@ EXPECTED
159
159
  describe "when a bootstrap_version is specified" do
160
160
  let(:chef_config) do
161
161
  {
162
- :knife => { :bootstrap_version => "11.12.4" },
162
+ knife: { bootstrap_version: "11.12.4" },
163
163
  }
164
164
  end
165
165
 
@@ -171,7 +171,7 @@ EXPECTED
171
171
  describe "when a pre-release bootstrap_version is specified" do
172
172
  let(:chef_config) do
173
173
  {
174
- :knife => { :bootstrap_version => "11.12.4.rc.0" },
174
+ knife: { bootstrap_version: "11.12.4.rc.0" },
175
175
  }
176
176
  end
177
177
 
@@ -195,7 +195,7 @@ EXPECTED
195
195
  describe "when configured in config" do
196
196
  let(:chef_config) do
197
197
  {
198
- :knife => { :ssl_verify_mode => :verify_peer },
198
+ knife: { ssl_verify_mode: :verify_peer },
199
199
  }
200
200
  end
201
201
 
@@ -204,7 +204,7 @@ EXPECTED
204
204
  end
205
205
 
206
206
  describe "when configured via CLI" do
207
- let(:config) { { :node_ssl_verify_mode => "none" } }
207
+ let(:config) { { node_ssl_verify_mode: "none" } }
208
208
 
209
209
  it "uses CLI value" do
210
210
  expect(bootstrap_context.config_content).to include("ssl_verify_mode :verify_none")
@@ -238,7 +238,7 @@ EXPECTED
238
238
  describe "when configured in config" do
239
239
  let(:chef_config) do
240
240
  {
241
- :knife => { :verify_api_cert => :false },
241
+ knife: { verify_api_cert: :false },
242
242
  }
243
243
  end
244
244
 
@@ -247,7 +247,7 @@ EXPECTED
247
247
  end
248
248
 
249
249
  describe "when configured via CLI" do
250
- let(:config) { { :node_verify_api_cert => true } }
250
+ let(:config) { { node_verify_api_cert: true } }
251
251
 
252
252
  it "uses CLI value" do
253
253
  expect(bootstrap_context.config_content).to include("verify_api_cert true")
@@ -262,7 +262,7 @@ EXPECTED
262
262
  end
263
263
 
264
264
  describe "when configured via cli" do
265
- let(:config) { { :prerelease => true } }
265
+ let(:config) { { prerelease: true } }
266
266
 
267
267
  it "uses CLI value" do
268
268
  expect(bootstrap_context.latest_current_chef_version_string).to eq("-p")
@@ -272,49 +272,49 @@ EXPECTED
272
272
 
273
273
  describe "#config_log_location" do
274
274
  context "when config_log_location is nil" do
275
- let(:chef_config) { { :config_log_location => nil } }
275
+ let(:chef_config) { { config_log_location: nil } }
276
276
  it "sets the default config_log_location in the client.rb" do
277
277
  expect(bootstrap_context.get_log_location).to eq "STDOUT"
278
278
  end
279
279
  end
280
280
 
281
281
  context "when config_log_location is empty" do
282
- let(:chef_config) { { :config_log_location => "" } }
282
+ let(:chef_config) { { config_log_location: "" } }
283
283
  it "sets the default config_log_location in the client.rb" do
284
284
  expect(bootstrap_context.get_log_location).to eq "STDOUT"
285
285
  end
286
286
  end
287
287
 
288
288
  context "when config_log_location is :win_evt" do
289
- let(:chef_config) { { :config_log_location => :win_evt } }
289
+ let(:chef_config) { { config_log_location: :win_evt } }
290
290
  it "raise error when config_log_location is :win_evt " do
291
291
  expect { bootstrap_context.get_log_location }.to raise_error("The value :win_evt is not supported for config_log_location on Linux Platforms \n")
292
292
  end
293
293
  end
294
294
 
295
295
  context "when config_log_location is :syslog" do
296
- let(:chef_config) { { :config_log_location => :syslog } }
296
+ let(:chef_config) { { config_log_location: :syslog } }
297
297
  it "sets the config_log_location value as :syslog in the client.rb" do
298
298
  expect(bootstrap_context.get_log_location).to eq ":syslog"
299
299
  end
300
300
  end
301
301
 
302
302
  context "When config_log_location is STDOUT" do
303
- let(:chef_config) { { :config_log_location => STDOUT } }
303
+ let(:chef_config) { { config_log_location: STDOUT } }
304
304
  it "Sets the config_log_location value as STDOUT in the client.rb" do
305
305
  expect(bootstrap_context.get_log_location).to eq "STDOUT"
306
306
  end
307
307
  end
308
308
 
309
309
  context "when config_log_location is STDERR" do
310
- let(:chef_config) { { :config_log_location => STDERR } }
310
+ let(:chef_config) { { config_log_location: STDERR } }
311
311
  it "sets the config_log_location value as STDERR in the client.rb" do
312
312
  expect(bootstrap_context.get_log_location).to eq "STDERR"
313
313
  end
314
314
  end
315
315
 
316
316
  context "when config_log_location is a path" do
317
- let(:chef_config) { { :config_log_location => "/tmp/ChefLogFile" } }
317
+ let(:chef_config) { { config_log_location: "/tmp/ChefLogFile" } }
318
318
  it "sets the config_log_location path in the client.rb" do
319
319
  expect(bootstrap_context.get_log_location).to eq "\"/tmp/ChefLogFile\""
320
320
  end
@@ -24,7 +24,7 @@ describe Chef::Knife::CookbookSCMRepo do
24
24
  @repo_path = File.join(CHEF_SPEC_DATA, "cookbooks")
25
25
  @stdout, @stderr, @stdin = StringIO.new, StringIO.new, StringIO.new
26
26
  @ui = Chef::Knife::UI.new(@stdout, @stderr, @stdin, {})
27
- @cookbook_repo = Chef::Knife::CookbookSCMRepo.new(@repo_path, @ui, :default_branch => "master")
27
+ @cookbook_repo = Chef::Knife::CookbookSCMRepo.new(@repo_path, @ui, default_branch: "master")
28
28
 
29
29
  @branch_list = Mixlib::ShellOut.new
30
30
  @branch_list.stdout.replace(<<-BRANCHES)
@@ -69,7 +69,7 @@ BRANCHES
69
69
 
70
70
  it "exits when the default branch doesn't exist" do
71
71
  @nobranches = Mixlib::ShellOut.new.tap { |s| s.stdout.replace "\n" }
72
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@nobranches)
72
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@nobranches)
73
73
  expect { @cookbook_repo.sanity_check }.to raise_error(SystemExit)
74
74
  end
75
75
 
@@ -77,7 +77,7 @@ BRANCHES
77
77
  before do
78
78
  @master_branch = Mixlib::ShellOut.new
79
79
  @master_branch.stdout.replace "* master\n"
80
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@master_branch)
80
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@master_branch)
81
81
  end
82
82
 
83
83
  it "exits when the git repo is dirty" do
@@ -85,14 +85,14 @@ BRANCHES
85
85
  @dirty_status.stdout.replace(<<-DIRTY)
86
86
  M chef/lib/chef/knife/cookbook_site_install.rb
87
87
  DIRTY
88
- expect(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain", :cwd => @repo_path).and_return(@dirty_status)
88
+ expect(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain", cwd: @repo_path).and_return(@dirty_status)
89
89
  expect { @cookbook_repo.sanity_check }.to raise_error(SystemExit)
90
90
  end
91
91
 
92
92
  describe "and the repo is clean" do
93
93
  before do
94
94
  @clean_status = Mixlib::ShellOut.new.tap { |s| s.stdout.replace("\n") }
95
- allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain", :cwd => @repo_path).and_return(@clean_status)
95
+ allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain", cwd: @repo_path).and_return(@clean_status)
96
96
  end
97
97
 
98
98
  it "passes the sanity check" do
@@ -106,35 +106,35 @@ DIRTY
106
106
  end
107
107
 
108
108
  it "resets to default state by checking out the default branch" do
109
- expect(@cookbook_repo).to receive(:shell_out!).with("git checkout master", :cwd => @repo_path)
109
+ expect(@cookbook_repo).to receive(:shell_out!).with("git checkout master", cwd: @repo_path)
110
110
  @cookbook_repo.reset_to_default_state
111
111
  end
112
112
 
113
113
  it "determines if a the pristine copy branch exists" do
114
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@branch_list)
114
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@branch_list)
115
115
  expect(@cookbook_repo.branch_exists?("chef-vendor-apache2")).to be_truthy
116
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@branch_list)
116
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@branch_list)
117
117
  expect(@cookbook_repo.branch_exists?("chef-vendor-nginx")).to be_falsey
118
118
  end
119
119
 
120
120
  it "determines if a the branch not exists correctly without substring search" do
121
- expect(@cookbook_repo).to receive(:shell_out!).twice.with("git branch --no-color", :cwd => @repo_path).and_return(@branch_list)
121
+ expect(@cookbook_repo).to receive(:shell_out!).twice.with("git branch --no-color", cwd: @repo_path).and_return(@branch_list)
122
122
  expect(@cookbook_repo).not_to be_branch_exists("chef-vendor-absent")
123
123
  expect(@cookbook_repo).to be_branch_exists("chef-vendor-absent-new")
124
124
  end
125
125
 
126
126
  describe "when the pristine copy branch does not exist" do
127
127
  it "prepares for import by creating the pristine copy branch" do
128
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@branch_list)
129
- expect(@cookbook_repo).to receive(:shell_out!).with("git checkout -b chef-vendor-nginx", :cwd => @repo_path)
128
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@branch_list)
129
+ expect(@cookbook_repo).to receive(:shell_out!).with("git checkout -b chef-vendor-nginx", cwd: @repo_path)
130
130
  @cookbook_repo.prepare_to_import("nginx")
131
131
  end
132
132
  end
133
133
 
134
134
  describe "when the pristine copy branch does exist" do
135
135
  it "prepares for import by checking out the pristine copy branch" do
136
- expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", :cwd => @repo_path).and_return(@branch_list)
137
- expect(@cookbook_repo).to receive(:shell_out!).with("git checkout chef-vendor-apache2", :cwd => @repo_path)
136
+ expect(@cookbook_repo).to receive(:shell_out!).with("git branch --no-color", cwd: @repo_path).and_return(@branch_list)
137
+ expect(@cookbook_repo).to receive(:shell_out!).with("git checkout chef-vendor-apache2", cwd: @repo_path)
138
138
  @cookbook_repo.prepare_to_import("apache2")
139
139
  end
140
140
  end
@@ -143,7 +143,7 @@ DIRTY
143
143
  before do
144
144
  @updates = Mixlib::ShellOut.new
145
145
  @updates.stdout.replace("\n")
146
- allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain -- apache2", :cwd => @repo_path).and_return(@updates)
146
+ allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain -- apache2", cwd: @repo_path).and_return(@updates)
147
147
  end
148
148
 
149
149
  it "shows no changes in the pristine copy" do
@@ -159,7 +159,7 @@ DIRTY
159
159
  before do
160
160
  @updates = Mixlib::ShellOut.new
161
161
  @updates.stdout.replace(" M cookbooks/apache2/recipes/default.rb\n")
162
- allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain -- apache2", :cwd => @repo_path).and_return(@updates)
162
+ allow(@cookbook_repo).to receive(:shell_out!).with("git status --porcelain -- apache2", cwd: @repo_path).and_return(@updates)
163
163
  end
164
164
 
165
165
  it "shows changes in the pristine copy" do
@@ -167,20 +167,20 @@ DIRTY
167
167
  end
168
168
 
169
169
  it "commits the changes to the repo and tags the commit" do
170
- expect(@cookbook_repo).to receive(:shell_out!).with("git add apache2", :cwd => @repo_path)
171
- expect(@cookbook_repo).to receive(:shell_out!).with("git commit -m \"Import apache2 version 1.2.3\" -- apache2", :cwd => @repo_path)
172
- expect(@cookbook_repo).to receive(:shell_out!).with("git tag -f cookbook-site-imported-apache2-1.2.3", :cwd => @repo_path)
170
+ expect(@cookbook_repo).to receive(:shell_out!).with("git add apache2", cwd: @repo_path)
171
+ expect(@cookbook_repo).to receive(:shell_out!).with("git commit -m \"Import apache2 version 1.2.3\" -- apache2", cwd: @repo_path)
172
+ expect(@cookbook_repo).to receive(:shell_out!).with("git tag -f cookbook-site-imported-apache2-1.2.3", cwd: @repo_path)
173
173
  expect(@cookbook_repo.finalize_updates_to("apache2", "1.2.3")).to be_truthy
174
174
  end
175
175
  end
176
176
 
177
177
  describe "when a custom default branch is specified" do
178
178
  before do
179
- @cookbook_repo = Chef::Knife::CookbookSCMRepo.new(@repo_path, @ui, :default_branch => "develop")
179
+ @cookbook_repo = Chef::Knife::CookbookSCMRepo.new(@repo_path, @ui, default_branch: "develop")
180
180
  end
181
181
 
182
182
  it "resets to default state by checking out the default branch" do
183
- expect(@cookbook_repo).to receive(:shell_out!).with("git checkout develop", :cwd => @repo_path)
183
+ expect(@cookbook_repo).to receive(:shell_out!).with("git checkout develop", cwd: @repo_path)
184
184
  @cookbook_repo.reset_to_default_state
185
185
  end
186
186
  end
@@ -57,7 +57,7 @@ describe Chef::Knife::Core::ObjectLoader do
57
57
  it_behaves_like "Chef object", chef_class
58
58
  end
59
59
 
60
- #NOTE: This is check for the bug described at CHEF-2352
60
+ # NOTE: This is check for the bug described at CHEF-2352
61
61
  describe "when the file is a JSON" do
62
62
  describe "and it has defined 'json_class'" do
63
63
  before do
@@ -25,10 +25,10 @@ describe Chef::Knife::UI do
25
25
  before do
26
26
  @out, @err, @in = StringIO.new, StringIO.new, StringIO.new
27
27
  @config = {
28
- :verbosity => 0,
29
- :yes => nil,
30
- :format => "summary",
31
- :field_separator => ".",
28
+ verbosity: 0,
29
+ yes: nil,
30
+ format: "summary",
31
+ field_separator: ".",
32
32
  }
33
33
  @ui = Chef::Knife::UI.new(@out, @err, @in, @config)
34
34
  end
@@ -171,12 +171,12 @@ describe Chef::Knife::UI do
171
171
  describe "format_list_for_display" do
172
172
  it "should print the full hash if --with-uri is true" do
173
173
  @ui.config[:with_uri] = true
174
- expect(@ui.format_list_for_display({ :marcy => :playground })).to eq({ :marcy => :playground })
174
+ expect(@ui.format_list_for_display({ marcy: :playground })).to eq({ marcy: :playground })
175
175
  end
176
176
 
177
177
  it "should print only the keys if --with-uri is false" do
178
178
  @ui.config[:with_uri] = false
179
- expect(@ui.format_list_for_display({ :marcy => :playground })).to eq([ :marcy ])
179
+ expect(@ui.format_list_for_display({ marcy: :playground })).to eq([ :marcy ])
180
180
  end
181
181
  end
182
182
 
@@ -211,9 +211,9 @@ describe Chef::Knife::UI do
211
211
 
212
212
  it "formats hashes appropriately" do
213
213
  @ui.output({ "hi" => "a", "lo" => "b" })
214
- expect(@out.string).to eq <<EOM
215
- hi: a
216
- lo: b
214
+ expect(@out.string).to eq <<~EOM
215
+ hi: a
216
+ lo: b
217
217
  EOM
218
218
  end
219
219
 
@@ -224,9 +224,9 @@ EOM
224
224
 
225
225
  it "formats arrays appropriately" do
226
226
  @ui.output(%w{a b})
227
- expect(@out.string).to eq <<EOM
228
- a
229
- b
227
+ expect(@out.string).to eq <<~EOM
228
+ a
229
+ b
230
230
  EOM
231
231
  end
232
232
 
@@ -247,74 +247,74 @@ EOM
247
247
 
248
248
  it "formats nested arrays appropriately" do
249
249
  @ui.output([ %w{a b}, %w{c d}])
250
- expect(@out.string).to eq <<EOM
251
- a
252
- b
250
+ expect(@out.string).to eq <<~EOM
251
+ a
252
+ b
253
253
 
254
- c
255
- d
254
+ c
255
+ d
256
256
  EOM
257
257
  end
258
258
 
259
259
  it "formats nested arrays with single- and empty subarrays appropriately" do
260
260
  @ui.output([ %w{a b}, [ "c" ], [], %w{d e}])
261
- expect(@out.string).to eq <<EOM
262
- a
263
- b
261
+ expect(@out.string).to eq <<~EOM
262
+ a
263
+ b
264
264
 
265
- c
265
+ c
266
266
 
267
267
 
268
- d
269
- e
268
+ d
269
+ e
270
270
  EOM
271
271
  end
272
272
 
273
273
  it "formats arrays of hashes with extra lines in between for readability" do
274
274
  @ui.output([ { "a" => "b", "c" => "d" }, { "x" => "y" }, { "m" => "n", "o" => "p" }])
275
- expect(@out.string).to eq <<EOM
276
- a: b
277
- c: d
275
+ expect(@out.string).to eq <<~EOM
276
+ a: b
277
+ c: d
278
278
 
279
- x: y
279
+ x: y
280
280
 
281
- m: n
282
- o: p
281
+ m: n
282
+ o: p
283
283
  EOM
284
284
  end
285
285
 
286
286
  it "formats hashes with empty array members appropriately" do
287
287
  @ui.output({ "a" => [], "b" => "c" })
288
- expect(@out.string).to eq <<EOM
289
- a:
290
- b: c
288
+ expect(@out.string).to eq <<~EOM
289
+ a:
290
+ b: c
291
291
  EOM
292
292
  end
293
293
 
294
294
  it "formats hashes with single-member array values appropriately" do
295
295
  @ui.output({ "a" => [ "foo" ], "b" => "c" })
296
- expect(@out.string).to eq <<EOM
297
- a: foo
298
- b: c
296
+ expect(@out.string).to eq <<~EOM
297
+ a: foo
298
+ b: c
299
299
  EOM
300
300
  end
301
301
 
302
302
  it "formats hashes with array members appropriately" do
303
303
  @ui.output({ "a" => %w{foo bar}, "b" => "c" })
304
- expect(@out.string).to eq <<EOM
305
- a:
306
- foo
307
- bar
308
- b: c
304
+ expect(@out.string).to eq <<~EOM
305
+ a:
306
+ foo
307
+ bar
308
+ b: c
309
309
  EOM
310
310
  end
311
311
 
312
312
  it "formats hashes with single-member nested array values appropriately" do
313
313
  @ui.output({ "a" => [ [ "foo" ] ], "b" => "c" })
314
- expect(@out.string).to eq <<EOM
315
- a:
316
- foo
317
- b: c
314
+ expect(@out.string).to eq <<~EOM
315
+ a:
316
+ foo
317
+ b: c
318
318
  EOM
319
319
  end
320
320
 
@@ -327,19 +327,19 @@ EOM
327
327
 
328
328
  it "formats hashes with hash values appropriately" do
329
329
  @ui.output({ "a" => { "aa" => "bb", "cc" => "dd" }, "b" => "c" })
330
- expect(@out.string).to eq <<EOM
331
- a:
332
- aa: bb
333
- cc: dd
334
- b: c
330
+ expect(@out.string).to eq <<~EOM
331
+ a:
332
+ aa: bb
333
+ cc: dd
334
+ b: c
335
335
  EOM
336
336
  end
337
337
 
338
338
  it "formats hashes with empty hash values appropriately" do
339
339
  @ui.output({ "a" => {}, "b" => "c" })
340
- expect(@out.string).to eq <<EOM
341
- a:
342
- b: c
340
+ expect(@out.string).to eq <<~EOM
341
+ a:
342
+ b: c
343
343
  EOM
344
344
  end
345
345
  end
@@ -358,7 +358,7 @@ EOM
358
358
 
359
359
  describe "format_for_display" do
360
360
  it "should return the raw data" do
361
- input = { :gi => :go }
361
+ input = { gi: :go }
362
362
  expect(@ui.format_for_display(input)).to eq(input)
363
363
  end
364
364
 
@@ -480,7 +480,7 @@ EOM
480
480
 
481
481
  context "when running on Windows" do
482
482
  before(:each) do
483
- stdout = double("StringIO", :tty? => true)
483
+ stdout = double("StringIO", tty?: true)
484
484
  allow(@ui).to receive(:stdout).and_return(stdout)
485
485
  allow(ChefConfig).to receive(:windows?) { true }
486
486
  Chef::Config.reset
@@ -631,7 +631,7 @@ EOM
631
631
  out = StringIO.new
632
632
  allow(@ui).to receive(:stdout).and_return(out)
633
633
  allow(@ui).to receive(:stdin).and_return(StringIO.new(" \n"))
634
- expect(@ui.ask_question("your chef server URL? ", :default => "http://localhost:4000")).to eq("http://localhost:4000")
634
+ expect(@ui.ask_question("your chef server URL? ", default: "http://localhost:4000")).to eq("http://localhost:4000")
635
635
  expect(out.string).to eq("your chef server URL? [http://localhost:4000] ")
636
636
  end
637
637
  end