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
@@ -138,6 +138,7 @@ EOM
138
138
  context 'PUT /TYPE/NAME' do
139
139
  before do
140
140
  file 'empty.json', {}
141
+ file 'dummynode.json', { "name" => "x", "chef_environment" => "rspec" , "json_class" => "Chef::Node", "normal" => {"foo" => "bar"}}
141
142
  file 'rolestuff.json', '{"description":"hi there","name":"x"}'
142
143
  file 'cookbooks_to_upload/x/metadata.rb', cookbook_x_100_metadata_rb
143
144
  end
@@ -165,9 +166,10 @@ EOM
165
166
  knife('list --local /environments').should_succeed "/environments/x.json\n"
166
167
  end
167
168
 
168
- it 'knife raw -z -i empty.json -m PUT /nodes/x' do
169
- knife("raw -z -i #{path_to('empty.json')} -m PUT /nodes/x").should_succeed( /"x"/ )
169
+ it 'knife raw -z -i dummynode.json -m PUT /nodes/x' do
170
+ knife("raw -z -i #{path_to('dummynode.json')} -m PUT /nodes/x").should_succeed( /"x"/ )
170
171
  knife('list --local /nodes').should_succeed "/nodes/x.json\n"
172
+ knife('show -z /nodes/x.json --verbose').should_succeed /"bar"/
171
173
  end
172
174
 
173
175
  it 'knife raw -z -i empty.json -m PUT /roles/x' do
@@ -180,9 +182,9 @@ EOM
180
182
  knife('list --local /users').should_succeed "/users/x.json\n"
181
183
  end
182
184
 
183
- it 'After knife raw -z -i rolestuff.json -m PUT /roles/x, the output is pretty', :pending => (RUBY_VERSION < "1.9") do
185
+ it 'After knife raw -z -i rolestuff.json -m PUT /roles/x, the output is pretty', :skip => (RUBY_VERSION < "1.9") do
184
186
  knife("raw -z -i #{path_to('rolestuff.json')} -m PUT /roles/x").should_succeed( /"x"/ )
