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
@@ -360,7 +360,7 @@ describe Chef::Resource::RemoteFile do
360
360
 
361
361
  it "should raise ContentLengthMismatch" do
362
362
  expect { resource.run_action(:create) }.to raise_error(Chef::Exceptions::ContentLengthMismatch)
363
- #File.should_not exist(path) # XXX: CHEF-5081
363
+ # File.should_not exist(path) # XXX: CHEF-5081
364
364
  end
365
365
  end
366
366
 
@@ -373,7 +373,7 @@ describe Chef::Resource::RemoteFile do
373
373
 
374
374
  it "should raise ContentLengthMismatch" do
375
375
  expect { resource.run_action(:create) }.to raise_error(Chef::Exceptions::ContentLengthMismatch)
376
- #File.should_not exist(path) # XXX: CHEF-5081
376
+ # File.should_not exist(path) # XXX: CHEF-5081
377
377
  end
378
378
  end
379
379
 
@@ -22,7 +22,7 @@ require "chef/mixin/shell_out"
22
22
 
23
23
  # run this test only for following platforms.
24
24
  exclude_test = !%w{aix rhel fedora suse}.include?(ohai[:platform_family])
25
- describe Chef::Resource::RpmPackage, :requires_root, :external => exclude_test do
25
+ describe Chef::Resource::RpmPackage, :requires_root, external: exclude_test do
26
26
  include Chef::Mixin::ShellOut
27
27
 
28
28
  let(:new_resource) do
@@ -68,7 +68,7 @@ describe Chef::Resource::Template do
68
68
  context "when the target file does not exist" do
69
69
  it "creates the template with the rendered content using the variable attribute when the :create action is run" do
70
70
  resource.source("openldap_variable_stuff.conf.erb")
71
- resource.variables(:secret => "nutella")
71
+ resource.variables(secret: "nutella")
72
72
  resource.run_action(:create)
73
73
  expect(IO.read(path)).to eq("super secret is nutella")
74
74
  end
@@ -112,7 +112,7 @@ describe Chef::Resource::Template do
112
112
  context "using single helper syntax referencing @node" do
113
113
  before do
114
114
  node.normal[:helper_test_attr] = "value from helper method"
115
- resource.helper(:helper_method) { "#{@node[:helper_test_attr]}" }
115
+ resource.helper(:helper_method) { (@node[:helper_test_attr]).to_s }
116
116
  end
117
117
 
118
118
  it_behaves_like "a template with helpers"
@@ -213,21 +213,21 @@ describe Chef::Resource::Template do
213
213
  describe "when template variables contain lazy{} calls" do
214
214
  it "resolves the DelayedEvaluator" do
215
215
  resource.source("openldap_variable_stuff.conf.erb")
216
- resource.variables(:secret => Chef::DelayedEvaluator.new { "nutella" })
216
+ resource.variables(secret: Chef::DelayedEvaluator.new { "nutella" })
217
217
  resource.run_action(:create)
218
218
  expect(IO.read(path)).to eq("super secret is nutella")
219
219
  end
220
220
 
221
221
  it "does not mutate the resource variables" do
222
222
  resource.source("openldap_variable_stuff.conf.erb")
223
- resource.variables(:secret => Chef::DelayedEvaluator.new { "nutella" })
223
+ resource.variables(secret: Chef::DelayedEvaluator.new { "nutella" })
224
224
  resource.run_action(:create)
225
225
  expect(resource.variables[:secret]).to be_a Chef::DelayedEvaluator
226
226
  end
227
227
 
228
228
  it "resolves the DelayedEvaluator when deeply nested" do
229
229
  resource.source("openldap_nested_variable_stuff.erb")
230
- resource.variables(:secret => [{ "key" => Chef::DelayedEvaluator.new { "nutella" } }])
230
+ resource.variables(secret: [{ "key" => Chef::DelayedEvaluator.new { "nutella" } }])
231
231
  resource.run_action(:create)
232
232
  expect(IO.read(path)).to eq("super secret is nutella")
233
233
  end
@@ -19,9 +19,9 @@ require "spec_helper"
19
19
  require "chef/mixin/shell_out"
20
20
 
21
21
  metadata = {
22
- :mac_osx_only => true,
23
- :requires_root => true,
24
- :not_supported_on_mac_osx_106 => true,
22
+ mac_osx_only: true,
23
+ requires_root: true,
24
+ not_supported_on_mac_osx_106: true,
25
25
  }
