chef 12.0.3-x86-mingw32 → 12.1.0.rc.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +4 -1
  3. data/README.md +42 -18
  4. data/distro/common/html/_sources/ctl_chef_client.txt +1 -1
  5. data/distro/common/html/_sources/ctl_chef_server.txt +53 -35
  6. data/distro/common/html/_sources/ctl_chef_solo.txt +1 -1
  7. data/distro/common/html/_sources/knife_bootstrap.txt +1 -1
  8. data/distro/common/html/_sources/knife_cookbook_site.txt +1 -1
  9. data/distro/common/html/_sources/knife_data_bag.txt +4 -4
  10. data/distro/common/html/_sources/knife_status.txt +1 -1
  11. data/distro/common/html/_static/searchtools.js +1 -1
  12. data/distro/common/html/ctl_chef_client.html +55 -7
  13. data/distro/common/html/ctl_chef_server.html +84 -41
  14. data/distro/common/html/ctl_chef_shell.html +45 -1
  15. data/distro/common/html/ctl_chef_solo.html +51 -5
  16. data/distro/common/html/index.html +2 -2
  17. data/distro/common/html/knife.html +1 -1
  18. data/distro/common/html/knife_bootstrap.html +30 -10
  19. data/distro/common/html/knife_cookbook_site.html +2 -0
  20. data/distro/common/html/knife_data_bag.html +4 -4
  21. data/distro/common/html/knife_node.html +2 -2
  22. data/distro/common/html/knife_raw.html +1 -1
  23. data/distro/common/html/knife_role.html +1 -1
  24. data/distro/common/html/knife_search.html +3 -3
  25. data/distro/common/html/knife_status.html +4 -0
  26. data/distro/common/html/searchindex.js +1 -1
  27. data/distro/common/man/man1/chef-shell.1 +72 -1
  28. data/distro/common/man/man1/knife-bootstrap.1 +71 -63
  29. data/distro/common/man/man1/knife-client.1 +1 -1
  30. data/distro/common/man/man1/knife-configure.1 +1 -1
  31. data/distro/common/man/man1/knife-cookbook-site.1 +4 -1
  32. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  33. data/distro/common/man/man1/knife-data-bag.1 +5 -5
  34. data/distro/common/man/man1/knife-delete.1 +1 -1
  35. data/distro/common/man/man1/knife-deps.1 +1 -1
  36. data/distro/common/man/man1/knife-diff.1 +1 -1
  37. data/distro/common/man/man1/knife-download.1 +1 -1
  38. data/distro/common/man/man1/knife-edit.1 +1 -1
  39. data/distro/common/man/man1/knife-environment.1 +1 -1
  40. data/distro/common/man/man1/knife-exec.1 +1 -1
  41. data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
  42. data/distro/common/man/man1/knife-list.1 +1 -1
  43. data/distro/common/man/man1/knife-node.1 +3 -3
  44. data/distro/common/man/man1/knife-raw.1 +2 -2
  45. data/distro/common/man/man1/knife-recipe-list.1 +1 -1
  46. data/distro/common/man/man1/knife-role.1 +2 -2
  47. data/distro/common/man/man1/knife-search.1 +4 -4
  48. data/distro/common/man/man1/knife-serve.1 +1 -1
  49. data/distro/common/man/man1/knife-show.1 +1 -1
  50. data/distro/common/man/man1/knife-ssh.1 +1 -1
  51. data/distro/common/man/man1/knife-ssl-check.1 +1 -1
  52. data/distro/common/man/man1/knife-ssl-fetch.1 +1 -1
  53. data/distro/common/man/man1/knife-status.1 +1 -1
  54. data/distro/common/man/man1/knife-tag.1 +1 -1
  55. data/distro/common/man/man1/knife-upload.1 +1 -1
  56. data/distro/common/man/man1/knife-user.1 +1 -1
  57. data/distro/common/man/man1/knife-xargs.1 +1 -1
  58. data/distro/common/man/man1/knife.1 +1 -1
  59. data/distro/common/man/man8/chef-apply.8 +86 -0
  60. data/distro/common/man/man8/chef-client.8 +76 -5
  61. data/distro/common/man/man8/chef-solo.8 +79 -6
  62. data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
  63. data/distro/common/markdown/man1/knife-cookbook-site.mkd +1 -1
  64. data/distro/common/markdown/man1/knife-data-bag.mkd +1 -1
  65. data/distro/common/markdown/man1/knife-environment.mkd +1 -1
  66. data/distro/common/markdown/man1/knife.mkd +1 -1
  67. data/lib/chef.rb +0 -7
  68. data/lib/chef/api_client.rb +10 -2
  69. data/lib/chef/api_client/registration.rb +7 -9
  70. data/lib/chef/application.rb +28 -12
  71. data/lib/chef/application/apply.rb +17 -1
  72. data/lib/chef/application/client.rb +74 -6
  73. data/lib/chef/application/knife.rb +1 -2
  74. data/lib/chef/application/solo.rb +30 -0
  75. data/lib/chef/application/windows_service.rb +1 -0
  76. data/lib/chef/application/windows_service_manager.rb +8 -2
  77. data/lib/chef/applications.rb +0 -1
  78. data/lib/chef/audit/audit_event_proxy.rb +93 -0
  79. data/lib/chef/audit/audit_reporter.rb +169 -0
  80. data/lib/chef/audit/control_group_data.rb +140 -0
  81. data/lib/chef/audit/rspec_formatter.rb +37 -0
  82. data/lib/chef/audit/runner.rb +178 -0
  83. data/lib/chef/chef_fs/chef_fs_data_store.rb +11 -2
  84. data/lib/chef/chef_fs/config.rb +25 -4
  85. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +15 -0
  86. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -0
  87. data/lib/chef/chef_fs/file_system.rb +1 -1
  88. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +5 -0
  89. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +3 -2
  90. data/lib/chef/{shef/ext.rb → chef_fs/file_system/chef_repository_file_system_policies_dir.rb} +22 -3
  91. data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +4 -0
  92. data/lib/chef/client.rb +81 -52
  93. data/lib/chef/config.rb +35 -3
  94. data/lib/chef/cookbook/metadata.rb +3 -3
  95. data/lib/chef/cookbook_manifest.rb +275 -0
  96. data/lib/chef/cookbook_site_streaming_uploader.rb +24 -23
  97. data/lib/chef/cookbook_uploader.rb +11 -2
  98. data/lib/chef/cookbook_version.rb +71 -194
  99. data/lib/chef/data_bag.rb +5 -2
  100. data/lib/chef/data_bag_item.rb +6 -3
  101. data/lib/chef/deprecation/warnings.rb +5 -4
  102. data/lib/chef/dsl/audit.rb +51 -0
  103. data/lib/chef/dsl/include_recipe.rb +2 -3
  104. data/lib/chef/dsl/reboot_pending.rb +1 -1
  105. data/lib/chef/dsl/recipe.rb +49 -31
  106. data/lib/chef/encrypted_data_bag_item/assertions.rb +0 -3
  107. data/lib/chef/environment.rb +5 -2
  108. data/lib/chef/event_dispatch/base.rb +36 -1
  109. data/lib/chef/event_dispatch/dispatcher.rb +3 -5
  110. data/lib/chef/exceptions.rb +61 -2
  111. data/lib/chef/file_access_control/unix.rb +12 -0
  112. data/lib/chef/file_access_control/windows.rb +14 -0
  113. data/lib/chef/formatters/doc.rb +47 -1
  114. data/{spec/unit/monkey_patches/string_spec.rb → lib/chef/guard_interpreter.rb} +11 -16
  115. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -2
  116. data/lib/chef/http.rb +1 -2
  117. data/lib/chef/knife.rb +5 -3
  118. data/lib/chef/knife/bootstrap.rb +84 -15
  119. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +165 -0
  120. data/lib/chef/knife/bootstrap/client_builder.rb +190 -0
  121. data/lib/chef/knife/bootstrap/{README.md → templates/README.md} +0 -0
  122. data/lib/chef/knife/bootstrap/{archlinux-gems.erb → templates/archlinux-gems.erb} +9 -0
  123. data/lib/chef/knife/bootstrap/{chef-aix.erb → templates/chef-aix.erb} +9 -0
  124. data/lib/chef/knife/bootstrap/{chef-full.erb → templates/chef-full.erb} +10 -1
  125. data/lib/chef/knife/client_create.rb +8 -7
  126. data/lib/chef/knife/cookbook_site_download.rb +1 -1
  127. data/lib/chef/knife/cookbook_site_install.rb +1 -1
  128. data/lib/chef/knife/cookbook_site_list.rb +1 -1
  129. data/lib/chef/knife/cookbook_site_search.rb +1 -1
  130. data/lib/chef/knife/cookbook_site_share.rb +39 -28
  131. data/lib/chef/knife/cookbook_site_show.rb +3 -3
  132. data/lib/chef/knife/cookbook_site_unshare.rb +1 -1
  133. data/lib/chef/knife/cookbook_test.rb +1 -0
  134. data/lib/chef/knife/cookbook_upload.rb +13 -8
  135. data/lib/chef/knife/core/bootstrap_context.rb +14 -3
  136. data/lib/chef/knife/core/generic_presenter.rb +5 -2
  137. data/lib/chef/knife/core/object_loader.rb +1 -1
  138. data/lib/chef/knife/core/subcommand_loader.rb +24 -0
  139. data/lib/chef/knife/core/ui.rb +9 -1
  140. data/lib/chef/knife/node_run_list_remove.rb +11 -3
  141. data/lib/chef/knife/raw.rb +14 -3
  142. data/lib/chef/knife/role_env_run_list_add.rb +86 -0
  143. data/lib/chef/knife/role_env_run_list_clear.rb +55 -0
  144. data/lib/chef/knife/role_env_run_list_remove.rb +57 -0
  145. data/lib/chef/knife/role_env_run_list_replace.rb +59 -0
  146. data/lib/chef/knife/role_env_run_list_set.rb +70 -0
  147. data/lib/chef/knife/role_run_list_add.rb +86 -0
  148. data/lib/chef/knife/role_run_list_clear.rb +55 -0
  149. data/lib/chef/knife/role_run_list_remove.rb +57 -0
  150. data/lib/chef/knife/role_run_list_replace.rb +59 -0
  151. data/lib/chef/knife/role_run_list_set.rb +70 -0
  152. data/lib/chef/knife/search.rb +4 -4
  153. data/lib/chef/knife/serve.rb +3 -0
  154. data/lib/chef/knife/ssh.rb +1 -1
  155. data/lib/chef/knife/ssl_check.rb +2 -2
  156. data/lib/chef/knife/ssl_fetch.rb +14 -1
  157. data/lib/chef/log.rb +10 -1
  158. data/lib/chef/mixin/command.rb +1 -1
  159. data/lib/chef/mixin/command/windows.rb +1 -5
  160. data/lib/chef/mixin/get_source_from_package.rb +1 -0
  161. data/lib/chef/mixin/params_validate.rb +2 -2
  162. data/lib/chef/mixin/securable.rb +1 -7
  163. data/lib/chef/mixin/shell_out.rb +7 -1
  164. data/lib/chef/mixin/template.rb +2 -14
  165. data/lib/chef/mixin/why_run.rb +1 -1
  166. data/lib/chef/monkey_patches/net_http.rb +4 -0
  167. data/lib/chef/monologger.rb +0 -2
  168. data/lib/chef/node.rb +5 -2
  169. data/lib/chef/node/attribute.rb +11 -9
  170. data/lib/chef/node/attribute_collections.rb +8 -12
  171. data/lib/chef/node/immutable_collections.rb +4 -10
  172. data/lib/chef/org.rb +148 -0
  173. data/lib/chef/platform/provider_mapping.rb +3 -2
  174. data/lib/chef/platform/provider_priority_map.rb +2 -0
  175. data/lib/chef/platform/query_helpers.rb +0 -3
  176. data/lib/chef/policy_builder/policyfile.rb +51 -8
  177. data/lib/chef/provider/deploy.rb +1 -2
  178. data/lib/chef/provider/directory.rb +3 -3
  179. data/lib/chef/provider/dsc_script.rb +13 -7
  180. data/lib/chef/provider/env.rb +8 -8
  181. data/lib/chef/provider/execute.rb +55 -36
  182. data/lib/chef/provider/file.rb +8 -0
  183. data/lib/chef/provider/group.rb +2 -0
  184. data/lib/chef/provider/group/dscl.rb +3 -4
  185. data/lib/chef/provider/ifconfig.rb +25 -25
  186. data/lib/chef/provider/ifconfig/aix.rb +25 -27
  187. data/lib/chef/provider/lwrp_base.rb +1 -1
  188. data/lib/chef/provider/mount.rb +2 -2
  189. data/lib/chef/provider/mount/mount.rb +3 -4
  190. data/lib/chef/provider/mount/solaris.rb +1 -1
  191. data/lib/chef/provider/package.rb +297 -48
  192. data/lib/chef/provider/package/aix.rb +25 -30
  193. data/lib/chef/provider/package/apt.rb +63 -19
  194. data/lib/chef/provider/package/dpkg.rb +15 -16
  195. data/lib/chef/provider/package/macports.rb +7 -7
  196. data/lib/chef/provider/package/openbsd.rb +107 -0
  197. data/lib/chef/provider/package/pacman.rb +13 -15
  198. data/lib/chef/provider/package/portage.rb +3 -4
  199. data/lib/chef/provider/package/rpm.rb +28 -17
  200. data/lib/chef/provider/package/rubygems.rb +9 -9
  201. data/lib/chef/provider/package/solaris.rb +17 -21
  202. data/lib/chef/provider/package/windows/msi.rb +1 -1
  203. data/lib/chef/provider/package/yum-dump.py +2 -2
  204. data/lib/chef/provider/package/yum.rb +117 -51
  205. data/lib/chef/provider/package/zypper.rb +17 -18
  206. data/lib/chef/provider/powershell_script.rb +4 -4
  207. data/lib/chef/provider/registry_key.rb +2 -2
  208. data/lib/chef/provider/remote_directory.rb +1 -1
  209. data/lib/chef/provider/script.rb +25 -16
  210. data/lib/chef/provider/service.rb +1 -1
  211. data/lib/chef/provider/service/freebsd.rb +1 -1
  212. data/lib/chef/provider/service/openbsd.rb +216 -0
  213. data/lib/chef/provider/service/upstart.rb +1 -1
  214. data/lib/chef/provider/service/windows.rb +99 -1
  215. data/lib/chef/provider/user.rb +1 -1
  216. data/lib/chef/provider/user/dscl.rb +19 -4
  217. data/lib/chef/providers.rb +2 -0
  218. data/lib/chef/recipe.rb +11 -5
  219. data/lib/chef/request_id.rb +1 -1
  220. data/lib/chef/resource.rb +839 -444
  221. data/lib/chef/resource/chef_gem.rb +20 -3
  222. data/lib/chef/resource/conditional.rb +3 -14
  223. data/lib/chef/resource/dsc_script.rb +14 -0
  224. data/lib/chef/resource/execute.rb +14 -7
  225. data/lib/chef/resource/file.rb +14 -0
  226. data/lib/chef/resource/file/verification.rb +122 -0
  227. data/lib/chef/resource/ips_package.rb +1 -1
  228. data/lib/chef/resource/lwrp_base.rb +2 -11
  229. data/lib/chef/resource/macports_package.rb +2 -1
  230. data/lib/chef/resource/openbsd_package.rb +51 -0
  231. data/lib/chef/resource/package.rb +2 -2
  232. data/lib/chef/resource/paludis_package.rb +1 -1
  233. data/lib/chef/resource/reboot.rb +1 -1
  234. data/lib/chef/resource/remote_file.rb +1 -0
  235. data/lib/chef/resource/rpm_package.rb +9 -0
  236. data/lib/chef/resource/script.rb +11 -0
  237. data/lib/chef/resource/template.rb +2 -3
  238. data/lib/chef/resource/windows_package.rb +1 -1
  239. data/lib/chef/resource/windows_service.rb +18 -0
  240. data/lib/chef/resource_builder.rb +137 -0
  241. data/lib/chef/resource_definition.rb +1 -1
  242. data/lib/chef/resource_reporter.rb +1 -1
  243. data/lib/chef/resources.rb +1 -0
  244. data/lib/chef/role.rb +17 -4
  245. data/lib/chef/run_context.rb +10 -6
  246. data/lib/chef/search/query.rb +66 -87
  247. data/lib/chef/shell/ext.rb +2 -2
  248. data/lib/chef/util/diff.rb +1 -4
  249. data/lib/chef/util/dsc/configuration_generator.rb +30 -6
  250. data/lib/chef/util/dsc/lcm_output_parser.rb +7 -3
  251. data/lib/chef/util/dsc/local_configuration_manager.rb +8 -8
  252. data/lib/chef/util/file_edit.rb +2 -2
  253. data/lib/chef/util/path_helper.rb +1 -4
  254. data/lib/chef/util/windows/net_use.rb +3 -3
  255. data/lib/chef/version.rb +1 -1
  256. data/lib/chef/win32/api.rb +1 -0
  257. data/lib/chef/win32/api/security.rb +26 -0
  258. data/lib/chef/win32/file.rb +21 -0
  259. data/lib/chef/win32/security.rb +46 -0
  260. data/lib/chef/win32/security/token.rb +8 -0
  261. data/lib/chef/win32/version.rb +0 -4
  262. data/spec/data/recipes.tgz +0 -0
  263. data/spec/functional/application_spec.rb +1 -1
  264. data/spec/functional/audit/rspec_formatter_spec.rb +54 -0
  265. data/spec/functional/audit/runner_spec.rb +137 -0
  266. data/spec/functional/dsl/reboot_pending_spec.rb +10 -10
  267. data/spec/functional/dsl/registry_helper_spec.rb +6 -6
  268. data/spec/functional/event_loggers/windows_eventlog_spec.rb +5 -5
  269. data/spec/functional/file_content_management/deploy_strategies_spec.rb +12 -21
  270. data/spec/functional/http/simple_spec.rb +1 -1
  271. data/spec/functional/knife/cookbook_delete_spec.rb +24 -24
  272. data/spec/functional/knife/exec_spec.rb +2 -4
  273. data/spec/functional/knife/smoke_test.rb +1 -1
  274. data/spec/functional/knife/ssh_spec.rb +23 -23
  275. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +8 -8
  276. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +2 -2
  277. data/spec/functional/rebooter_spec.rb +1 -1
  278. data/spec/functional/resource/aix_service_spec.rb +3 -0
  279. data/spec/functional/resource/aixinit_service_spec.rb +3 -3
  280. data/spec/functional/resource/bash_spec.rb +88 -0
  281. data/spec/functional/resource/deploy_revision_spec.rb +99 -100
  282. data/spec/functional/resource/env_spec.rb +3 -3
  283. data/spec/functional/resource/execute_spec.rb +97 -63
  284. data/spec/functional/resource/file_spec.rb +7 -7
  285. data/spec/functional/resource/git_spec.rb +13 -13
  286. data/spec/functional/resource/group_spec.rb +28 -25
  287. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  288. data/spec/functional/resource/link_spec.rb +77 -78
  289. data/spec/functional/resource/mount_spec.rb +5 -5
  290. data/spec/functional/resource/ohai_spec.rb +1 -1
  291. data/spec/functional/resource/package_spec.rb +22 -22
  292. data/spec/functional/resource/powershell_spec.rb +57 -42
  293. data/spec/functional/resource/reboot_spec.rb +2 -2
  294. data/spec/functional/resource/registry_spec.rb +91 -91
  295. data/spec/functional/resource/remote_directory_spec.rb +19 -19
  296. data/spec/functional/resource/remote_file_spec.rb +18 -18
  297. data/spec/functional/resource/template_spec.rb +4 -4
  298. data/spec/functional/resource/user/dscl_spec.rb +4 -4
  299. data/spec/functional/resource/user/useradd_spec.rb +64 -51
  300. data/spec/functional/resource/windows_service_spec.rb +98 -0
  301. data/spec/functional/run_lock_spec.rb +9 -9
  302. data/spec/functional/shell_spec.rb +3 -3
  303. data/spec/functional/tiny_server_spec.rb +12 -12
  304. data/spec/functional/util/path_helper_spec.rb +1 -1
  305. data/spec/functional/version_spec.rb +1 -1
  306. data/spec/functional/win32/registry_helper_spec.rb +125 -125
  307. data/spec/functional/win32/security_spec.rb +65 -2
  308. data/spec/functional/win32/service_manager_spec.rb +30 -84
  309. data/spec/functional/win32/versions_spec.rb +6 -6
  310. data/spec/integration/client/client_spec.rb +102 -9
  311. data/spec/integration/knife/chef_fs_data_store_spec.rb +12 -8
  312. data/spec/integration/knife/common_options_spec.rb +3 -3
  313. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -2
  314. data/spec/integration/knife/deps_spec.rb +4 -4
  315. data/spec/integration/knife/diff_spec.rb +6 -6
  316. data/spec/integration/knife/download_spec.rb +6 -6
  317. data/spec/integration/knife/list_spec.rb +2 -2
  318. data/spec/integration/knife/raw_spec.rb +5 -5
  319. data/spec/integration/knife/serve_spec.rb +3 -3
  320. data/spec/integration/knife/show_spec.rb +3 -3
  321. data/spec/integration/knife/upload_spec.rb +18 -18
  322. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  323. data/spec/integration/solo/solo_spec.rb +11 -12
  324. data/spec/spec_helper.rb +27 -15
  325. data/spec/stress/win32/file_spec.rb +4 -4
  326. data/spec/stress/win32/security_spec.rb +4 -4
  327. data/spec/support/chef_helpers.rb +3 -3
  328. data/spec/support/matchers/leak.rb +2 -2
  329. data/spec/support/mock/platform.rb +1 -1
  330. data/spec/support/pedant/Gemfile +3 -0
  331. data/spec/support/pedant/pedant_config.rb +9 -2
  332. data/spec/support/pedant/run_pedant.rb +15 -16
  333. data/spec/support/platform_helpers.rb +8 -12
  334. data/spec/support/shared/functional/directory_resource.rb +13 -13
  335. data/spec/support/shared/functional/file_resource.rb +83 -83
  336. data/spec/support/shared/functional/http.rb +1 -1
  337. data/spec/support/shared/functional/securable_resource.rb +64 -64
  338. data/spec/support/shared/functional/securable_resource_with_reporting.rb +43 -41
  339. data/spec/support/shared/functional/win32_service.rb +60 -0
  340. data/spec/support/shared/functional/windows_script.rb +8 -8
  341. data/spec/support/shared/integration/knife_support.rb +8 -5
  342. data/spec/support/shared/matchers/exit_with_code.rb +6 -2
  343. data/spec/support/shared/unit/api_error_inspector.rb +8 -8
  344. data/spec/support/shared/unit/execute_resource.rb +24 -20
  345. data/spec/support/shared/unit/file_system_support.rb +2 -2
  346. data/spec/support/shared/unit/platform_introspector.rb +21 -21
  347. data/spec/support/shared/unit/provider/file.rb +239 -210
  348. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +69 -69
  349. data/spec/support/shared/unit/script_resource.rb +40 -32
  350. data/spec/support/shared/unit/windows_script_resource.rb +8 -8
  351. data/spec/unit/api_client/registration_spec.rb +47 -47
  352. data/spec/unit/api_client_spec.rb +107 -69
  353. data/spec/unit/application/apply_spec.rb +31 -15
  354. data/spec/unit/application/client_spec.rb +146 -45
  355. data/spec/unit/application/knife_spec.rb +31 -31
  356. data/spec/unit/application/solo_spec.rb +59 -43
  357. data/spec/unit/application_spec.rb +109 -74
  358. data/spec/unit/audit/audit_event_proxy_spec.rb +311 -0
  359. data/spec/unit/audit/audit_reporter_spec.rb +393 -0
  360. data/spec/unit/audit/control_group_data_spec.rb +478 -0
  361. data/{lib/chef/monkey_patches/file.rb → spec/unit/audit/rspec_formatter_spec.rb} +11 -8
  362. data/spec/unit/audit/runner_spec.rb +135 -0
  363. data/spec/unit/chef_fs/config_spec.rb +52 -0
  364. data/spec/unit/chef_fs/diff_spec.rb +12 -12
  365. data/spec/unit/chef_fs/file_pattern_spec.rb +276 -277
  366. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +6 -6
  367. data/spec/unit/chef_fs/file_system_spec.rb +26 -13
  368. data/spec/unit/chef_fs/parallelizer.rb +87 -87
  369. data/spec/unit/chef_spec.rb +1 -1
  370. data/spec/unit/client_spec.rb +263 -97
  371. data/spec/unit/config_fetcher_spec.rb +13 -13
  372. data/spec/unit/config_spec.rb +105 -66
  373. data/spec/unit/cookbook/chefignore_spec.rb +6 -6
  374. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +3 -3
  375. data/spec/unit/cookbook/metadata_spec.rb +149 -149
  376. data/spec/unit/cookbook/syntax_check_spec.rb +36 -31
  377. data/spec/unit/cookbook_loader_spec.rb +62 -58
  378. data/spec/unit/cookbook_manifest_spec.rb +141 -468
  379. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +27 -27
  380. data/spec/unit/cookbook_spec.rb +15 -15
  381. data/spec/unit/cookbook_uploader_spec.rb +37 -3
  382. data/spec/unit/cookbook_version_file_specificity_spec.rb +554 -0
  383. data/spec/unit/cookbook_version_spec.rb +98 -240
  384. data/spec/unit/daemon_spec.rb +31 -31
  385. data/spec/unit/data_bag_item_spec.rb +121 -89
  386. data/spec/unit/data_bag_spec.rb +35 -35
  387. data/spec/unit/deprecation_spec.rb +27 -14
  388. data/spec/unit/digester_spec.rb +3 -3
  389. data/spec/unit/dsl/audit_spec.rb +43 -0
  390. data/spec/unit/dsl/data_query_spec.rb +1 -1
  391. data/spec/unit/dsl/platform_introspection_spec.rb +14 -14
  392. data/spec/unit/dsl/reboot_pending_spec.rb +18 -18
  393. data/spec/unit/dsl/regsitry_helper_spec.rb +6 -6
  394. data/spec/unit/encrypted_data_bag_item_spec.rb +58 -82
  395. data/spec/unit/environment_spec.rb +105 -105
  396. data/spec/unit/exceptions_spec.rb +47 -1
  397. data/spec/unit/file_access_control_spec.rb +62 -56
  398. data/spec/unit/file_cache_spec.rb +11 -11
  399. data/spec/unit/file_content_management/deploy/cp_spec.rb +2 -2
  400. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +10 -10
  401. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +23 -23
  402. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +14 -14
  403. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +12 -12
  404. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  405. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +16 -16
  406. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +4 -4
  407. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +103 -13
  408. data/spec/unit/guard_interpreter_spec.rb +41 -0
  409. data/spec/unit/handler/json_file_spec.rb +10 -10
  410. data/spec/unit/handler_spec.rb +39 -39
  411. data/spec/unit/http/basic_client_spec.rb +3 -3
  412. data/spec/unit/http/http_request_spec.rb +10 -10
  413. data/spec/unit/http/simple_spec.rb +3 -3
  414. data/spec/unit/http/ssl_policies_spec.rb +15 -15
  415. data/spec/unit/http/validate_content_length_spec.rb +18 -13
  416. data/spec/unit/http_spec.rb +16 -9
  417. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +153 -0
  418. data/spec/unit/knife/bootstrap/client_builder_spec.rb +178 -0
  419. data/spec/unit/knife/bootstrap_spec.rb +144 -91
  420. data/spec/unit/knife/client_bulk_delete_spec.rb +24 -24
  421. data/spec/unit/knife/client_create_spec.rb +57 -43
  422. data/spec/unit/knife/client_delete_spec.rb +15 -15
  423. data/spec/unit/knife/client_edit_spec.rb +4 -4
  424. data/spec/unit/knife/client_list_spec.rb +2 -2
  425. data/spec/unit/knife/client_reregister_spec.rb +9 -9
  426. data/spec/unit/knife/configure_client_spec.rb +20 -20
  427. data/spec/unit/knife/configure_spec.rb +85 -85
  428. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +15 -15
  429. data/spec/unit/knife/cookbook_create_spec.rb +59 -59
  430. data/spec/unit/knife/cookbook_delete_spec.rb +49 -49
  431. data/spec/unit/knife/cookbook_download_spec.rb +56 -56
  432. data/spec/unit/knife/cookbook_list_spec.rb +9 -9
  433. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +8 -8
  434. data/spec/unit/knife/cookbook_metadata_spec.rb +44 -44
  435. data/spec/unit/knife/cookbook_show_spec.rb +29 -29
  436. data/spec/unit/knife/cookbook_site_download_spec.rb +26 -26
  437. data/spec/unit/knife/cookbook_site_install_spec.rb +5 -1
  438. data/spec/unit/knife/cookbook_site_share_spec.rb +68 -59
  439. data/spec/unit/knife/cookbook_site_unshare_spec.rb +15 -15
  440. data/spec/unit/knife/cookbook_test_spec.rb +16 -16
  441. data/spec/unit/knife/cookbook_upload_spec.rb +105 -71
  442. data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -22
  443. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +36 -36
  444. data/spec/unit/knife/core/object_loader_spec.rb +3 -3
  445. data/spec/unit/knife/core/subcommand_loader_spec.rb +107 -33
  446. data/spec/unit/knife/core/ui_spec.rb +84 -72
  447. data/spec/unit/knife/data_bag_from_file_spec.rb +1 -1
  448. data/spec/unit/knife/environment_compare_spec.rb +12 -12
  449. data/spec/unit/knife/environment_create_spec.rb +16 -16
  450. data/spec/unit/knife/environment_delete_spec.rb +14 -14
  451. data/spec/unit/knife/environment_edit_spec.rb +15 -15
  452. data/spec/unit/knife/environment_from_file_spec.rb +17 -17
  453. data/spec/unit/knife/environment_list_spec.rb +7 -7
  454. data/spec/unit/knife/environment_show_spec.rb +10 -10
  455. data/spec/unit/knife/index_rebuild_spec.rb +17 -17
  456. data/spec/unit/knife/knife_help.rb +24 -24
  457. data/spec/unit/knife/node_bulk_delete_spec.rb +14 -14
  458. data/spec/unit/knife/node_delete_spec.rb +11 -11
  459. data/spec/unit/knife/node_edit_spec.rb +17 -17
  460. data/spec/unit/knife/node_environment_set_spec.rb +12 -12
  461. data/spec/unit/knife/node_from_file_spec.rb +8 -8
  462. data/spec/unit/knife/node_list_spec.rb +9 -9
  463. data/spec/unit/knife/node_run_list_add_spec.rb +29 -29
  464. data/spec/unit/knife/node_run_list_remove_spec.rb +28 -13
  465. data/spec/unit/knife/node_run_list_set_spec.rb +27 -27
  466. data/spec/unit/knife/raw_spec.rb +43 -0
  467. data/spec/unit/knife/role_bulk_delete_spec.rb +12 -12
  468. data/spec/unit/knife/role_create_spec.rb +12 -12
  469. data/spec/unit/knife/role_delete_spec.rb +10 -10
  470. data/spec/unit/knife/role_edit_spec.rb +13 -13
  471. data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -0
  472. data/spec/unit/knife/role_env_run_list_clear_spec.rb +100 -0
  473. data/spec/unit/knife/role_env_run_list_remove_spec.rb +108 -0
  474. data/spec/unit/knife/role_env_run_list_replace_spec.rb +108 -0
  475. data/spec/unit/knife/role_env_run_list_set_spec.rb +102 -0
  476. data/spec/unit/knife/role_from_file_spec.rb +10 -10
  477. data/spec/unit/knife/role_list_spec.rb +7 -7
  478. data/spec/unit/knife/role_run_list_add_spec.rb +179 -0
  479. data/spec/unit/knife/role_run_list_clear_spec.rb +90 -0
  480. data/spec/unit/knife/role_run_list_remove_spec.rb +98 -0
  481. data/spec/unit/knife/role_run_list_replace_spec.rb +101 -0
  482. data/spec/unit/knife/role_run_list_set_spec.rb +92 -0
  483. data/spec/unit/knife/ssh_spec.rb +66 -66
  484. data/spec/unit/knife/ssl_check_spec.rb +27 -27
  485. data/spec/unit/knife/ssl_fetch_spec.rb +45 -12
  486. data/spec/unit/knife/status_spec.rb +5 -5
  487. data/spec/unit/knife/tag_create_spec.rb +5 -5
  488. data/spec/unit/knife/tag_delete_spec.rb +6 -6
  489. data/spec/unit/knife/tag_list_spec.rb +4 -4
  490. data/spec/unit/knife/user_create_spec.rb +18 -18
  491. data/spec/unit/knife/user_delete_spec.rb +4 -4
  492. data/spec/unit/knife/user_edit_spec.rb +7 -7
  493. data/spec/unit/knife/user_list_spec.rb +2 -2
  494. data/spec/unit/knife/user_reregister_spec.rb +10 -10
  495. data/spec/unit/knife/user_show_spec.rb +5 -5
  496. data/spec/unit/knife_spec.rb +36 -36
  497. data/spec/unit/lwrp_spec.rb +63 -39
  498. data/spec/unit/mash_spec.rb +6 -6
  499. data/spec/unit/mixin/checksum_spec.rb +2 -2
  500. data/spec/unit/mixin/command_spec.rb +13 -13
  501. data/spec/unit/mixin/convert_to_class_name_spec.rb +6 -6
  502. data/spec/unit/mixin/deep_merge_spec.rb +49 -49
  503. data/spec/unit/mixin/deprecation_spec.rb +5 -5
  504. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +14 -14
  505. data/spec/unit/mixin/homebrew_user_spec.rb +3 -3
  506. data/spec/unit/mixin/params_validate_spec.rb +71 -71
  507. data/spec/unit/mixin/path_sanity_spec.rb +14 -14
  508. data/spec/unit/mixin/securable_spec.rb +177 -177
  509. data/spec/unit/mixin/shell_out_spec.rb +56 -27
  510. data/spec/unit/mixin/template_spec.rb +31 -31
  511. data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
  512. data/spec/unit/mixin/xml_escape_spec.rb +7 -7
  513. data/spec/unit/monkey_patches/uri_spec.rb +1 -1
  514. data/spec/unit/monologger_spec.rb +3 -3
  515. data/spec/unit/node/attribute_spec.rb +185 -136
  516. data/spec/unit/node/immutable_collections_spec.rb +22 -22
  517. data/spec/unit/node_spec.rb +210 -179
  518. data/spec/unit/org_spec.rb +196 -0
  519. data/spec/unit/platform/query_helpers_spec.rb +5 -5
  520. data/spec/unit/platform_spec.rb +46 -46
  521. data/spec/unit/policy_builder/expand_node_object_spec.rb +17 -18
  522. data/spec/unit/policy_builder/policyfile_spec.rb +159 -71
  523. data/spec/unit/provider/directory_spec.rb +5 -5
  524. data/spec/unit/provider/dsc_script_spec.rb +6 -6
  525. data/spec/unit/provider/env_spec.rb +27 -14
  526. data/spec/unit/provider/execute_spec.rb +139 -68
  527. data/spec/unit/provider/file/content_spec.rb +8 -8
  528. data/spec/unit/provider/git_spec.rb +10 -5
  529. data/spec/unit/provider/group/dscl_spec.rb +8 -11
  530. data/spec/unit/provider/group_spec.rb +13 -13
  531. data/spec/unit/provider/ifconfig/aix_spec.rb +3 -2
  532. data/spec/unit/provider/ifconfig/debian_spec.rb +19 -19
  533. data/spec/unit/provider/ifconfig_spec.rb +2 -2
  534. data/spec/unit/provider/mdadm_spec.rb +2 -2
  535. data/spec/unit/provider/mount/aix_spec.rb +5 -5
  536. data/spec/unit/provider/mount/mount_spec.rb +22 -22
  537. data/spec/unit/provider/mount/solaris_spec.rb +20 -20
  538. data/spec/unit/provider/package/aix_spec.rb +23 -22
  539. data/spec/unit/provider/package/apt_spec.rb +23 -4
  540. data/spec/unit/provider/package/dpkg_spec.rb +14 -15
  541. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +1 -1
  542. data/spec/unit/provider/package/freebsd/port_spec.rb +1 -1
  543. data/spec/unit/provider/package/ips_spec.rb +1 -2
  544. data/spec/unit/provider/package/macports_spec.rb +14 -14
  545. data/spec/unit/provider/package/openbsd_spec.rb +66 -0
  546. data/spec/unit/provider/package/pacman_spec.rb +15 -14
  547. data/spec/unit/provider/package/portage_spec.rb +11 -11
  548. data/spec/unit/provider/package/rpm_spec.rb +132 -84
  549. data/spec/unit/provider/package/rubygems_spec.rb +54 -25
  550. data/spec/unit/provider/package/solaris_spec.rb +22 -25
  551. data/spec/unit/provider/package/yum_spec.rb +237 -36
  552. data/spec/unit/provider/package/zypper_spec.rb +9 -12
  553. data/spec/unit/provider/package_spec.rb +276 -2
  554. data/spec/unit/provider/package_spec.rbe +0 -0
  555. data/spec/unit/provider/remote_directory_spec.rb +25 -25
  556. data/spec/unit/provider/remote_file/ftp_spec.rb +3 -3
  557. data/spec/unit/provider/route_spec.rb +3 -3
  558. data/spec/unit/provider/script_spec.rb +61 -43
  559. data/spec/unit/provider/service/aix_service_spec.rb +5 -5
  560. data/spec/unit/provider/service/arch_service_spec.rb +5 -5
  561. data/spec/unit/provider/service/debian_service_spec.rb +8 -8
  562. data/spec/unit/provider/service/freebsd_service_spec.rb +16 -2
  563. data/spec/unit/provider/service/gentoo_service_spec.rb +8 -8
  564. data/spec/unit/provider/service/init_service_spec.rb +5 -5
  565. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  566. data/spec/unit/provider/service/invokercd_service_spec.rb +5 -5
  567. data/spec/unit/provider/service/macosx_spec.rb +7 -7
  568. data/spec/unit/provider/service/openbsd_service_spec.rb +543 -0
  569. data/spec/unit/provider/service/redhat_spec.rb +4 -4
  570. data/spec/unit/provider/service/simple_service_spec.rb +2 -2
  571. data/spec/unit/provider/service/solaris_smf_service_spec.rb +14 -14
  572. data/spec/unit/provider/service/systemd_service_spec.rb +15 -7
  573. data/spec/unit/provider/service/upstart_service_spec.rb +4 -4
  574. data/spec/unit/provider/service/windows_spec.rb +119 -25
  575. data/spec/unit/provider/service_spec.rb +1 -1
  576. data/spec/unit/provider/user/dscl_spec.rb +38 -30
  577. data/spec/unit/provider/user_spec.rb +1 -1
  578. data/spec/unit/provider_resolver_spec.rb +7 -7
  579. data/spec/unit/provider_spec.rb +23 -23
  580. data/spec/unit/recipe_spec.rb +194 -83
  581. data/spec/unit/registry_helper_spec.rb +143 -143
  582. data/spec/unit/resource/chef_gem_spec.rb +117 -3
  583. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
  584. data/spec/unit/resource/conditional_spec.rb +56 -15
  585. data/spec/unit/resource/deploy_spec.rb +2 -2
  586. data/spec/unit/resource/dsc_script_spec.rb +32 -0
  587. data/spec/unit/resource/execute_spec.rb +4 -0
  588. data/spec/unit/resource/file/verification_spec.rb +111 -0
  589. data/spec/unit/resource/file_spec.rb +14 -0
  590. data/spec/unit/resource/openbsd_package_spec.rb +49 -0
  591. data/spec/unit/resource/remote_file_spec.rb +12 -12
  592. data/spec/unit/resource/resource_notification_spec.rb +18 -18
  593. data/spec/unit/resource/rpm_package_spec.rb +12 -0
  594. data/spec/unit/resource/scm_spec.rb +4 -4
  595. data/spec/unit/resource/script_spec.rb +3 -5
  596. data/spec/unit/resource/subversion_spec.rb +1 -1
  597. data/spec/unit/resource_builder_spec.rb +1 -0
  598. data/spec/unit/resource_collection/resource_list_spec.rb +2 -2
  599. data/spec/unit/resource_collection/resource_set_spec.rb +3 -3
  600. data/spec/unit/resource_collection/stepable_iterator_spec.rb +24 -24
  601. data/spec/unit/resource_collection_spec.rb +52 -52
  602. data/spec/unit/resource_definition_spec.rb +1 -1
  603. data/spec/unit/resource_reporter_spec.rb +118 -118
  604. data/spec/unit/resource_spec.rb +131 -125
  605. data/spec/unit/rest/auth_credentials_spec.rb +73 -73
  606. data/spec/unit/rest_spec.rb +12 -12
  607. data/spec/unit/role_spec.rb +85 -84
  608. data/spec/unit/run_context/cookbook_compiler_spec.rb +18 -18
  609. data/spec/unit/run_context_spec.rb +39 -68
  610. data/spec/unit/run_list/run_list_expansion_spec.rb +21 -21
  611. data/spec/unit/run_list/run_list_item_spec.rb +28 -28
  612. data/spec/unit/run_list/versioned_recipe_list_spec.rb +14 -14
  613. data/spec/unit/run_list_spec.rb +55 -55
  614. data/spec/unit/run_lock_spec.rb +14 -14
  615. data/spec/unit/run_status_spec.rb +24 -24
  616. data/spec/unit/scan_access_control_spec.rb +23 -23
  617. data/spec/unit/search/query_spec.rb +54 -66
  618. data/spec/unit/shell/model_wrapper_spec.rb +13 -13
  619. data/spec/unit/shell/shell_ext_spec.rb +32 -32
  620. data/spec/unit/shell/shell_session_spec.rb +24 -24
  621. data/spec/unit/shell_out_spec.rb +4 -4
  622. data/spec/unit/shell_spec.rb +27 -27
  623. data/spec/unit/user_spec.rb +50 -50
  624. data/spec/unit/util/backup_spec.rb +32 -32
  625. data/spec/unit/util/diff_spec.rb +31 -31
  626. data/spec/unit/util/dsc/configuration_generator_spec.rb +38 -16
  627. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +21 -26
  628. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +10 -10
  629. data/spec/unit/util/editor_spec.rb +10 -10
  630. data/spec/unit/util/file_edit_spec.rb +10 -10
  631. data/spec/unit/util/path_helper_spec.rb +38 -46
  632. data/spec/unit/util/powershell/cmdlet_spec.rb +9 -9
  633. data/spec/unit/util/selinux_spec.rb +30 -30
  634. data/spec/unit/util/threaded_job_queue_spec.rb +6 -6
  635. data/spec/unit/version/platform_spec.rb +5 -5
  636. data/spec/unit/version_class_spec.rb +15 -15
  637. data/spec/unit/version_constraint/platform_spec.rb +7 -7
  638. data/spec/unit/version_constraint_spec.rb +43 -43
  639. data/spec/unit/windows_service_spec.rb +15 -15
  640. data/spec/unit/workstation_config_loader_spec.rb +2 -2
  641. data/tasks/rspec.rb +16 -18
  642. metadata +126 -49
  643. data/bin/shef +0 -35
  644. data/lib/chef/application/agent.rb +0 -18
  645. data/lib/chef/monkey_patches/fileutils.rb +0 -65
  646. data/lib/chef/monkey_patches/numeric.rb +0 -15
  647. data/lib/chef/monkey_patches/object.rb +0 -9
  648. data/lib/chef/monkey_patches/pathname.rb +0 -32
  649. data/lib/chef/monkey_patches/regexp.rb +0 -34
  650. data/lib/chef/monkey_patches/securerandom.rb +0 -44
  651. data/lib/chef/monkey_patches/string.rb +0 -49
  652. data/lib/chef/monkey_patches/tempfile.rb +0 -64
  653. data/lib/chef/monkey_patches/uri.rb +0 -70