185
- IO.read(path_to('roles/x.json')).should == <<EOM.strip
187
+ expect(IO.read(path_to('roles/x.json'))).to eq <<EOM.strip
186
188
  {
187
189
  "name": "x",
188
190
  "description": "hi there"
@@ -196,6 +198,7 @@ EOM
196
198
  context 'POST /TYPE/NAME' do
197
199
  before do
198
200
  file 'empty.json', { 'name' => 'z' }
201
+ file 'dummynode.json', { "name" => "z", "chef_environment" => "rspec" , "json_class" => "Chef::Node", "normal" => {"foo" => "bar"}}
199
202
  file 'empty_x.json', { 'name' => 'x' }
200
203
  file 'empty_id.json', { 'id' => 'z' }
201
204
  file 'rolestuff.json', '{"description":"hi there","name":"x"}'
@@ -231,9 +234,10 @@ EOM
231
234
  knife('list --local /environments').should_succeed "/environments/z.json\n"
232
235
  end
233
236
 
234
- it 'knife raw -z -i empty.json -m POST /nodes' do
235
- knife("raw -z -i #{path_to('empty.json')} -m POST /nodes").should_succeed( /uri/ )
237
+ it 'knife raw -z -i dummynode.json -m POST /nodes' do
238
+ knife("raw -z -i #{path_to('dummynode.json')} -m POST /nodes").should_succeed( /uri/ )
236
239
  knife('list --local /nodes').should_succeed "/nodes/z.json\n"
240
+ knife('show -z /nodes/z.json').should_succeed /"bar"/
237
241
  end
238
242
 
239
243
  it 'knife raw -z -i empty.json -m POST /roles' do
@@ -246,9 +250,9 @@ EOM
246
250
  knife('list --local /users').should_succeed "/users/z.json\n"
247
251
  end
248
252
 
249
- it 'After knife raw -z -i rolestuff.json -m POST /roles, the output is pretty', :pending => (RUBY_VERSION < "1.9") do
253
+ it 'After knife raw -z -i rolestuff.json -m POST /roles, the output is pretty', :skip => (RUBY_VERSION < "1.9") do
250
254
  knife("raw -z -i #{path_to('rolestuff.json')} -m POST /roles").should_succeed( /uri/ )
251
- IO.read(path_to('roles/x.json')).should == <<EOM.strip
255
+ expect(IO.read(path_to('roles/x.json'))).to eq <<EOM.strip
252
256
  {
253
257
  "name": "x",
254
258
  "description": "hi there"
@@ -39,7 +39,7 @@ describe 'knife common options', :workstation do
39
39
 
40
40
  it 'knife raw /nodes/x should retrieve the node' do
41
41
  knife('raw /nodes/x').should_succeed( /"name": "x"/ )
42
- Chef::Config.chef_server_url.should == 'http://localhost:9999'
42
+ expect(Chef::Config.chef_server_url).to eq('http://localhost:9999')
43
43
  end
44
44
  end
45
45
 
@@ -101,7 +101,7 @@ EOM
101
101
 
102
102
  it 'knife raw -z --chef-zero-port=9999 /nodes/x retrieves the node' do
103
103
  knife('raw -z --chef-zero-port=9999 /nodes/x').should_succeed( /"name": "x"/ )
104
- Chef::Config.chef_server_url.should == 'http://localhost:9999'
104
+ expect(Chef::Config.chef_server_url).to eq('http://localhost:9999')
105
105
  end
106
106
 
107
107
  context 'when the default port (8889) is already bound' do
@@ -149,7 +149,7 @@ EOM
149
149
 
150
150
  it 'knife raw -z --chef-zero-port=9999 /nodes/x retrieves the node' do
151
151
  knife('raw -z --chef-zero-port=9999 /nodes/x').should_succeed( /"name": "x"/ )
152
- Chef::Config.chef_server_url.should == 'http://localhost:9999'
152
+ expect(Chef::Config.chef_server_url).to eq('http://localhost:9999')
153
153
  end
154
154
  end
155
155
  end
@@ -92,7 +92,7 @@ END_CLIENT_RB
92
92
  shell_out!("#{knife} cookbook upload apache2 #{knife_config_flag}", :cwd => chef_dir)
93
93
  versions_list_json = Chef::HTTP::Simple.new("http://[::1]:8900").get("/cookbooks/apache2", "accept" => "application/json")
94
94
  versions_list = Chef::JSONCompat.from_json(versions_list_json)
95
- versions_list["apache2"]["versions"].should_not be_empty
95
+ expect(versions_list["apache2"]["versions"]).not_to be_empty
96
96
  end
97
97
 
98
98
  context "and the cookbook has been uploaded to the server" do
@@ -102,7 +102,7 @@ END_CLIENT_RB
102
102
 
103
103
  it "downloads the cookbook" do
104
104
  shell_out!("knife cookbook download apache2 #{knife_config_flag} -d #{cache_path}", :cwd => chef_dir)
105
- Dir["#{cache_path}/*"].map {|entry| File.basename(entry)}.should include("apache2-0.0.1")
105
+ expect(Dir["#{cache_path}/*"].map {|entry| File.basename(entry)}).to include("apache2-0.0.1")
106
106
  end
107
107
  end
108
108
 
@@ -251,8 +251,8 @@ EOM
251
251
  end
252
252
  it 'knife deps --tree prints each once' do
253
253
  knife('deps --tree /roles/foo.json /roles/self.json') do
254
- stdout.should == "/roles/foo.json\n /roles/bar.json\n /roles/baz.json\n /roles/foo.json\n/roles/self.json\n /roles/self.json\n"
255
- stderr.should == "WARNING: No knife configuration file found\n"
254
+ expect(stdout).to eq("/roles/foo.json\n /roles/bar.json\n /roles/baz.json\n /roles/foo.json\n/roles/self.json\n /roles/self.json\n")
255
+ expect(stderr).to eq("WARNING: No knife configuration file found\n")
256
256
  end
257
257
  end
258
258
  end
@@ -589,8 +589,8 @@ EOM
589
589
  end
590
590
  it 'knife deps --tree prints each once' do
591
591
  knife('deps --remote --tree /roles/foo.json /roles/self.json') do
592
- stdout.should == "/roles/foo.json\n /roles/bar.json\n /roles/baz.json\n /roles/foo.json\n/roles/self.json\n /roles/self.json\n"
593
- stderr.should == "WARNING: No knife configuration file found\n"
592
+ expect(stdout).to eq("/roles/foo.json\n /roles/bar.json\n /roles/baz.json\n /roles/foo.json\n/roles/self.json\n /roles/self.json\n")
593
+ expect(stderr).to eq("WARNING: No knife configuration file found\n")
594
594
  end
595
595
  end
596
596
  end
@@ -247,7 +247,7 @@ EOM
247
247
  end
248
248
  when_the_chef_server 'has an environment with a different value' do
249
249
  before { environment 'x', { 'description' => 'hi' } }
250
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
250
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
251
251
  knife('diff /environments/x.json').should_succeed(/
252
252
  {
253
253
  - "name": "x",
@@ -277,7 +277,7 @@ EOM
277
277
  environment 'x', {}
278
278
  end
279
279
 
280
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
280
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
281
281
  knife('diff /environments/x.json').should_succeed(/
282
282
  {
283
283
  - "name": "x"
@@ -291,7 +291,7 @@ EOM
291
291
  before do
292
292
  environment 'x', { 'description' => 'lo' }
293
293
  end
294
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
294
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
295
295
  knife('diff /environments/x.json').should_succeed(/
296
296
  {
297
297
  "name": "x",
@@ -533,7 +533,7 @@ EOM
533
533
  end
534
534
  when_the_chef_server 'has an environment with a different value' do
535
535
  before { environment 'x', { 'description' => 'hi' } }
536
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
536
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
537
537
  knife('diff /environments/x.json').should_succeed(/
538
538
  {
539
539
  - "name": "x",
@@ -560,7 +560,7 @@ EOM
560
560
  end
561
561
  when_the_chef_server 'has an environment with no value' do
562
562
  before { environment 'x', {} }
563
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
563
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
564
564
  knife('diff /environments/x.json').should_succeed(/
565
565
  {
566
566
  - "name": "x"
@@ -574,7 +574,7 @@ EOM
574
574
  before do
575
575
  environment 'x', { 'description' => 'lo' }
576
576
  end
577
- it 'knife diff reports the difference', :pending => (RUBY_VERSION < "1.9") do
577
+ it 'knife diff reports the difference', :skip => (RUBY_VERSION < "1.9") do
578
578
  knife('diff /environments/x.json').should_succeed(/
579
579
  {
580
580
  "name": "x",
@@ -1069,19 +1069,19 @@ EOM
1069
1069
  end
1070
1070
 
1071
1071
  when_the_repository 'is empty' do
1072
- it 'knife download /cookbooks/x signs all requests', :ruby_gte_19_only do
1072
+ it 'knife download /cookbooks/x signs all requests' do
1073
1073
 
1074
1074
  # Check that BasicClient.request() always gets called with X-OPS-USERID
1075
1075
  original_new = Chef::HTTP::BasicClient.method(:new)
1076
- Chef::HTTP::BasicClient.should_receive(:new) do |args|
1076
+ expect(Chef::HTTP::BasicClient).to receive(:new) { |args|
1077
1077
  new_result = original_new.call(*args)
1078
1078
  original_request = new_result.method(:request)
1079
- new_result.should_receive(:request) do |method, url, body, headers, &response_handler|
1080
- headers['X-OPS-USERID'].should_not be_nil
1079
+ expect(new_result).to receive(:request) { |method, url, body, headers, &response_handler|
1080
+ expect(headers['X-OPS-USERID']).not_to be_nil
1081
1081
  original_request.call(method, url, body, headers, &response_handler)
1082
- end.at_least(:once)
1082
+ }.at_least(:once)
1083
1083
  new_result
1084
- end.at_least(:once)
1084
+ }.at_least(:once)
1085
1085
 
1086
1086
  knife('download /cookbooks/x').should_succeed <<EOM
1087
1087
  Created /cookbooks
@@ -471,7 +471,7 @@ EOM
471
471
  end
472
472
  end
473
473
 
474
- when_the_repository 'has a cookbooks directory and a symlinked cookbooks directory', :pending => (Chef::Platform.windows?) do
474
+ when_the_repository 'has a cookbooks directory and a symlinked cookbooks directory', :skip => (Chef::Platform.windows?) do
475
475
  before do
476
476
  directory 'cookbooks'
477
477
  symlink 'symlinked', 'cookbooks'
@@ -508,7 +508,7 @@ EOM
508
508
  end
509
509
  end
510
510
 
511
- when_the_repository 'has a real_cookbooks directory and a cookbooks symlink to it', :pending => (Chef::Platform.windows?) do
511
+ when_the_repository 'has a real_cookbooks directory and a cookbooks symlink to it', :skip => (Chef::Platform.windows?) do
512
512
  before do
513
513
  directory 'real_cookbooks'
514
514
  symlink 'cookbooks', 'real_cookbooks'
@@ -38,7 +38,7 @@ describe 'knife raw', :workstation do
38
38
  user 'x', '{}'
39
39
  end
40
40
 
41
- it 'knife raw /nodes/x returns the node', :pending => (RUBY_VERSION < "1.9") do
41
+ it 'knife raw /nodes/x returns the node', :skip => (RUBY_VERSION < "1.9") do
42
42
  knife('raw /nodes/x').should_succeed <<EOM
43
43
  {
44
44
  "name": "x",
@@ -68,7 +68,7 @@ EOM
68
68
  knife('raw /blarghle').should_fail(/ERROR: Server responded with error 404 "Not Found\s*"/)
69
69
  end
70
70
 
71
- it 'knife raw -m DELETE /roles/x succeeds', :pending => (RUBY_VERSION < "1.9") do
71
+ it 'knife raw -m DELETE /roles/x succeeds', :skip => (RUBY_VERSION < "1.9") do
72
72
  knife('raw -m DELETE /roles/x').should_succeed <<EOM
73
73
  {
74
74
  "name": "x",
@@ -92,7 +92,7 @@ EOM
92
92
  knife('show /roles/x.json').should_fail "ERROR: /roles/x.json: No such file or directory\n"
93
93
  end
94
94
 
95
- it 'knife raw -m PUT -i blah.txt /roles/x succeeds', :pending => (RUBY_VERSION < "1.9") do
95
+ it 'knife raw -m PUT -i blah.txt /roles/x succeeds', :skip => (RUBY_VERSION < "1.9") do
96
96
  Tempfile.open('raw_put_input') do |file|
97
97
  file.write <<EOM
98
98
  {
@@ -146,7 +146,7 @@ EOM
146
146
  end
147
147
  end
148
148
 
149
- it 'knife raw -m POST -i blah.txt /roles succeeds', :pending => (RUBY_VERSION < "1.9") do
149
+ it 'knife raw -m POST -i blah.txt /roles succeeds', :skip => (RUBY_VERSION < "1.9") do
150
150
  Tempfile.open('raw_put_input') do |file|
151
151
  file.write <<EOM
152
152
  {
@@ -196,7 +196,7 @@ EOM
196
196
  @raw_server_thread.kill if @raw_server_thread
197
197
  end
198
198
 
199
- it 'knife raw /blah returns the prettified json', :pending => (RUBY_VERSION < "1.9") do
199
+ it 'knife raw /blah returns the prettified json', :skip => (RUBY_VERSION < "1.9") do
200
200
  knife('raw /blah').should_succeed <<EOM
201
201
  {
202
202
  "x": "y",
@@ -31,18 +31,18 @@ describe 'knife serve', :workstation do
31
31
  exception = nil
32
32
  t = Thread.new do
33
33
  begin
34
- knife('serve --chef-zero-port=8889')
34
+ knife('serve --chef-zero-port=8890')
35
35
  rescue
36
36
  exception = $!
37
37
  end
38
38
  end
39
39
  begin
40
40
  Chef::Config.log_level = :debug
41
- Chef::Config.chef_server_url = 'http://localhost:8889'
41
+ Chef::Config.chef_server_url = 'http://localhost:8890'
42
42
  Chef::Config.node_name = nil
43
43
  Chef::Config.client_key = nil
44
44
  api = Chef::ServerAPI.new
45
- api.get('nodes/x')['name'].should == 'x'
45
+ expect(api.get('nodes/x')['name']).to eq('x')
46
46
  rescue
47
47
  if exception
48
48
  raise exception
@@ -76,7 +76,7 @@ EOM
76
76
  }
77
77
  EOM
78
78
  end
79
- it 'knife show /environments/x.json shows the remote version', :pending => (RUBY_VERSION < "1.9") do
79
+ it 'knife show /environments/x.json shows the remote version', :skip => (RUBY_VERSION < "1.9") do
80
80
  knife('show /environments/x.json').should_succeed <<EOM
81
81
  /environments/x.json:
82
82
  {
@@ -92,7 +92,7 @@ EOM
92
92
  }
93
93
  EOM
94
94
  end
95
- it 'knife show /roles/x.json shows the remote version', :pending => (RUBY_VERSION < "1.9") do
95
+ it 'knife show /roles/x.json shows the remote version', :skip => (RUBY_VERSION < "1.9") do
96
96
  knife('show /roles/x.json').should_succeed <<EOM
97
97
  /roles/x.json:
98
98
  {
@@ -135,7 +135,7 @@ EOM
135
135
  'name' => 'x'
136
136
  }
137
137
  end
138
- it 'knife show shows the attributes in a predetermined order', :pending => (RUBY_VERSION < "1.9") do
138
+ it 'knife show shows the attributes in a predetermined order', :skip => (RUBY_VERSION < "1.9") do
139
139
  knife('show /environments/x.json').should_succeed <<EOM
140
140
  /environments/x.json:
141
141
  {
@@ -262,7 +262,7 @@ Created /data_bags/x/y.json
262
262
  EOM
263
263
  knife('diff --name-status /data_bags').should_succeed <<EOM
264
264
  EOM
265
- Chef::JSONCompat.parse(knife('raw /data/x/y').stdout, :create_additions => false).keys.sort.should == [ 'foo', 'id' ]
265
+ expect(Chef::JSONCompat.parse(knife('raw /data/x/y').stdout, :create_additions => false).keys.sort).to eq([ 'foo', 'id' ])
266
266
  end
267
267
 
268
268
  it 'knife upload /data_bags/x /data_bags/x/y.json uploads x once' do
@@ -286,9 +286,9 @@ Created /data_bags/x/y.json
286
286
  EOM
287
287
  knife('diff --name-status /data_bags').should_succeed ''
288
288
  result = Chef::JSONCompat.parse(knife('raw /data/x/y').stdout, :create_additions => false)
289
- result.keys.sort.should == [ 'chef_type', 'data_bag', 'id' ]
290
- result['chef_type'].should == 'aaa'
291
- result['data_bag'].should == 'bbb'
289
+ expect(result.keys.sort).to eq([ 'chef_type', 'data_bag', 'id' ])
290
+ expect(result['chef_type']).to eq('aaa')
291
+ expect(result['data_bag']).to eq('bbb')
292
292
  end
293
293
  end
294
294
 
@@ -1268,8 +1268,8 @@ Created /nodes/x.json
1268
1268
  Updated /org.json
1269
1269
  Created /roles/x.json
1270
1270
  EOM
1271
- api.get('association_requests').map { |a| a['username'] }.should == [ 'foo' ]
1272
- api.get('users').map { |a| a['user']['username'] }.should == [ 'bar' ]
1271
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ 'foo' ])
1272
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ 'bar' ])
1273
1273
  end
1274
1274
  end
1275
1275
 
@@ -1280,7 +1280,7 @@ EOM
1280
1280
 
1281
1281
  it 'knife upload / emits a warning for bar and adds foo and foobar' do
1282
1282
  knife('upload /').should_succeed ''
1283
- api.get('/')['full_name'].should == 'Something'
1283
+ expect(api.get('/')['full_name']).to eq('Something')
1284
1284
  end
1285
1285
  end
1286
1286
 
@@ -1291,7 +1291,7 @@ EOM
1291
1291
 
1292
1292
  it 'knife upload / emits a warning for bar and adds foo and foobar' do
1293
1293
  knife('upload /').should_succeed "Updated /org.json\n"
1294
- api.get('/')['full_name'].should == 'Something Else'
1294
+ expect(api.get('/')['full_name']).to eq('Something Else')
1295
1295
  end
1296
1296
  end
1297
1297
 
@@ -1306,8 +1306,8 @@ EOM
1306
1306
 
1307
1307
  it 'knife upload / emits a warning for bar and invites foobar' do
1308
1308
  knife('upload /').should_succeed "Updated /invitations.json\n", :stderr => "WARN: Could not invite bar to organization foo: User bar is already in organization foo\n"
1309
- api.get('association_requests').map { |a| a['username'] }.should == [ 'foo', 'foobar' ]
1310
- api.get('users').map { |a| a['user']['username'] }.should == [ 'bar' ]
1309
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ 'foo', 'foobar' ])
1310
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ 'bar' ])
1311
1311
  end
1312
1312
  end
1313
1313
 
@@ -1318,8 +1318,8 @@ EOM
1318
1318
 
1319
1319
  it 'knife upload / emits a warning for bar and adds foo and foobar' do
1320
1320
  knife('upload /').should_succeed "Updated /members.json\n"
1321
- api.get('association_requests').map { |a| a['username'] }.should == [ ]
1322
- api.get('users').map { |a| a['user']['username'] }.should == [ 'bar', 'foo', 'foobar' ]
1321
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ ])
1322
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ 'bar', 'foo', 'foobar' ])
1323
1323
  end
1324
1324
  end
1325
1325
 
@@ -1331,8 +1331,8 @@ EOM
1331
1331
 
1332
1332
  it 'knife upload / does nothing' do
1333
1333
  knife('upload /').should_succeed ''
1334
- api.get('association_requests').map { |a| a['username'] }.should == [ 'foo' ]
1335
- api.get('users').map { |a| a['user']['username'] }.should == [ 'bar' ]
1334
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ 'foo' ])
1335
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ 'bar' ])
1336
1336
  end
1337
1337
  end
1338
1338
  end
@@ -1347,8 +1347,8 @@ EOM
1347
1347
 
1348
1348
  it 'knife upload / does nothing' do
1349
1349
  knife('upload /').should_succeed ''
1350
- api.get('association_requests').map { |a| a['username'] }.should == [ 'bar', 'foo' ]
1351
- api.get('users').map { |a| a['user']['username'] }.should == [ ]
1350
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ 'bar', 'foo' ])
1351
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ ])
1352
1352
  end