26
26
 
27
27
  describe "Chef::Resource::User with Chef::Provider::User::Dscl provider", metadata do
@@ -188,7 +188,7 @@ describe Chef::Resource::WindowsEnv, :windows_only do
188
188
  test_resource.value("#{path_before};#{env_val}")
189
189
  test_resource.run_action(:create)
190
190
  expect(ENV["PATH"]).not_to include(env_val)
191
- expect(ENV["PATH"]).to include("#{random_name}")
191
+ expect(ENV["PATH"]).to include((random_name).to_s)
192
192
  end
193
193
 
194
194
  after(:each) do
@@ -18,7 +18,7 @@
18
18
 
19
19
  require "spec_helper"
20
20
 
21
- describe Chef::Resource::WindowsService, :windows_only, :system_windows_service_gem_only, :appveyor_only, :broken => true do
21
+ describe Chef::Resource::WindowsService, :windows_only, :system_windows_service_gem_only, :appveyor_only, broken: true do
22
22
  # Marking as broken. This test is causing appveyor tests to exit with 116.
23
23
 
24
24
  include_context "using Win32::Service"
@@ -46,7 +46,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
46
46
  it "creates scheduled task and sets command arguments" do
47
47
  subject.command "chef-client -W"
48
48
  call_for_create_action
49
- #loading current resource again to check new task is creted and it matches task parameters
49
+ # loading current resource again to check new task is creted and it matches task parameters
50
50
  current_resource = call_for_load_current_resource
51
51
  expect(current_resource.exists).to eq(true)
52
52
  expect(current_resource.task.application_name).to eq("chef-client")
@@ -64,7 +64,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
64
64
  it "creates scheduled task and sets command arguments" do
65
65
  subject.command "chef-client -W -L 'C:\\chef\\chef-ad-join.log'"
66
66
  call_for_create_action
67
- #loading current resource again to check new task is creted and it matches task parameters
67
+ # loading current resource again to check new task is creted and it matches task parameters
68
68
  current_resource = call_for_load_current_resource
69
69
  expect(current_resource.exists).to eq(true)
70
70
  expect(current_resource.task.application_name).to eq("chef-client")
@@ -82,7 +82,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
82
82
  it "creates scheduled task and sets command arguments" do
83
83
  subject.command '"C:\\Program Files\\example\program.exe" -arg1 --arg2'
84
84
  call_for_create_action
85
- #loading current resource again to check new task is creted and it matches task parameters
85
+ # loading current resource again to check new task is creted and it matches task parameters
86
86
  current_resource = call_for_load_current_resource
87
87
  expect(current_resource.exists).to eq(true)
88
88
  expect(current_resource.task.application_name).to eq("C:\\Program Files\\example\\program.exe")
@@ -100,7 +100,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
100
100
  it "creates scheduled task and sets command arguments" do
101
101
  subject.command "ping http://www.google.com"
102
102
  call_for_create_action
103
- #loading current resource again to check new task is creted and it matches task parameters
103
+ # loading current resource again to check new task is creted and it matches task parameters
104
104
  current_resource = call_for_load_current_resource
105
105
  expect(current_resource.exists).to eq(true)
106
106
  expect(current_resource.task.application_name).to eq("ping")
@@ -129,7 +129,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
129
129
 
130
130
  it "creates a scheduled task to run every 1 hr starting on 09/20/2017" do
131
131
  call_for_create_action
132
- #loading current resource again to check new task is creted and it matches task parameters
132
+ # loading current resource again to check new task is creted and it matches task parameters
133
133
  current_resource = call_for_load_current_resource
134
134
  expect(current_resource.exists).to eq(true)
135
135
  expect(current_resource.task.application_name).to eq(task_name)
@@ -161,7 +161,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
161
161
 
162
162
  it "creates a scheduled task that runs after every 15 minutes" do
163
163
  call_for_create_action
164
- #loading current resource again to check new task is creted and it matches task parameters
164
+ # loading current resource again to check new task is creted and it matches task parameters
165
165
  current_resource = call_for_load_current_resource
166
166
  expect(current_resource.exists).to eq(true)
167
167
  trigger_details = current_resource.task.trigger(0)
@@ -209,7 +209,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
209
209
 
210
210
  it "creates a scheduled task that runs after every 3 hrs" do
211
211
  call_for_create_action
