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

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -143,7 +143,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :external => include_flag do
143
143
  end
144
144
  it "should disable interface (vip)" do
145
145
  new_resource.run_action(:disable)
146
- new_resource.should be_updated_by_last_action
146
+ expect(new_resource).to be_updated_by_last_action
147
147
  interface_should_not_exists(network_interface_alias(en0_interface_for_test))
148
148
  end
149
149
  end
@@ -155,7 +155,7 @@ describe Chef::Resource::Ifconfig, :requires_root, :external => include_flag do
155
155
  end
156
156
  it "should delete interface (vip)" do
157
157
  new_resource.run_action(:delete)
158
- new_resource.should be_updated_by_last_action
158
+ expect(new_resource).to be_updated_by_last_action
159
159
  interface_should_not_exists(network_interface_alias(en0_interface_for_test))
160
160
  interface_persistence_should_not_exists(network_interface_alias(en0_interface_for_test))
161
161
  end
@@ -123,8 +123,8 @@ describe Chef::Resource::Link do
123
123
  describe "when supported on platform", :not_supported_on_win2k3 do
124
124
  shared_examples_for 'delete errors out' do
125
125
  it 'delete errors out' do
126
- lambda { resource.run_action(:delete) }.should raise_error(Chef::Exceptions::Link)
127
- (File.exist?(target_file) || symlink?(target_file)).should be_true
126
+ expect { resource.run_action(:delete) }.to raise_error(Chef::Exceptions::Link)
127
+ expect(File.exist?(target_file) || symlink?(target_file)).to be_truthy
128
128
  end
129
129
  end
130
130
 
@@ -132,19 +132,19 @@ describe Chef::Resource::Link do
132
132
  describe 'the :delete action' do
133
133
  before(:each) do
134
134
  @info = []
135
- Chef::Log.stub(:info) { |msg| @info << msg }
135
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
136
136
  resource.run_action(:delete)
137
137
  end
138
138
 
139
139
  it 'leaves the file deleted' do
140
- File.exist?(target_file).should be_false
141
- symlink?(target_file).should be_false
140
+ expect(File.exist?(target_file)).to be_falsey
141
+ expect(symlink?(target_file)).to be_falsey
142
142
  end
143
143
  it 'does not mark the resource updated' do
144
- resource.should_not be_updated
144
+ expect(resource).not_to be_updated
145
145
  end
146
146
  it 'does not log that it deleted' do
147
- @info.include?("link[#{target_file}] deleted").should be_false
147
+ expect(@info.include?("link[#{target_file}] deleted")).to be_falsey
148
148
  end
149
149
  end
150
150
  end
@@ -153,19 +153,19 @@ describe Chef::Resource::Link do
153
153
  describe 'the :delete action' do
154
154
  before(:each) do
155
155
  @info = []
156
- Chef::Log.stub(:info) { |msg| @info << msg }
156
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
157
157
  resource.run_action(:delete)
158
158
  end
159
159
 
160
160
  it 'deletes the file' do
161
- File.exist?(target_file).should be_false
162
- symlink?(target_file).should be_false
161
+ expect(File.exist?(target_file)).to be_falsey
162
+ expect(symlink?(target_file)).to be_falsey
163
163
  end
164
164
  it 'marks the resource updated' do
165
- resource.should be_updated
165
+ expect(resource).to be_updated
166
166
  end
167
167
  it 'logs that it deleted' do
168
- @info.include?("link[#{target_file}] deleted").should be_true
168
+ expect(@info.include?("link[#{target_file}] deleted")).to be_truthy
169
169
  end
170
170
  end
171
171
  end
@@ -174,19 +174,19 @@ describe Chef::Resource::Link do
174
174
  describe 'the :create action' do
175
175
  before(:each) do
176
176
  @info = []
177
- Chef::Log.stub(:info) { |msg| @info << msg }
177
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
178
178
  resource.run_action(:create)
179
179
  end
180
180
 