1353
1353
  end
1354
1354
  end
@@ -1363,8 +1363,8 @@ EOM
1363
1363
 
1364
1364
  it 'knife upload / does nothing' do
1365
1365
  knife('upload /').should_succeed ''
1366
- api.get('association_requests').map { |a| a['username'] }.should == [ ]
1367
- api.get('users').map { |a| a['user']['username'] }.should == [ 'bar', 'foo' ]
1366
+ expect(api.get('association_requests').map { |a| a['username'] }).to eq([ ])
1367
+ expect(api.get('users').map { |a| a['user']['username'] }).to eq([ 'bar', 'foo' ])
1368
1368
  end
1369
1369
  end
1370
1370
  end
@@ -71,7 +71,7 @@ EOM
71
71
  (up to date)
72
72
  EOM
73
73
  expected = expected.lines.map { |l| l.chomp }.join("\n")
74
- actual.should include(expected)
74
+ expect(actual).to include(expected)
75
75
  result.error!
76
76
  end
77
77
  end
@@ -28,7 +28,7 @@ file_cache_path "#{path_to('config/cache')}"
28
28
  EOM
29
29
  result = shell_out("ruby bin/chef-solo -c \"#{path_to('config/solo.rb')}\" -o 'x::default' -l debug", :cwd => chef_dir)