212
- #loading current resource again to check new task is creted and it matches task parameters
212
+ # loading current resource again to check new task is creted and it matches task parameters
213
213
  current_resource = call_for_load_current_resource
214
214
  expect(current_resource.exists).to eq(true)
215
215
  trigger_details = current_resource.task.trigger(0)
@@ -254,7 +254,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
254
254
 
255
255
  it "creates a scheduled task to run daily" do
256
256
  call_for_create_action
257
- #loading current resource again to check new task is creted and it matches task parameters
257
+ # loading current resource again to check new task is creted and it matches task parameters
258
258
  current_resource = call_for_load_current_resource
259
259
  expect(current_resource.exists).to eq(true)
260
260
  trigger_details = current_resource.task.trigger(0)
@@ -289,7 +289,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
289
289
 
290
290
  it "if day property is not set creates a scheduled task to run monthly on first day of the month" do
291
291
  call_for_create_action
292
- #loading current resource again to check new task is creted and it matches task parameters
292
+ # loading current resource again to check new task is creted and it matches task parameters
293
293
  current_resource = call_for_load_current_resource
294
294
  expect(current_resource.exists).to eq(true)
295
295
  trigger_details = current_resource.task.trigger(0)
@@ -309,7 +309,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
309
309
  it "creates a scheduled task to run monthly on first, second and third day of the month" do
310
310
  subject.day "1, 2, 3"
311
311
  call_for_create_action
312
- #loading current resource again to check new task is created and it matches task parameters
312
+ # loading current resource again to check new task is created and it matches task parameters
313
313
  current_resource = call_for_load_current_resource
314
314
  expect(current_resource.exists).to eq(true)
315
315
  trigger_details = current_resource.task.trigger(0)
@@ -330,15 +330,15 @@ describe Chef::Resource::WindowsTask, :windows_only do
330
330
  it "creates a scheduled task to run monthly on 1, 2, 3, 4, 8, 20, 21, 15, 28, 31 day of the month" do
331
331
  subject.day "1, 2, 3, 4, 8, 20, 21, 15, 28, 31"
332
332
  call_for_create_action
333
- #loading current resource again to check new task is created and it matches task parameters
333
+ # loading current resource again to check new task is created and it matches task parameters
334
334
  current_resource = call_for_load_current_resource
335
335
  expect(current_resource.exists).to eq(true)
336
336
  trigger_details = current_resource.task.trigger(0)
337
337
  expect(current_resource.task.application_name).to eq(task_name)
338
338
  expect(trigger_details[:trigger_type]).to eq(4)
339
339
  expect(current_resource.task.principals[:run_level]).to eq(1)
340
- expect(trigger_details[:type][:days]).to eq(1209548943) #TODO:: windows_task_provider.send(:days_of_month)
341
- expect(trigger_details[:type][:months]).to eq(4095) #windows_task_provider.send(:months_of_year)
340
+ expect(trigger_details[:type][:days]).to eq(1209548943) # TODO:: windows_task_provider.send(:days_of_month)
341
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
342
342
  end
343
343
 
344
344
  it "does not converge the resource if it is already converged" do
@@ -352,15 +352,15 @@ describe Chef::Resource::WindowsTask, :windows_only do
352
352
  subject.day "1, 2, 3, 4, 8, 20, 21, 30"
353
353
  subject.months "Jan, Feb, May, Sep, Dec"
354
354
  call_for_create_action
355
- #loading current resource again to check new task is created and it matches task parameters
355
+ # loading current resource again to check new task is created and it matches task parameters
356
356
  current_resource = call_for_load_current_resource
357
357
  expect(current_resource.exists).to eq(true)
358
358
  trigger_details = current_resource.task.trigger(0)
359
359
  expect(current_resource.task.application_name).to eq(task_name)
360
360
  expect(trigger_details[:trigger_type]).to eq(4)
361
361
  expect(current_resource.task.principals[:run_level]).to eq(1)
362
- expect(trigger_details[:type][:days]).to eq(538443919) #TODO:windows_task_provider.send(:days_of_month)
363
- expect(trigger_details[:type][:months]).to eq(2323) #windows_task_provider.send(:months_of_year)
362
+ expect(trigger_details[:type][:days]).to eq(538443919) # TODO:windows_task_provider.send(:days_of_month)
363
+ expect(trigger_details[:type][:months]).to eq(2323) # windows_task_provider.send(:months_of_year)
364
364
  end