181
181
  it 'links to the target file' do
182
- expect(symlink?(target_file)).to be_true
182
+ expect(symlink?(target_file)).to be_truthy
183
183
  expect(readlink(target_file)).to eq(canonicalize(to))
184
184
  end
185
185
  it 'marks the resource updated' do
186
- resource.should be_updated
186
+ expect(resource).to be_updated
187
187
  end
188
188
  it 'logs that it created' do
189
- @info.include?("link[#{target_file}] created").should be_true
189
+ expect(@info.include?("link[#{target_file}] created")).to be_truthy
190
190
  end
191
191
  end
192
192
  end
@@ -195,19 +195,19 @@ describe Chef::Resource::Link do
195
195
  describe 'the :create action' do
196
196
  before(:each) do
197
197
  @info = []
198
- Chef::Log.stub(:info) { |msg| @info << msg }
198
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
199
199
  resource.run_action(:create)
200
200
  end
201
201
 
202
202
  it 'leaves the file linked' do
203
- expect(symlink?(target_file)).to be_true
203
+ expect(symlink?(target_file)).to be_truthy
204
204
  expect(readlink(target_file)).to eq(canonicalize(to))
205
205
  end
206
206
  it 'does not mark the resource updated' do
207
- resource.should_not be_updated
207
+ expect(resource).not_to be_updated
208
208
  end
209
209
  it 'does not log that it created' do
210
- @info.include?("link[#{target_file}] created").should be_false
210
+ expect(@info.include?("link[#{target_file}] created")).to be_falsey
211
211
  end
212
212
  end
213
213
  end
@@ -216,23 +216,23 @@ describe Chef::Resource::Link do
216
216
  describe 'the :create action' do
217
217
  before(:each) do
218
218
  @info = []
219
- Chef::Log.stub(:info) { |msg| @info << msg }
219
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
220
220
  resource.run_action(:create)
221
221
  end
222
222
  it 'preserves the hard link' do
223
- File.exists?(target_file).should be_true
224
- symlink?(target_file).should be_false
223
+ expect(File.exists?(target_file)).to be_truthy
224
+ expect(symlink?(target_file)).to be_falsey
225
225
  # Writing to one hardlinked file should cause both
226
226
  # to have the new value.
227
- IO.read(to).should == IO.read(target_file)
227
+ expect(IO.read(to)).to eq(IO.read(target_file))
228
228
  File.open(to, "w") { |file| file.write('wowzers') }
229
- IO.read(target_file).should == 'wowzers'
229
+ expect(IO.read(target_file)).to eq('wowzers')
230
230
  end
231
231
  it 'marks the resource updated' do
232
- resource.should be_updated
232
+ expect(resource).to be_updated
233
233
  end
234
234
  it 'logs that it created' do
235
- @info.include?("link[#{target_file}] created").should be_true
235
+ expect(@info.include?("link[#{target_file}] created")).to be_truthy
236
236
  end
237
237
  end
238
238
  end
@@ -241,23 +241,23 @@ describe Chef::Resource::Link do
241
241
  describe 'the :create action' do
242
242
  before(:each) do
243
243
  @info = []
244
- Chef::Log.stub(:info) { |msg| @info << msg }
244
+ allow(Chef::Log).to receive(:info) { |msg| @info << msg }
245
245
  resource.run_action(:create)
246
246
  end
247
247
  it 'links to the target file' do
248
- File.exists?(target_file).should be_true
249
- symlink?(target_file).should be_false
248
+ expect(File.exists?(target_file)).to be_truthy
249
+ expect(symlink?(target_file)).to be_falsey
250
250
  # Writing to one hardlinked file should cause both
251
251
  # to have the new value.
252
- IO.read(to).should == IO.read(target_file)
252
+ expect(IO.read(to)).to eq(IO.read(target_file))
253
253
  File.open(to, "w") { |file| file.write('wowzers') }