30
30
  result.error!
31
- result.stdout.should include("ITWORKS")
31
+ expect(result.stdout).to include("ITWORKS")
32
32
  end
33
33
 
34
34
  it "should evaluate its node.json file" do
@@ -43,7 +43,7 @@ E
43
43
 
44
44
  result = shell_out("ruby bin/chef-solo -c \"#{path_to('config/solo.rb')}\" -j '#{path_to('config/node.json')}' -l debug", :cwd => chef_dir)
45
45
  result.error!
46
- result.stdout.should include("ITWORKS")
46
+ expect(result.stdout).to include("ITWORKS")
47
47
  end
48
48
 
49
49
  end
@@ -63,8 +63,8 @@ cookbook_path "#{path_to('cookbooks')}"
63
63
  file_cache_path "#{path_to('config/cache')}"
64
64
  EOM
65
65
  result = shell_out("ruby bin/chef-solo -c \"#{path_to('config/solo.rb')}\" -o 'x::default' -l debug", :cwd => chef_dir)
66
- result.exitstatus.should == 0 # For CHEF-5120 this becomes 1
67
- result.stdout.should include("WARN: MissingCookbookDependency")
66
+ expect(result.exitstatus).to eq(0) # For CHEF-5120 this becomes 1
67
+ expect(result.stdout).to include("WARN: MissingCookbookDependency")
68
68
  end