365
365
 
366
366
  it "does not converge the resource if it is already converged" do
@@ -375,7 +375,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
375
375
  subject.frequency_modifier "First"
376
376
  subject.day "Mon, Fri, Sun"
377
377
  call_for_create_action
378
- #loading current resource again to check new task is created and it matches task parameters
378
+ # loading current resource again to check new task is created and it matches task parameters
379
379
  current_resource = call_for_load_current_resource
380
380
  expect(current_resource.exists).to eq(true)
381
381
  trigger_details = current_resource.task.trigger(0)
@@ -384,7 +384,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
384
384
  expect(current_resource.task.principals[:run_level]).to eq(1)
385
385
  expect(trigger_details[:type][:days_of_week]).to eq(35)
386
386
  expect(trigger_details[:type][:weeks_of_month]).to eq(1)
387
- expect(trigger_details[:type][:months]).to eq(4095) #windows_task_provider.send(:months_of_year)
387
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
388
388
  end
389
389
 
390
390
  it "does not converge the resource if it is already converged" do
@@ -606,7 +606,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
606
606
  subject.day "2"
607
607
  subject.start_day "03/07/2018"
608
608
  call_for_create_action
609
- #loading current resource again to check new task is creted and it matches task parameters
609
+ # loading current resource again to check new task is creted and it matches task parameters
610
610
  current_resource = call_for_load_current_resource
611
611
  expect(current_resource.exists).to eq(true)
612
612
  trigger_details = current_resource.task.trigger(0)
@@ -628,7 +628,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
628
628
  it "creates a scheduled task to run monthly on first, second and third day of the month" do
629
629
  subject.day "1,2,3"
630
630
  call_for_create_action
631
- #loading current resource again to check new task is creted and it matches task parameters
631
+ # loading current resource again to check new task is creted and it matches task parameters
632
632
  current_resource = call_for_load_current_resource
633
633
  expect(current_resource.exists).to eq(true)
634
634
  trigger_details = current_resource.task.trigger(0)
@@ -649,7 +649,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
649
649
  it "creates a scheduled task to run monthly on each wednesday of the month" do
650
650
  subject.frequency_modifier "1"
651
651
  call_for_create_action
652
- #loading current resource again to check new task is creted and it matches task parameters
652
+ # loading current resource again to check new task is creted and it matches task parameters
653
653
  current_resource = call_for_load_current_resource
654
654
  expect(current_resource.exists).to eq(true)
655
655
  trigger_details = current_resource.task.trigger(0)
@@ -657,7 +657,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
657
657
  expect(trigger_details[:trigger_type]).to eq(4)
658
658
  expect(current_resource.task.principals[:run_level]).to eq(1)
659
659
  expect(trigger_details[:type][:days]).to eq(1)
660
- expect(trigger_details[:type][:months]).to eq(4095) #windows_task_provider.send(:months_of_year)
660
+ expect(trigger_details[:type][:months]).to eq(4095) # windows_task_provider.send(:months_of_year)
661
661
  end
662
662
 
663
663
  it "does not converge the resource if it is already converged" do
@@ -671,16 +671,16 @@ describe Chef::Resource::WindowsTask, :windows_only do
671
671
  subject.frequency_modifier "2"
672
672
  subject.months = nil
673
673
  call_for_create_action
674
- #loading current resource again to check new task is creted and it matches task parameters
674
+ # loading current resource again to check new task is creted and it matches task parameters
675
675
  current_resource = call_for_load_current_resource
676
676
  expect(current_resource.exists).to eq(true)
677
677
  trigger_details = current_resource.task.trigger(0)
678
- #loading current resource
678
+ # loading current resource
679
679
  expect(current_resource.task.application_name).to eq(task_name)
680
680
  expect(trigger_details[:trigger_type]).to eq(4)
681
681
  expect(current_resource.task.principals[:run_level]).to eq(1)
682
682
  expect(trigger_details[:type][:days]).to eq(1)
683
- expect(trigger_details[:type][:months]).to eq(2730) #windows_task_provider.send(:months_of_year)
683
+ expect(trigger_details[:type][:months]).to eq(2730) # windows_task_provider.send(:months_of_year)
684
684
  end
685
685
 
686
686
  it "does not converge the resource if it is already converged" do
@@ -714,7 +714,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
714
714
  it "creates the scheduled task to run once at 5pm" do