@@ -42,7 +42,7 @@ describe Chef::Resource::Ohai do
42
42
  sleep 1
43
43
 
44
44
  ohai_resource.run_action(:reload)
45
- node[:uptime].should_not == initial_uptime
45
+ expect(node[:uptime]).not_to eq(initial_uptime)
46
46
  end
47
47
  end
48
48
 
@@ -159,25 +159,25 @@ describe Chef::Resource::Package, metadata do
159
159
  it "installs the package with action :install" do
160
160
  package_resource.run_action(:install)
161
161
  shell_out!("dpkg -l chef-integration-test")
162
- package_resource.should be_updated_by_last_action
162
+ expect(package_resource).to be_updated_by_last_action
163
163
  end
164
164
 
165
165
  it "installs the package for action :upgrade" do
166
166
  package_resource.run_action(:upgrade)
167
167
  shell_out!("dpkg -l chef-integration-test")
168
- package_resource.should be_updated_by_last_action
168
+ expect(package_resource).to be_updated_by_last_action
169
169
  end
170
170
 
171
171
  it "does nothing for action :remove" do
172
172
  package_resource.run_action(:remove)
173
173
  shell_out!("dpkg -l chef-integration-test", :returns => [1])
174
- package_resource.should_not be_updated_by_last_action
174
+ expect(package_resource).not_to be_updated_by_last_action
175
175
  end