254
- IO.read(target_file).should == 'wowzers'
254
+ expect(IO.read(target_file)).to eq('wowzers')
255
255
  end
256
256
  it 'does not mark the resource updated' do
257
- resource.should_not be_updated
257
+ expect(resource).not_to be_updated
258
258
  end
259
259
  it 'does not log that it created' do
260
- @info.include?("link[#{target_file}] created").should be_false
260
+ expect(@info.include?("link[#{target_file}] created")).to be_falsey
261
261
  end
262
262
  end
263
263
  end
@@ -278,14 +278,14 @@ describe Chef::Resource::Link do
278
278
  context 'pointing at the target' do
279
279
  before(:each) do
280
280
  symlink(to, target_file)
281
- expect(symlink?(target_file)).to be_true
281
+ expect(symlink?(target_file)).to be_truthy
282
282
  expect(readlink(target_file)).to eq(canonicalize(to))
283
283
  end
284
284
  include_context 'create symbolic link is noop'
285
285
  include_context 'delete succeeds'
286
286
  it 'the :delete action does not delete the target file' do
287
287
  resource.run_action(:delete)
288
- File.exists?(to).should be_true
288
+ expect(File.exists?(to)).to be_truthy
289
289
  end
290
290
  end
291
291
  context 'pointing somewhere else' do
@@ -293,7 +293,7 @@ describe Chef::Resource::Link do
293
293
  @other_target = File.join(test_file_dir, make_tmpname('other_spec'))
294
294
  File.open(@other_target, 'w') { |file| file.write('eek') }
295
295
  symlink(@other_target, target_file)
296
- expect(symlink?(target_file)).to be_true
296
+ expect(symlink?(target_file)).to be_truthy
297
297
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
298
298
  end
299
299
  after(:each) do
@@ -303,14 +303,14 @@ describe Chef::Resource::Link do
303
303
  include_context 'delete succeeds'
304
304
  it 'the :delete action does not delete the target file' do
305
305
  resource.run_action(:delete)
306
- File.exists?(to).should be_true
306
+ expect(File.exists?(to)).to be_truthy
307
307
  end
308
308
  end
309
309
  context 'pointing nowhere' do
310
310
  before(:each) do
311
311
  nonexistent = File.join(test_file_dir, make_tmpname('nonexistent_spec'))
312
312
  symlink(nonexistent, target_file)
313
- expect(symlink?(target_file)).to be_true
313
+ expect(symlink?(target_file)).to be_truthy
314
314
  expect(readlink(target_file)).to eq(canonicalize(nonexistent))
315
315
  end
316
316
  include_context 'create symbolic link succeeds'
@@ -320,8 +320,8 @@ describe Chef::Resource::Link do
320
320
  context 'and the link already exists and is a hard link to the file' do
321
321
  before(:each) do
322
322
  link(to, target_file)
323
- File.exists?(target_file).should be_true
324
- symlink?(target_file).should be_false
323
+ expect(File.exists?(target_file)).to be_truthy
324
+ expect(symlink?(target_file)).to be_falsey
325
325
  end
326
326
  include_context 'create symbolic link succeeds'
327
327
  it_behaves_like 'delete errors out'
@@ -339,16 +339,16 @@ describe Chef::Resource::Link do
339
339
  end
340
340
  it 'create errors out' do
341
341
  if windows?
342
- lambda { resource.run_action(:create) }.should raise_error(Errno::EACCES)
342
+ expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
343
343
  elsif os_x? or solaris? or freebsd? or aix?
344
- lambda { resource.run_action(:create) }.should raise_error(Errno::EPERM)
344
+ expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
345
345
  else
346
- lambda { resource.run_action(:create) }.should raise_error(Errno::EISDIR)
346
+ expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
347
347
  end
348
348
  end
349
349
  it_behaves_like 'delete errors out'
350
350
  end
351
- context 'and the link already exists and is not writeable to this user', :pending do
351
+ context 'and the link already exists and is not writeable to this user', :skip => true do
352
352
  end