715
715
  subject.start_time "17:00"
716
716
  call_for_create_action
717
- #loading current resource again to check new task is creted and it matches task parameters
717
+ # loading current resource again to check new task is creted and it matches task parameters
718
718
  current_resource = call_for_load_current_resource
719
719
  expect(current_resource.exists).to eq(true)
720
720
  trigger_details = current_resource.task.trigger(0)
@@ -745,7 +745,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
745
745
 
746
746
  it "creates the scheduled task to run weekly" do
747
747
  call_for_create_action
748
- #loading current resource again to check new task is creted and it matches task parameters
748
+ # loading current resource again to check new task is creted and it matches task parameters
749
749
  current_resource = call_for_load_current_resource
750
750
  expect(current_resource.exists).to eq(true)
751
751
  trigger_details = current_resource.task.trigger(0)
@@ -765,7 +765,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
765
765
  it "creates hte scheduled task for all days of week" do
766
766
  subject.day "*"
767
767
  call_for_create_action
768
- #loading current resource again to check new task is creted and it matches task parameters
768
+ # loading current resource again to check new task is creted and it matches task parameters
769
769
  current_resource = call_for_load_current_resource
770
770
  expect(current_resource.exists).to eq(true)
771
771
  trigger_details = current_resource.task.trigger(0)
@@ -789,7 +789,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
789
789
  subject.day "Mon, Fri"
790
790
  subject.frequency_modifier 2
791
791
  call_for_create_action
792
- #loading current resource again to check new task is creted and it matches task parameters
792
+ # loading current resource again to check new task is creted and it matches task parameters
793
793
  current_resource = call_for_load_current_resource
794
794
  expect(current_resource.exists).to eq(true)
795
795
  trigger_details = current_resource.task.trigger(0)
@@ -894,7 +894,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
894
894
 
895
895
  it "creates the scheduled task to run at system start up" do
896
896
  call_for_create_action
897
- #loading current resource again to check new task is creted and it matches task parameters
897
+ # loading current resource again to check new task is creted and it matches task parameters
898
898
  current_resource = call_for_load_current_resource
899
899
  expect(current_resource.exists).to eq(true)
900
900
  trigger_details = current_resource.task.trigger(0)
@@ -914,7 +914,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
914
914
  subject.start_day "09/10/2018"
915
915
  subject.start_time "15:00"
916
916
  call_for_create_action
917
- #loading current resource again to check new task is creted and it matches task parameters
917
+ # loading current resource again to check new task is creted and it matches task parameters
918
918
  current_resource = call_for_load_current_resource
919
919
  expect(current_resource.exists).to eq(true)
920
920
  trigger_details = current_resource.task.trigger(0)
@@ -941,7 +941,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
941
941
 
942
942
  it "creates the scheduled task to on logon" do
943
943
  call_for_create_action
944
- #loading current resource again to check new task is creted and it matches task parameters
944
+ # loading current resource again to check new task is creted and it matches task parameters
945
945
  current_resource = call_for_load_current_resource
946
946
  expect(current_resource.exists).to eq(true)
947
947
  trigger_details = current_resource.task.trigger(0)
@@ -961,7 +961,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
961
961
  subject.start_day "09/10/2018"
962
962
  subject.start_time "15:00"
963
963
  call_for_create_action
964
- #loading current resource again to check new task is creted and it matches task parameters
964
+ # loading current resource again to check new task is creted and it matches task parameters
965
965
  current_resource = call_for_load_current_resource
966
966
  expect(current_resource.exists).to eq(true)
967
967
  trigger_details = current_resource.task.trigger(0)
@@ -996,7 +996,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
996
996
  it "creates the scheduled task to run when system is idle" do
997
997
  subject.idle_time 20
998
998
  call_for_create_action
999
- #loading current resource again to check new task is creted and it matches task parameters
999
+ # loading current resource again to check new task is creted and it matches task parameters
1000
1000
  current_resource = call_for_load_current_resource
1001
1001
  expect(current_resource.exists).to eq(true)
1002
1002
  trigger_details = current_resource.task.trigger(0)
@@ -1021,7 +1021,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
1021
1021
  subject.start_day "09/10/2018"
1022
1022
  subject.start_time "15:00"
1023
1023
  call_for_create_action