176
176
 
177
177
  it "does nothing for action :purge" do
178
178
  package_resource.run_action(:purge)
179
179
  shell_out!("dpkg -l chef-integration-test", :returns => [1])
180
- package_resource.should_not be_updated_by_last_action
180
+ expect(package_resource).not_to be_updated_by_last_action
181
181
  end
182
182
 
183
183
  context "and a not-available package version is specified" do
@@ -221,8 +221,8 @@ describe Chef::Resource::Package, metadata do
221
221
  it "preseeds the package, then installs it" do
222
222
  package_resource.run_action(:install)
223
223
  cmd = shell_out!("debconf-show chef-integration-test")
224
- cmd.stdout.should include('chef-integration-test/sample-var: "hello world"')
225
- package_resource.should be_updated_by_last_action
224
+ expect(cmd.stdout).to include('chef-integration-test/sample-var: "hello world"')
225
+ expect(package_resource).to be_updated_by_last_action
226
226
  end
227
227
 
228
228
  context "and the preseed file exists and is up-to-date" do
@@ -239,8 +239,8 @@ describe Chef::Resource::Package, metadata do
239
239
  it "does not update the package configuration" do
240
240
  package_resource.run_action(:install)
241
241
  cmd = shell_out!("debconf-show chef-integration-test")