69
69
  end
70
70
 
@@ -83,15 +83,14 @@ end
83
83
  EOM
84
84
  end
85
85
 
86
- # Ruby 1.8.7 doesn't have Process.spawn :(
87
- it "while running solo concurrently", :ruby_gte_19_only => true do
86
+ it "while running solo concurrently" do
88
87
  file 'config/solo.rb', <<EOM
89
88
  cookbook_path "#{path_to('cookbooks')}"
90
89
  file_cache_path "#{path_to('config/cache')}"
91
90
  EOM
92
91
  # We have a timeout protection here so that if due to some bug
93
92
  # run_lock gets stuck we can discover it.
94
- lambda {
93
+ expect {
95
94
  Timeout.timeout(120) do
96
95
  chef_dir = File.join(File.dirname(__FILE__), "..", "..", "..")
97
96
 
@@ -109,7 +108,7 @@ EOM
109
108
  Process.waitpid(s1)
110
109
  Process.waitpid(s2)
111
110
  end
112
- }.should_not raise_error
111
+ }.not_to raise_error
113
112
 
114
113
  # Unfortunately file / directory helpers in integration tests
115
114
  # are implemented using before(:each) so we need to do all below
@@ -117,13 +116,13 @@ EOM
117
116
  run_log = File.read(path_to('logs/runs.log'))
118
117
 
119
118
  # both of the runs should succeed
120
- run_log.lines.reject {|l| !l.include? "INFO: Chef Run complete in"}.length.should == 2
119
+ expect(run_log.lines.reject {|l| !l.include? "INFO: Chef Run complete in"}.length).to eq(2)
121
120
 
122
121
  # second run should have a message which indicates it's waiting for the first run
123
122
  pid_lines = run_log.lines.reject {|l| !l.include? "Chef-client pid:"}
124
- pid_lines.length.should == 2
123
+ expect(pid_lines.length).to eq(2)
125
124
  pids = pid_lines.map {|l| l.split(" ").last}
126
- run_log.should include("Chef client #{pids[0]} is running, will wait for it to finish and then run.")
125
+ expect(run_log).to include("Chef client #{pids[0]} is running, will wait for it to finish and then run.")
127
126
 
128
127
  # second run should start after first run ends
129
128
  starts = [ ]
@@ -135,7 +134,7 @@ EOM
135
134
  ends << index
136
135
  end
137
136
  end
138
- starts[1].should > ends[0]
137
+ expect(starts[1]).to be > ends[0]
139
138
  end
140
139
 
141
140
  end