353
353
  it_behaves_like 'a securable resource without existing target' do
354
354
  let(:path) { target_file }
@@ -392,7 +392,7 @@ describe Chef::Resource::Link do
392
392
  @other_target = File.join(test_file_dir, make_tmpname("other_spec"))
393
393
  File.open(@other_target, "w") { |file| file.write("eek") }
394
394
  symlink(@other_target, to)
395
- expect(symlink?(to)).to be_true
395
+ expect(symlink?(to)).to be_truthy
396
396
  expect(readlink(to)).to eq(canonicalize(@other_target))
397
397
  end
398
398
  after(:each) do
@@ -407,7 +407,7 @@ describe Chef::Resource::Link do
407
407
  before(:each) do
408
408
  @other_target = File.join(test_file_dir, make_tmpname("other_spec"))
409
409
  symlink(@other_target, to)
410
- expect(symlink?(to)).to be_true
410
+ expect(symlink?(to)).to be_truthy
411
411
  expect(readlink(to)).to eq(canonicalize(@other_target))
412
412
  end
413
413
  context 'and the link does not yet exist' do
@@ -416,7 +416,7 @@ describe Chef::Resource::Link do
416
416
  end
417
417
  end
418
418
  end
419
- context "when the link destination is not readable to this user", :pending do
419
+ context "when the link destination is not readable to this user", :skip => true do
420
420
  end
421
421
  context "when the link destination does not exist" do
422
422
  include_context 'create symbolic link succeeds'
@@ -440,7 +440,7 @@ describe Chef::Resource::Link do
440
440
  context 'when the link already exists and points at the target' do
441
441
  before(:each) do
442
442
  symlink(to, target_file)
443
- expect(symlink?(target_file)).to be_true
443
+ expect(symlink?(target_file)).to be_truthy
444
444
  expect(readlink(target_file)).to eq(canonicalize(to))
445
445
  end
446
446
  include_context 'create symbolic link is noop'
@@ -449,7 +449,7 @@ describe Chef::Resource::Link do
449
449
  context 'when the link already exists and points at the target with an absolute path' do
450
450
  before(:each) do
451
451
  symlink(absolute_to, target_file)
452
- expect(symlink?(target_file)).to be_true
452
+ expect(symlink?(target_file)).to be_truthy
453
453
  expect(readlink(target_file)).to eq(canonicalize(absolute_to))
454
454
  end
455
455
  include_context 'create symbolic link succeeds'
@@ -477,7 +477,7 @@ describe Chef::Resource::Link do
477
477
  context "and the link already exists and is a symbolic link pointing at the same file" do
478
478
  before(:each) do
479
479
  symlink(to, target_file)
480
- expect(symlink?(target_file)).to be_true
480
+ expect(symlink?(target_file)).to be_truthy
481
481
  expect(readlink(target_file)).to eq(canonicalize(to))
482
482
  end
483
483
  include_context 'create hard link succeeds'
@@ -486,14 +486,14 @@ describe Chef::Resource::Link do
486
486
  context 'and the link already exists and is a hard link to the file' do
487
487
  before(:each) do
488
488
  link(to, target_file)
489
- File.exists?(target_file).should be_true
490
- symlink?(target_file).should be_false
489
+ expect(File.exists?(target_file)).to be_truthy
490
+ expect(symlink?(target_file)).to be_falsey
491
491
  end
492
492
  include_context 'create hard link is noop'
493
493
  include_context 'delete succeeds'
494
494
  it 'the :delete action does not delete the target file' do
495
495
  resource.run_action(:delete)
496
- File.exists?(to).should be_true
496
+ expect(File.exists?(to)).to be_truthy
497
497
  end
498
498
  end
499
499
  context "and the link already exists and is a file" do
@@ -509,16 +509,16 @@ describe Chef::Resource::Link do
509
509
  end
510
510
  it 'errors out' do
511
511
  if windows?