242
- cmd.stdout.should include('chef-integration-test/sample-var: INVALID')
243
- package_resource.should be_updated_by_last_action
242
+ expect(cmd.stdout).to include('chef-integration-test/sample-var: INVALID')
243
+ expect(package_resource).to be_updated_by_last_action
244
244
  end
245
245
 
246
246
  end
@@ -267,8 +267,8 @@ describe Chef::Resource::Package, metadata do
267
267
  it "preseeds the package, then installs it" do
268
268
  package_resource.run_action(:install)
269
269
  cmd = shell_out!("debconf-show chef-integration-test")
270
- cmd.stdout.should include('chef-integration-test/sample-var: "FROM TEMPLATE"')
271
- package_resource.should be_updated_by_last_action
270
+ expect(cmd.stdout).to include('chef-integration-test/sample-var: "FROM TEMPLATE"')
271
+ expect(package_resource).to be_updated_by_last_action
272
272
  end
273
273
 
274
274
  context "with variables" do
@@ -283,8 +283,8 @@ describe Chef::Resource::Package, metadata do
283
283
  it "preseeds the package, then installs it" do
284
284
  package_resource.run_action(:install)
285
285
  cmd = shell_out!("debconf-show chef-integration-test")
286
- cmd.stdout.should include('chef-integration-test/sample-var: "SUPPORTS VARIABLES"')
287
- package_resource.should be_updated_by_last_action
286
+ expect(cmd.stdout).to include('chef-integration-test/sample-var: "SUPPORTS VARIABLES"')
287
+ expect(package_resource).to be_updated_by_last_action
288
288
  end