1024
- #loading current resource again to check new task is creted and it matches task parameters
1024
+ # loading current resource again to check new task is creted and it matches task parameters
1025
1025
  current_resource = call_for_load_current_resource
1026
1026
  expect(current_resource.exists).to eq(true)
1027
1027
  trigger_details = current_resource.task.trigger(0)
@@ -1049,7 +1049,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
1049
1049
  subject.frequency :minute
1050
1050
  subject.random_delay "20"
1051
1051
  call_for_create_action
1052
- #loading current resource again to check new task is creted and it matches task parameters
1052
+ # loading current resource again to check new task is creted and it matches task parameters
1053
1053
  current_resource = call_for_load_current_resource
1054
1054
  expect(current_resource.exists).to eq(true)
1055
1055
  trigger_details = current_resource.task.trigger(0)
@@ -1092,7 +1092,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
1092
1092
 
1093
1093
  it "creates the scheduled task to run on demand only" do
1094
1094
  call_for_create_action
1095
- #loading current resource again to check new task is creted and it matches task parameters
1095
+ # loading current resource again to check new task is creted and it matches task parameters
1096
1096
  current_resource = call_for_load_current_resource
1097
1097
  expect(current_resource.exists).to eq(true)
1098
1098
 
@@ -1109,6 +1109,60 @@ describe Chef::Resource::WindowsTask, :windows_only do
1109
1109
  end
1110
1110
  end
1111
1111
 
1112
+ context "task_name with parent folder" do
1113
+ describe "task_name with path '\\foo\\chef-client-functional-test' " do
1114
+ let(:task_name) { "\\foo\\chef-client-functional-test" }
1115
+ after { delete_task }
1116
+ subject do
1117
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1118
+ new_resource.command task_name
1119
+ new_resource.run_level :highest
1120
+ new_resource.frequency :once
1121
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accespts this
1122
+ new_resource
1123
+ end
1124
+
1125
+ it "creates the scheduled task with task name 'chef-client-functional-test' inside path '\\foo'" do
1126
+ call_for_create_action
1127
+ current_resource = call_for_load_current_resource
1128
+ expect(current_resource.exists).to eq(true)
1129
+ expect(current_resource.task.application_name).to eq(task_name)
1130
+ end
1131
+
1132
+ it "does not converge the resource if it is already converged" do
1133
+ subject.run_action(:create)
1134
+ subject.run_action(:create)
1135
+ expect(subject).not_to be_updated_by_last_action
1136
+ end
1137
+ end
1138
+
1139
+ describe "task_name with path '\\foo\\bar\\chef-client-functional-test' " do
1140
+ let(:task_name) { "\\foo\\bar\\chef-client-functional-test" }
1141
+ after { delete_task }
1142
+ subject do
1143
+ new_resource = Chef::Resource::WindowsTask.new(task_name, run_context)
1144
+ new_resource.command task_name
1145
+ new_resource.run_level :highest
1146
+ new_resource.frequency :once
1147
+ new_resource.execution_time_limit = 259200 / 60 # converting "PT72H" into minutes and passing here since win32-taskscheduler accespts this
1148
+ new_resource
1149
+ end
1150
+
1151
+ it "creates the scheduled task with task with name 'chef-client-functional-test' inside path '\\foo\\bar' " do
1152
+ call_for_create_action
1153
+ current_resource = call_for_load_current_resource
1154
+ expect(current_resource.exists).to eq(true)
1155
+ expect(current_resource.task.application_name).to eq(task_name)
1156
+ end
1157
+
1158
+ it "does not converge the resource if it is already converged" do
1159
+ subject.run_action(:create)
1160
+ subject.run_action(:create)
1161
+ expect(subject).not_to be_updated_by_last_action
1162
+ end
1163
+ end
1164
+ end
1165
+
1112
1166
  describe "Examples of idempotent checks for each frequency" do
1113
1167
  after { delete_task }
1114
1168
  context "For frequency :once" do
@@ -1460,7 +1514,7 @@ describe Chef::Resource::WindowsTask, :windows_only do
1460
1514
  subject.run_action(:run)
1461
1515
  subject.run_action(:end)
1462
1516
  current_resource = call_for_load_current_resource
1463
- expect(current_resource.task.status).to eq("queued").or eq("ready") #queued or can be ready
1517
+ expect(current_resource.task.status).to eq("queued").or eq("ready") # queued or can be ready
1464
1518
  end
1465
1519
  end
1466
1520