512
- lambda { resource.run_action(:create) }.should raise_error(Errno::EACCES)
512
+ expect { resource.run_action(:create) }.to raise_error(Errno::EACCES)
513
513
  elsif os_x? or solaris? or freebsd? or aix?
514
- lambda { resource.run_action(:create) }.should raise_error(Errno::EPERM)
514
+ expect { resource.run_action(:create) }.to raise_error(Errno::EPERM)
515
515
  else
516
- lambda { resource.run_action(:create) }.should raise_error(Errno::EISDIR)
516
+ expect { resource.run_action(:create) }.to raise_error(Errno::EISDIR)
517
517
  end
518
518
  end
519
519
  it_behaves_like 'delete errors out'
520
520
  end
521
- context "and the link already exists and is not writeable to this user", :pending do
521
+ context "and the link already exists and is not writeable to this user", :skip => true do
522
522
  end
523
523
  context "and specifies security attributes" do
524
524
  before(:each) do
@@ -527,9 +527,9 @@ describe Chef::Resource::Link do
527
527
  it 'ignores them' do
528
528
  resource.run_action(:create)
529
529
  if windows?
530
- Chef::ReservedNames::Win32::Security.get_named_security_info(target_file).owner.should_not == SID.Guest
530
+ expect(Chef::ReservedNames::Win32::Security.get_named_security_info(target_file).owner).not_to eq(SID.Guest)
531
531
  else
532
- File.lstat(target_file).uid.should_not == Etc.getpwnam('nobody').uid
532
+ expect(File.lstat(target_file).uid).not_to eq(Etc.getpwnam('nobody').uid)
533
533
  end
534
534
  end
535
535
  end
@@ -540,7 +540,7 @@ describe Chef::Resource::Link do
540
540
  end
541
541
  context 'and the link does not yet exist' do
542
542
  it 'create errors out' do
543
- lambda { resource.run_action(:create) }.should raise_error(windows? ? Chef::Exceptions::Win32APIError : Errno::EPERM)
543
+ expect { resource.run_action(:create) }.to raise_error(windows? ? Chef::Exceptions::Win32APIError : Errno::EPERM)
544
544
  end
545
545
  include_context 'delete is noop'
546
546
  end
@@ -551,7 +551,7 @@ describe Chef::Resource::Link do
551
551
  @other_target = File.join(test_file_dir, make_tmpname("other_spec"))
552
552
  File.open(@other_target, "w") { |file| file.write("eek") }
553
553
  symlink(@other_target, to)
554
- expect(symlink?(to)).to be_true
554
+ expect(symlink?(to)).to be_truthy
555
555
  expect(readlink(to)).to eq(canonicalize(@other_target))
556
556
  end
557
557
  after(:each) do
@@ -560,10 +560,10 @@ describe Chef::Resource::Link do
560
560
  context 'and the link does not yet exist' do
561
561
  it 'links to the target file' do
562
562
  resource.run_action(:create)
563
- File.exists?(target_file).should be_true
563
+ expect(File.exists?(target_file)).to be_truthy
564
564
  # OS X gets angry about this sort of link. Bug in OS X, IMO.
565
565
  pending('OS X/FreeBSD/AIX symlink? and readlink working on hard links to symlinks') if (os_x? or freebsd? or aix?)
566
- expect(symlink?(target_file)).to be_true
566
+ expect(symlink?(target_file)).to be_truthy
567
567
  expect(readlink(target_file)).to eq(canonicalize(@other_target))
568
568
  end
569
569
  include_context 'delete is noop'
@@ -573,33 +573,32 @@ describe Chef::Resource::Link do
573
573
  before(:each) do
574
574
  @other_target = File.join(test_file_dir, make_tmpname("other_spec"))
575
575
  symlink(@other_target, to)
576
- expect(symlink?(to)).to be_true
576
+ expect(symlink?(to)).to be_truthy
577
577
  expect(readlink(to)).to eq(canonicalize(@other_target))