289
289
  end
290
290
 
@@ -302,13 +302,13 @@ describe Chef::Resource::Package, metadata do
302
302
  it "does nothing for action :install" do
303
303
  package_resource.run_action(:install)
304
304
  shell_out!("dpkg -l chef-integration-test", :returns => [0])
305
- package_resource.should_not be_updated_by_last_action
305
+ expect(package_resource).not_to be_updated_by_last_action
306
306
  end
307
307
 
308
308
  it "does nothing for action :upgrade" do
309
309
  package_resource.run_action(:upgrade)
310
310
  shell_out!("dpkg -l chef-integration-test", :returns => [0])
311
- package_resource.should_not be_updated_by_last_action
311
+ expect(package_resource).not_to be_updated_by_last_action
312
312
  end
313
313
 
314
314
  # Verify that the package is removed by running `dpkg -l PACKAGE`
@@ -328,7 +328,7 @@ describe Chef::Resource::Package, metadata do
328
328
  pkg_check = shell_out!("dpkg -l chef-integration-test", :returns => [0,1])
329
329
 
330
330
  if pkg_check.exitstatus == 0
331
- pkg_check.stdout.should =~ /un[\s]+chef-integration-test/
331
+ expect(pkg_check.stdout).to match(/un[\s]+chef-integration-test/)
332
332
  end
333
333
  end
334
334
 
@@ -336,13 +336,13 @@ describe Chef::Resource::Package, metadata do
336
336
  it "removes the package for action :remove" do
337
337
  package_resource.run_action(:remove)
338
338
  pkg_should_be_removed
339
- package_resource.should be_updated_by_last_action
339
+ expect(package_resource).to be_updated_by_last_action
340
340
  end
341
341
 
342
342
  it "removes the package for action :purge" do
343
343
  package_resource.run_action(:purge)
344
344
  pkg_should_be_removed
345
- package_resource.should be_updated_by_last_action
345
+ expect(package_resource).to be_updated_by_last_action
346
346
  end
347
347
 
348
348
  end
@@ -356,14 +356,14 @@ describe Chef::Resource::Package, metadata do
356
356
  it "does nothing for action :install" do
357
357
  package_resource.run_action(:install)
358
358
  shell_out!("dpkg -l chef-integration-test", :returns => [0])
359
- package_resource.should_not be_updated_by_last_action
359
+ expect(package_resource).not_to be_updated_by_last_action
360
360
  end
361
361
 
362
362
  it "upgrades the package for action :upgrade" do
363
363
  package_resource.run_action(:upgrade)
364
364
  dpkg_l = shell_out!("dpkg -l chef-integration-test", :returns => [0])