578
578
  end
579
579
  context 'and the link does not yet exist' do
580
580
  it 'links to the target file' do
581
- pending('OS X/FreeBSD/AIX fails to create hardlinks to broken symlinks', :if => (os_x? or freebsd? or aix?)) do
582
- resource.run_action(:create)
583
- # Windows and Unix have different definitions of exists? here, and that's OK.
584
- if windows?
585
- File.exists?(target_file).should be_true
586
- else
587
- File.exists?(target_file).should be_false
588
- end
589
- expect(symlink?(target_file)).to be_true
590
- expect(readlink(target_file)).to eq(canonicalize(@other_target))
581
+ pending('OS X/FreeBSD/AIX fails to create hardlinks to broken symlinks') if (os_x? or freebsd? or aix?)
582
+ resource.run_action(:create)
583
+ # Windows and Unix have different definitions of exists? here, and that's OK.
584
+ if windows?
585
+ expect(File.exists?(target_file)).to be_truthy
586
+ else
587
+ expect(File.exists?(target_file)).to be_falsey
591
588
  end
589
+ expect(symlink?(target_file)).to be_truthy
590
+ expect(readlink(target_file)).to eq(canonicalize(@other_target))
592
591
  end
593
592
  include_context 'delete is noop'
594
593
  end
595
594
  end
596
595
  end
597
- context "when the link destination is not readable to this user", :pending do
596
+ context "when the link destination is not readable to this user", :skip => true do
598
597
  end
599
598
  context "when the link destination does not exist" do
600
599
  context 'and the link does not yet exist' do
601
600
  it 'create errors out' do
602
- lambda { resource.run_action(:create) }.should raise_error(Errno::ENOENT)
601
+ expect { resource.run_action(:create) }.to raise_error(Errno::ENOENT)
603
602
  end
604
603
  include_context 'delete is noop'
605
604
  end
@@ -609,7 +608,7 @@ describe Chef::Resource::Link do
609
608
 
610
609
  describe "when not supported on platform", :win2k3_only do
611
610
  it "raises error" do
612
- lambda {resource}.should raise_error(Chef::Exceptions::Win32APIFunctionNotImplemented)
611
+ expect {resource}.to raise_error(Chef::Exceptions::Win32APIFunctionNotImplemented)
613
612
  end
614
613
  end
615
614
  end
@@ -82,7 +82,7 @@ describe Chef::Resource::Mount, :requires_root, :external => include_flag do
82
82
  end
83
83
 
84
84
  def mount_should_not_exists(mount_point)
85
- shell_out("mount").stdout.should_not include(mount_point)
85
+ expect(shell_out("mount").stdout).not_to include(mount_point)
86
86
  end
87
87
 
88
88
  def unix_mount_config_file
@@ -106,7 +106,7 @@ describe Chef::Resource::Mount, :requires_root, :external => include_flag do
106
106
  end
107
107
 
108
108
  def mount_should_be_disabled(mount_point)
109
- shell_out("cat #{unix_mount_config_file}").stdout.should_not include("#{mount_point}:")
109
+ expect(shell_out("cat #{unix_mount_config_file}").stdout).not_to include("#{mount_point}:")
110
110
  end
111
111
 
112
112
  let(:new_resource) do
@@ -155,10 +155,10 @@ describe Chef::Resource::Mount, :requires_root, :external => include_flag do
155
155
 
156
156
  describe "when the target state is a mounted filesystem" do
157
157
  it "should mount the filesystem if it isn't mounted" do
158
- current_resource.enabled.should be_false
159
- current_resource.mounted.should be_false
158
+ expect(current_resource.enabled).to be_falsey
159
+ expect(current_resource.mounted).to be_falsey
160
160
  new_resource.run_action(:mount)
161
- new_resource.should be_updated
161
+ expect(new_resource).to be_updated
162
162
  mount_should_exist(new_resource.mount_point, new_resource.device)
163
163
  end
164
164
  end