365
- dpkg_l.stdout.should =~ /chef\-integration\-test[\s]+1\.1\-1/
366
- package_resource.should be_updated_by_last_action
365
+ expect(dpkg_l.stdout).to match(/chef\-integration\-test[\s]+1\.1\-1/)
366
+ expect(package_resource).to be_updated_by_last_action
367
367
  end
368
368
 
369
369
  context "and the resource specifies the new version" do
@@ -376,8 +376,8 @@ describe Chef::Resource::Package, metadata do
376
376
  it "upgrades the package for action :install" do
377
377
  package_resource.run_action(:install)
378
378
  dpkg_l = shell_out!("dpkg -l chef-integration-test", :returns => [0])
379
- dpkg_l.stdout.should =~ /chef\-integration\-test[\s]+1\.1\-1/
380
- package_resource.should be_updated_by_last_action
379
+ expect(dpkg_l.stdout).to match(/chef\-integration\-test[\s]+1\.1\-1/)
380
+ expect(package_resource).to be_updated_by_last_action
381
381
  end
382
382
  end
383
383
 
@@ -56,6 +56,21 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
56
56
  resource.run_action(:run)
57
57
  end
58
58
 
59
+ it "returns the -27 for a powershell script that exits with -27" do
60
+ file = Tempfile.new(['foo', '.ps1'])
61
+ begin
62
+ file.write "exit -27"
63
+ file.close
64
+ resource.code(". \"#{file.path}\"")
65
+ resource.returns(-27)
66
+ resource.run_action(:run)
67
+ ensure
68
+ file.close
69
+ file.unlink
70
+ end
71
+ end
72
+
73
+
59
74
  it "returns the process exit code" do
60
75
  resource.code(arbitrary_nonzero_process_exit_code_content)
61
76
  resource.returns(arbitrary_nonzero_process_exit_code)
@@ -153,7 +168,7 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
153
168
 
154
169
  detected_64_bit = source_contains_case_insensitive_content?( get_script_output, 'AMD64' )
155
170
 
156
- is_64_bit.should == detected_64_bit
171
+ expect(is_64_bit).to eq(detected_64_bit)
157
172
  end
158
173
 
159
174
  it "returns 1 if an invalid flag is passed to the interpreter" do
@@ -186,12 +201,12 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
186
201
  resource.returns(0)
187
202
  resource.run_action(:run)
188
203
 
189
- source_contains_case_insensitive_content?( get_script_output, 'x86' ).should == true
204
+ expect(source_contains_case_insensitive_content?( get_script_output, 'x86' )).to eq(true)
190
205
  end
191
206
 
192
207
  it "raises an exception if :x86_64 process architecture is specified" do
193
208
  begin
194
- resource.architecture(:x86_64).should raise_error Chef::Exceptions::Win32ArchitectureIncorrect
209
+ expect(resource.architecture(:x86_64)).to raise_error Chef::Exceptions::Win32ArchitectureIncorrect
195
210
  rescue Chef::Exceptions::Win32ArchitectureIncorrect
196
211
  end
197
212
  end
@@ -204,7 +219,7 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
204
219
  resource.returns(0)
205
220
  resource.run_action(:run)
206
221
 
207
- source_contains_case_insensitive_content?( get_script_output, 'AMD64' ).should == true
222
+ expect(source_contains_case_insensitive_content?( get_script_output, 'AMD64' )).to eq(true)
208
223
  end
209
224
 
210
225
  it "executes a script with a 32-bit process if :i386 arch is specified" do
@@ -213,7 +228,7 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
213
228
  resource.returns(0)
214
229
  resource.run_action(:run)
215
230
 
216
- source_contains_case_insensitive_content?( get_script_output, 'x86' ).should == true
231
+ expect(source_contains_case_insensitive_content?( get_script_output, 'x86' )).to eq(true)
217
232
  end
218
233
  end
219
234
 
@@ -230,22 +245,22 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
230
245
 
231
246
  it "evaluates a succeeding not_if block using cmd.exe as false by default" do
232
247
  resource.not_if "exit /b 0"
233
- resource.should_skip?(:run).should be_true
248
+ expect(resource.should_skip?(:run)).to be_truthy
234
249
  end
235
250
 
236
251
  it "evaluates a failing not_if block using cmd.exe as true by default" do
237
252
  resource.not_if "exit /b 2"
238
- resource.should_skip?(:run).should be_false
253
+ expect(resource.should_skip?(:run)).to be_falsey
239
254
  end
240
255
 
241
256
  it "evaluates an succeeding only_if block using cmd.exe as true by default" do
242
257
  resource.only_if "exit /b 0"
243
- resource.should_skip?(:run).should be_false
258
+ expect(resource.should_skip?(:run)).to be_falsey
244
259
  end
245
260
 
246
261
  it "evaluates a failing only_if block using cmd.exe as false by default" do
247
262
  resource.only_if "exit /b 2"
248
- resource.should_skip?(:run).should be_true
263
+ expect(resource.should_skip?(:run)).to be_truthy
249
264
  end
250
265
  end
251
266
 
@@ -257,7 +272,7 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
257
272
  it "evaluates a powershell $true for a only_if block as true" do
258
273
  resource.only_if "$true"
259
274
  resource.guard_interpreter :powershell_script
260
- resource.should_skip?(:run).should be_false
275
+ expect(resource.should_skip?(:run)).to be_falsey
261
276
  end
262
277
  end
263
278
 
@@ -269,184 +284,184 @@ describe Chef::Resource::WindowsScript::PowershellScript, :windows_only do
269
284
 
270
285
  it "evaluates a powershell $false for a not_if block as true" do
271
286
  resource.not_if "$false"
272
- resource.should_skip?(:run).should be_false
287
+ expect(resource.should_skip?(:run)).to be_falsey
273
288
  end
274
289
 
275
290
  it "evaluates a powershell $true for a not_if block as false" do
276
291
  resource.not_if "$true"
277
- resource.should_skip?(:run).should be_true
292
+ expect(resource.should_skip?(:run)).to be_truthy
278
293
  end
279
294
 
280
295
  it "evaluates a powershell $false for an only_if block as false" do
281
296
  resource.only_if "$false"
282
- resource.should_skip?(:run).should be_true
297
+ expect(resource.should_skip?(:run)).to be_truthy
283
298
  end
284
299
 
285
300
  it "evaluates a powershell $true for a only_if block as true" do
286
301
  resource.only_if "$true"
287
- resource.should_skip?(:run).should be_false
302
+ expect(resource.should_skip?(:run)).to be_falsey
288
303
  end
289
304
 
290
305
  it "evaluates a not_if block using powershell.exe" do
291
306
  resource.not_if "exit([int32](![System.Environment]::CommandLine.Contains('powershell.exe')))"
292
- resource.should_skip?(:run).should be_true
307
+ expect(resource.should_skip?(:run)).to be_truthy
293
308
  end
294
309
 
295
310
  it "evaluates an only_if block using powershell.exe" do
296
311
  resource.only_if "exit([int32](![System.Environment]::CommandLine.Contains('powershell.exe')))"
297
- resource.should_skip?(:run).should be_false
312
+ expect(resource.should_skip?(:run)).to be_falsey
298
313
  end
299
314
 
300
315
  it "evaluates a non-zero powershell exit status for not_if as true" do
301
316
  resource.not_if "exit 37"
302
- resource.should_skip?(:run).should be_false
317
+ expect(resource.should_skip?(:run)).to be_falsey
303
318
  end
304
319
 
305
320
  it "evaluates a zero powershell exit status for not_if as false" do
306
321
  resource.not_if "exit 0"
307
- resource.should_skip?(:run).should be_true
322
+ expect(resource.should_skip?(:run)).to be_truthy
308
323
  end
309
324
 
310
325
  it "evaluates a failed executable exit status for not_if as false" do
311
326
  resource.not_if windows_process_exit_code_not_found_content
312
- resource.should_skip?(:run).should be_false
327
+ expect(resource.should_skip?(:run)).to be_falsey
313
328
  end
314
329
 
315
330
  it "evaluates a successful executable exit status for not_if as true" do
316
331
  resource.not_if windows_process_exit_code_success_content
317
- resource.should_skip?(:run).should be_true
332
+ expect(resource.should_skip?(:run)).to be_truthy
318
333
  end
319
334
 
320
335
  it "evaluates a failed executable exit status for only_if as false" do
321
336
  resource.only_if windows_process_exit_code_not_found_content
322
- resource.should_skip?(:run).should be_true
337
+ expect(resource.should_skip?(:run)).to be_truthy
323
338
  end
324
339
 
325
340
  it "evaluates a successful executable exit status for only_if as true" do
326
341
  resource.only_if windows_process_exit_code_success_content
327
- resource.should_skip?(:run).should be_false
342
+ expect(resource.should_skip?(:run)).to be_falsey
328
343
  end
329
344
 
330
345
  it "evaluates a failed cmdlet exit status for not_if as true" do
331
346
  resource.not_if "throw 'up'"
332
- resource.should_skip?(:run).should be_false
347
+ expect(resource.should_skip?(:run)).to be_falsey
333
348
  end
334
349
 
335
350
  it "evaluates a successful cmdlet exit status for not_if as true" do
336
351
  resource.not_if "cd ."
337
- resource.should_skip?(:run).should be_true
352
+ expect(resource.should_skip?(:run)).to be_truthy
338
353
  end
339
354
 
340
355
  it "evaluates a failed cmdlet exit status for only_if as false" do
341
356
  resource.only_if "throw 'up'"
342
- resource.should_skip?(:run).should be_true
357
+ expect(resource.should_skip?(:run)).to be_truthy
343
358
  end
344
359
 
345
360
  it "evaluates a successful cmdlet exit status for only_if as true" do
346
361
  resource.only_if "cd ."
347
- resource.should_skip?(:run).should be_false
362
+ expect(resource.should_skip?(:run)).to be_falsey
348
363
  end
349
364
 
350
365
  it "evaluates a not_if block using the cwd guard parameter" do
351
366
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
352
367
  resource.not_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", :cwd => custom_cwd
353
- resource.should_skip?(:run).should be_true
368
+ expect(resource.should_skip?(:run)).to be_truthy
354
369
  end
355
370
 
356
371
  it "evaluates an only_if block using the cwd guard parameter" do
357
372
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
358
373
  resource.only_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')", :cwd => custom_cwd
359
- resource.should_skip?(:run).should be_false
374
+ expect(resource.should_skip?(:run)).to be_falsey
360
375
  end
361
376
 
362
377
  it "inherits cwd from the parent resource for only_if" do
363
378
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
364
379
  resource.cwd custom_cwd
365
380
  resource.only_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')"
366
- resource.should_skip?(:run).should be_false
381
+ expect(resource.should_skip?(:run)).to be_falsey
367
382
  end
368
383
 
369
384
  it "inherits cwd from the parent resource for not_if" do
370
385
  custom_cwd = "#{ENV['SystemRoot']}\\system32\\drivers\\etc"
371
386
  resource.cwd custom_cwd
372
387
  resource.not_if "exit ! [int32]($pwd.path -eq '#{custom_cwd}')"
373
- resource.should_skip?(:run).should be_true
388
+ expect(resource.should_skip?(:run)).to be_truthy
374
389
  end
375
390
 
376
391
  it "evaluates a 64-bit resource with a 64-bit guard and interprets boolean false as zero status code", :windows64_only do
377
392
  resource.architecture :x86_64
378
393
  resource.only_if "exit [int32]($env:PROCESSOR_ARCHITECTURE -ne 'AMD64')"
379
- resource.should_skip?(:run).should be_false
394
+ expect(resource.should_skip?(:run)).to be_falsey
380
395
  end
381
396
 
382
397
  it "evaluates a 64-bit resource with a 64-bit guard and interprets boolean true as nonzero status code", :windows64_only do
383
398
  resource.architecture :x86_64
384
399
  resource.only_if "exit [int32]($env:PROCESSOR_ARCHITECTURE -eq 'AMD64')"
385
- resource.should_skip?(:run).should be_true
400
+ expect(resource.should_skip?(:run)).to be_truthy
386
401
  end
387
402
 
388
403
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean false as zero status code" do
389
404
  resource.architecture :i386
390
405
  resource.only_if "exit [int32]($env:PROCESSOR_ARCHITECTURE -ne 'X86')"
391
- resource.should_skip?(:run).should be_false
406
+ expect(resource.should_skip?(:run)).to be_falsey
392
407
  end
393
408
 
394
409
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean true as nonzero status code" do
395
410
  resource.architecture :i386
396
411
  resource.only_if "exit [int32]($env:PROCESSOR_ARCHITECTURE -eq 'X86')"
397
- resource.should_skip?(:run).should be_true
412
+ expect(resource.should_skip?(:run)).to be_truthy
398
413
  end
399
414
 
400
415
  it "evaluates a simple boolean false as nonzero status code when convert_boolean_return is true for only_if" do
401
416
  resource.convert_boolean_return true
402
417
  resource.only_if "$false"
403
- resource.should_skip?(:run).should be_true
418
+ expect(resource.should_skip?(:run)).to be_truthy
404
419
  end
405
420
 
406
421
  it "evaluates a simple boolean false as nonzero status code when convert_boolean_return is true for not_if" do
407
422
  resource.convert_boolean_return true
408
423
  resource.not_if "$false"
409
- resource.should_skip?(:run).should be_false
424
+ expect(resource.should_skip?(:run)).to be_falsey
410
425
  end
411
426
 
412
427
  it "evaluates a simple boolean true as 0 status code when convert_boolean_return is true for only_if" do
413
428
  resource.convert_boolean_return true
414
429
  resource.only_if "$true"
415
- resource.should_skip?(:run).should be_false
430
+ expect(resource.should_skip?(:run)).to be_falsey
416
431
  end
417
432
 
418
433
  it "evaluates a simple boolean true as 0 status code when convert_boolean_return is true for not_if" do
419
434
  resource.convert_boolean_return true
420
435
  resource.not_if "$true"
421
- resource.should_skip?(:run).should be_true
436
+ expect(resource.should_skip?(:run)).to be_truthy
422
437
  end
423
438
 
424
439
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean false as zero status code using convert_boolean_return for only_if" do
425
440
  resource.convert_boolean_return true
426
441
  resource.architecture :i386
427
442
  resource.only_if "$env:PROCESSOR_ARCHITECTURE -eq 'X86'"
428
- resource.should_skip?(:run).should be_false
443
+ expect(resource.should_skip?(:run)).to be_falsey
429
444
  end
430
445
 
431
446
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean false as zero status code using convert_boolean_return for not_if" do
432
447
  resource.convert_boolean_return true
433
448
  resource.architecture :i386
434
449
  resource.not_if "$env:PROCESSOR_ARCHITECTURE -ne 'X86'"
435
- resource.should_skip?(:run).should be_false
450
+ expect(resource.should_skip?(:run)).to be_falsey
436
451
  end
437
452
 
438
453
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean true as nonzero status code using convert_boolean_return for only_if" do
439
454
  resource.convert_boolean_return true
440
455
  resource.architecture :i386
441
456
  resource.only_if "$env:PROCESSOR_ARCHITECTURE -ne 'X86'"
442
- resource.should_skip?(:run).should be_true
457
+ expect(resource.should_skip?(:run)).to be_truthy
443
458
  end
444
459
 
445
460
  it "evaluates a 32-bit resource with a 32-bit guard and interprets boolean true as nonzero status code using convert_boolean_return for not_if" do
446
461
  resource.convert_boolean_return true
447
462
  resource.architecture :i386
448
463
  resource.not_if "$env:PROCESSOR_ARCHITECTURE -eq 'X86'"
449
- resource.should_skip?(:run).should be_true
464
+ expect(resource.should_skip?(:run)).to be_truthy
450
465
  end
451
466
  end
452
467
  end