chef 12.0.3 → 12.1.0.rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (655) 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 -53
  643. data/bin/chef-service-manager +0 -37
  644. data/bin/chef-windows-service +0 -35
  645. data/bin/shef +0 -35
  646. data/lib/chef/application/agent.rb +0 -18
  647. data/lib/chef/monkey_patches/fileutils.rb +0 -65
  648. data/lib/chef/monkey_patches/numeric.rb +0 -15
  649. data/lib/chef/monkey_patches/object.rb +0 -9
  650. data/lib/chef/monkey_patches/pathname.rb +0 -32
  651. data/lib/chef/monkey_patches/regexp.rb +0 -34
  652. data/lib/chef/monkey_patches/securerandom.rb +0 -44
  653. data/lib/chef/monkey_patches/string.rb +0 -49
  654. data/lib/chef/monkey_patches/tempfile.rb +0 -64
  655. data/lib/chef/monkey_patches/uri.rb +0 -70
@@ -27,16 +27,13 @@ describe Chef::Provider::Group::Dscl do
27
27
  @current_resource = Chef::Resource::Group.new("aj")
28
28
  @provider = Chef::Provider::Group::Dscl.new(@new_resource, @run_context)
29
29
  @provider.current_resource = @current_resource
30
- @status = double("Process::Status", :exitstatus => 0)
31
- @pid = 2342
32
- @stdin = StringIO.new
33
- @stdout = StringIO.new("\n")
34
- @stderr = StringIO.new("")
35
- allow(@provider).to receive(:popen4).and_yield(@pid,@stdin,@stdout,@stderr).and_return(@status)
30
+
31
+ @status = double(:stdout => "\n", :stderr => "", :exitstatus => 0)
32
+ allow(@provider).to receive(:shell_out).and_return(@status)
36
33
  end
37
34
 
38
- it "should run popen4 with the supplied array of arguments appended to the dscl command" do
39
- expect(@provider).to receive(:popen4).with("dscl . -cmd /Path arg1 arg2")
35
+ it "should run shell_out with the supplied array of arguments appended to the dscl command" do
36
+ expect(@provider).to receive(:shell_out).with("dscl . -cmd /Path arg1 arg2")
40
37
  @provider.dscl("cmd", "/Path", "arg1", "arg2")
41
38
  end
42
39
 
@@ -129,15 +126,15 @@ describe Chef::Provider::Group::Dscl do
129
126
  end
130
127
 
131
128
  it "should return true for a used gid number" do
132
- expect(@provider.gid_used?(500)).to be_true
129
+ expect(@provider.gid_used?(500)).to be_truthy
133
130
  end
134
131
 
135
132
  it "should return false for an unused gid number" do
136
- expect(@provider.gid_used?(501)).to be_false
133
+ expect(@provider.gid_used?(501)).to be_falsey
137
134
  end
138
135
 
139
136
  it "should return false if not given any valid gid number" do
140
- expect(@provider.gid_used?(nil)).to be_false
137
+ expect(@provider.gid_used?(nil)).to be_falsey
141
138
  end
142
139
  end
143
140
 
@@ -45,7 +45,7 @@ describe Chef::Provider::User do
45
45
  end
46
46
 
47
47
  it "assumes the group exists by default" do
48
- expect(@provider.group_exists).to be_true
48
+ expect(@provider.group_exists).to be_truthy
49
49
  end
50
50
 
51
51
  describe "when establishing the current state of the group" do
@@ -76,7 +76,7 @@ describe Chef::Provider::User do
76
76
  it "should flip the value of exists if it cannot be found in /etc/group" do
77
77
  allow(Etc).to receive(:getgrnam).and_raise(ArgumentError)
78
78
  @provider.load_current_resource
79
- expect(@provider.group_exists).to be_false
79
+ expect(@provider.group_exists).to be_falsey
80
80
  end
81
81
 
82
82
  it "should return the current resource" do
@@ -88,42 +88,42 @@ describe Chef::Provider::User do
88
88
  [ :gid, :members ].each do |attribute|
89
89
  it "should return true if #{attribute} doesn't match" do
90
90
  allow(@current_resource).to receive(attribute).and_return("looooooooooooooooooool")
91
- expect(@provider.compare_group).to be_true
91
+ expect(@provider.compare_group).to be_truthy
92
92
  end
93
93
  end
94
94
 
95
95
  it "should return false if gid and members are equal" do
96
- expect(@provider.compare_group).to be_false
96
+ expect(@provider.compare_group).to be_falsey
97
97
  end
98
98
 
99
99
  it "should coerce an integer to a string for comparison" do
100
100
  allow(@current_resource).to receive(:gid).and_return("500")
101
- expect(@provider.compare_group).to be_false
101
+ expect(@provider.compare_group).to be_falsey
102
102
  end
103
103
 
104
104
  it "should return false if append is true and the group member(s) already exists" do
105
105
  @current_resource.members << "extra_user"
106
106
  allow(@new_resource).to receive(:append).and_return(true)
107
- expect(@provider.compare_group).to be_false
107
+ expect(@provider.compare_group).to be_falsey
108
108
  end
109
109
 
110
110
  it "should return true if append is true and the group member(s) do not already exist" do
111
111
  @new_resource.members << "extra_user"
112
112
  allow(@new_resource).to receive(:append).and_return(true)
113
- expect(@provider.compare_group).to be_true
113
+ expect(@provider.compare_group).to be_truthy
114
114
  end
115
115
 
116
116
  it "should return false if append is true and excluded_members include a non existing member" do
117
117
  @new_resource.excluded_members << "extra_user"
118
118
  allow(@new_resource).to receive(:append).and_return(true)
119
- expect(@provider.compare_group).to be_false
119
+ expect(@provider.compare_group).to be_falsey
120
120
  end
121
121
 
122
122
  it "should return true if the append is true and excluded_members include an existing user" do
123
123
  @new_resource.members.each {|m| @new_resource.excluded_members << m }
124
124
  @new_resource.members.clear
125
125
  allow(@new_resource).to receive(:append).and_return(true)
126
- expect(@provider.compare_group).to be_true
126
+ expect(@provider.compare_group).to be_truthy
127
127
  end
128
128
 
129
129
  end
@@ -259,26 +259,26 @@ describe Chef::Provider::User do
259
259
  @new_resource.members << "user1"
260
260
  @new_resource.members << "user2"
261
261
  allow(@new_resource).to receive(:append).and_return true
262
- expect(@provider.compare_group).to be_true
262
+ expect(@provider.compare_group).to be_truthy
263
263
  expect(@provider.change_desc).to eq([ "add missing member(s): user1, user2" ])
264
264
  end
265
265
 
266
266
  it "should report that the group members will be overwritten if not appending" do
267
267
  @new_resource.members << "user1"
268
268
  allow(@new_resource).to receive(:append).and_return false
269
- expect(@provider.compare_group).to be_true
269
+ expect(@provider.compare_group).to be_truthy
270
270
  expect(@provider.change_desc).to eq([ "replace group members with new list of members" ])
271
271
  end
272
272
 
273
273
  it "should report the gid will be changed when it does not match" do
274
274
  allow(@current_resource).to receive(:gid).and_return("BADF00D")
275
- expect(@provider.compare_group).to be_true
275
+ expect(@provider.compare_group).to be_truthy
276
276
  expect(@provider.change_desc).to eq([ "change gid #{@current_resource.gid} to #{@new_resource.gid}" ])
277
277
 
278
278
  end
279
279
 
280
280
  it "should report no change reason when no change is required" do
281
- expect(@provider.compare_group).to be_false
281
+ expect(@provider.compare_group).to be_falsey
282
282
  expect(@provider.change_desc).to eq([ ])
283
283
  end
284
284
  end
@@ -49,10 +49,11 @@ IFCONFIG
49
49
 
50
50
  describe "#load_current_resource" do
51
51
  before do
52
- status = double("Status", :exitstatus => 0)
53
- expect(@provider).to receive(:popen4).with("ifconfig -a").and_yield(@pid,@stdin,StringIO.new(@ifconfig_output),@stderr).and_return(status)
52
+ @status = double(:stdout => @ifconfig_output, :exitstatus => 0)
53
+ allow(@provider).to receive(:shell_out).and_return(@status)
54
54
  @new_resource.device "en0"
55
55
  end
56
+
56
57
  it "should load given interface with attributes." do
57
58
  current_resource = @provider.load_current_resource
58
59
  expect(current_resource.inet_addr).to eq("172.29.174.58")
@@ -77,29 +77,29 @@ describe Chef::Provider::Ifconfig::Debian do
77
77
  context "when the interface_dot_d directory does not exist" do
78
78
  before do
79
79
  FileUtils.rmdir tempdir_path
80
- expect(File.exists?(tempdir_path)).to be_false
80
+ expect(File.exists?(tempdir_path)).to be_falsey
81
81
  end
82
82
 
83
83
  it "should create the /etc/network/interfaces.d directory" do
84
84
  provider.run_action(:add)
85
- expect(File.exists?(tempdir_path)).to be_true
86
- expect(File.directory?(tempdir_path)).to be_true
85
+ expect(File.exists?(tempdir_path)).to be_truthy
86
+ expect(File.directory?(tempdir_path)).to be_truthy
87
87
  end
88
88
 
89
89
  it "should mark the resource as updated" do
90
90
  provider.run_action(:add)
91
- expect(new_resource.updated_by_last_action?).to be_true
91
+ expect(new_resource.updated_by_last_action?).to be_truthy
92
92
  end
93
93
  end
94
94
 
95
95
  context "when the interface_dot_d directory exists" do
96
96
  before do
97
- expect(File.exists?(tempdir_path)).to be_true
97
+ expect(File.exists?(tempdir_path)).to be_truthy
98
98
  end
99
99
 
100
100
  it "should still mark the resource as updated (we still write a file to it)" do
101
101
  provider.run_action(:add)
102
- expect(new_resource.updated_by_last_action?).to be_true
102
+ expect(new_resource.updated_by_last_action?).to be_truthy
103
103
  end
104
104
  end
105
105
  end
@@ -120,7 +120,7 @@ iface eth0 inet static
120
120
  netmask 255.255.254.0
121
121
  EOF
122
122
  )
123
- expect(File.exists?(tempdir_path)).to be_true # since the file exists, the enclosing dir must also exist
123
+ expect(File.exists?(tempdir_path)).to be_truthy # since the file exists, the enclosing dir must also exist
124
124
  end
125
125
 
126
126
  context "when the /etc/network/interfaces file has the source line" do
@@ -147,7 +147,7 @@ EOF
147
147
  it "should not mark the resource as updated" do
148
148
  provider.run_action(:add)
149
149
  pending "superclass ifconfig provider is not idempotent"
150
- expect(new_resource.updated_by_last_action?).to be_false
150
+ expect(new_resource.updated_by_last_action?).to be_falsey
151
151
  end
152
152
  end
153
153
 
@@ -175,7 +175,7 @@ EOF
175
175
 
176
176
  it "should mark the resource as updated" do
177
177
  provider.run_action(:add)
178
- expect(new_resource.updated_by_last_action?).to be_true
178
+ expect(new_resource.updated_by_last_action?).to be_truthy
179
179
  end
180
180
  end
181
181
  end
@@ -215,28 +215,28 @@ EOF
215
215
  context "when the interface_dot_d directory does not exist" do
216
216
  before do
217
217
  FileUtils.rmdir tempdir_path
218
- expect(File.exists?(tempdir_path)).to be_false
218
+ expect(File.exists?(tempdir_path)).to be_falsey
219
219
  end
220
220
 
221
221
  it "should not create the /etc/network/interfaces.d directory" do
222
222
  provider.run_action(:add)
223
- expect(File.exists?(tempdir_path)).not_to be_true
223
+ expect(File.exists?(tempdir_path)).not_to be_truthy
224
224
  end
225
225
 
226
226
  it "should mark the resource as updated" do
227
227
  provider.run_action(:add)
228
- expect(new_resource.updated_by_last_action?).to be_true
228
+ expect(new_resource.updated_by_last_action?).to be_truthy
229
229
  end
230
230
  end
231
231
 
232
232
  context "when the interface_dot_d directory exists" do
233
233
  before do
234
- expect(File.exists?(tempdir_path)).to be_true
234
+ expect(File.exists?(tempdir_path)).to be_truthy
235
235
  end
236
236
 
237
237
  it "should still mark the resource as updated (we still write a file to it)" do
238
238
  provider.run_action(:add)
239
- expect(new_resource.updated_by_last_action?).to be_true
239
+ expect(new_resource.updated_by_last_action?).to be_truthy
240
240
  end
241
241
  end
242
242
  end
@@ -258,7 +258,7 @@ iface eth0 inet static
258
258
  EOF
259
259
  )
260
260
  expect(File).not_to receive(:new).with(config_filename_ifcfg, "w")
261
- expect(File.exists?(tempdir_path)).to be_true # since the file exists, the enclosing dir must also exist
261
+ expect(File.exists?(tempdir_path)).to be_truthy # since the file exists, the enclosing dir must also exist
262
262
  end
263
263
 
264
264
  context "when the /etc/network/interfaces file has the source line" do
@@ -283,7 +283,7 @@ another line
283
283
  it "should not mark the resource as updated" do
284
284
  provider.run_action(:add)
285
285
  pending "superclass ifconfig provider is not idempotent"
286
- expect(new_resource.updated_by_last_action?).to be_false
286
+ expect(new_resource.updated_by_last_action?).to be_falsey
287
287
  end
288
288
  end
289
289
 
@@ -308,7 +308,7 @@ source #{tempdir_path}/*
308
308
 
309
309
  it "should mark the resource as updated" do
310
310
  provider.run_action(:add)
311
- expect(new_resource.updated_by_last_action?).to be_true
311
+ expect(new_resource.updated_by_last_action?).to be_truthy
312
312
  end
313
313
  end
314
314
  end
@@ -345,9 +345,9 @@ source #{tempdir_path}/*
345
345
  # internal implementation detail of Ifconfig.
346
346
  expect_any_instance_of(Chef::Provider::File).to receive(:action_delete).and_call_original
347
347
 
348
- expect(File.exist?(config_filename_ifcfg)).to be_true
348
+ expect(File.exist?(config_filename_ifcfg)).to be_truthy
349
349
  provider.run_action(:delete)
350
- expect(File.exist?(config_filename_ifcfg)).to be_false
350
+ expect(File.exist?(config_filename_ifcfg)).to be_falsey
351
351
  end
352
352
  end
353
353
 
@@ -42,8 +42,8 @@ describe Chef::Provider::Ifconfig do
42
42
  end
43
43
  describe Chef::Provider::Ifconfig, "load_current_resource" do
44
44
  before do
45
- status = double("Status", :exitstatus => 1)
46
- expect(@provider).to receive(:popen4).and_return status
45
+ @status = double(:stdout => "", :exitstatus => 1)
46
+ allow(@provider).to receive(:shell_out).and_return(@status)
47
47
  @provider.load_current_resource
48
48
  end
49
49
  it "should track state of ifconfig failure." do
@@ -41,13 +41,13 @@ describe Chef::Provider::Mdadm do
41
41
  it "determines that the metadevice exists when mdadm exit code is zero" do
42
42
  allow(@provider).to receive(:shell_out!).with("mdadm --detail --test /dev/md1", :returns => [0,4]).and_return(OpenStruct.new(:status => 0))
43
43
  @provider.load_current_resource
44
- expect(@provider.current_resource.exists).to be_true
44
+ expect(@provider.current_resource.exists).to be_truthy
45
45
  end
46
46
 
47
47
  it "determines that the metadevice does not exist when mdadm exit code is 4" do
48
48
  allow(@provider).to receive(:shell_out!).with("mdadm --detail --test /dev/md1", :returns => [0,4]).and_return(OpenStruct.new(:status => 4))
49
49
  @provider.load_current_resource
50
- expect(@provider.current_resource.exists).to be_false
50
+ expect(@provider.current_resource.exists).to be_falsey
51
51
  end
52
52
  end
53
53
 
@@ -84,7 +84,7 @@ ENABLED
84
84
  stub_mounted_enabled(@provider, @mounted_output, "")
85
85
  @provider.load_current_resource
86
86
 
87
- expect(@provider.current_resource.mounted).to be_true
87
+ expect(@provider.current_resource.mounted).to be_truthy
88
88
  end
89
89
 
90
90
  it "should set current_resource.mounted to false if device is not mounted" do
@@ -92,7 +92,7 @@ ENABLED
92
92
 
93
93
  @provider.load_current_resource
94
94
 
95
- expect(@provider.current_resource.mounted).to be_false
95
+ expect(@provider.current_resource.mounted).to be_falsey
96
96
  end
97
97
 
98
98
  it "should set current_resource.mounted to false if the mount point is used for another device" do
@@ -100,7 +100,7 @@ ENABLED
100
100
 
101
101
  @provider.load_current_resource
102
102
 
103
- expect(@provider.current_resource.mounted).to be_false
103
+ expect(@provider.current_resource.mounted).to be_falsey
104
104
  end
105
105
  end
106
106
 
@@ -110,8 +110,8 @@ ENABLED
110
110
 
111
111
  @provider.load_current_resource
112
112
 
113
- expect(@provider.current_resource.enabled).to be_true
114
- expect(@provider.current_resource.mounted).to be_true
113
+ expect(@provider.current_resource.enabled).to be_truthy
114
+ expect(@provider.current_resource.mounted).to be_truthy
115
115
  expect(@provider.current_resource.mount_point).to eql(@new_resource.mount_point)
116
116
  expect(@provider.current_resource.fstype).to eql("jfs2")
117
117
  expect(@provider.current_resource.options).to eql(['rw'])
@@ -54,10 +54,11 @@ describe Chef::Provider::Mount::Mount do
54
54
  end
55
55
 
56
56
  it "should accecpt device_type :uuid", :not_supported_on_solaris do
57
+ @status = double(:stdout => "/dev/sdz1\n", :exitstatus => 1)
57
58
  @new_resource.device_type :uuid
58
59
  @new_resource.device "d21afe51-a0fe-4dc6-9152-ac733763ae0a"
59
60
  @stdout_findfs = double("STDOUT", :first => "/dev/sdz1")
60
- expect(@provider).to receive(:popen4).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_yield(@pid,@stdin,@stdout_findfs,@stderr).and_return(@status)
61
+ expect(@provider).to receive(:shell_out).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_return(@status)
61
62
  @provider.load_current_resource()
62
63
  @provider.mountable?
63
64
  end
@@ -67,14 +68,14 @@ describe Chef::Provider::Mount::Mount do
67
68
  "cifs" => "//cifsserver/share" }.each do |type, fs_spec|
68
69
  it "should detect network fs_spec (#{type})" do
69
70
  @new_resource.device fs_spec
70
- expect(@provider.network_device?).to be_true
71
+ expect(@provider.network_device?).to be_truthy
71
72
  end
72
73
 
73
74
  it "should ignore trailing slash and set mounted to true for network mount (#{type})" do
74
75
  @new_resource.device fs_spec
75
76
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "#{fs_spec}/ on /tmp/foo type #{type} (rw)\n"))
76
77
  @provider.load_current_resource
77
- expect(@provider.current_resource.mounted).to be_true
78
+ expect(@provider.current_resource.mounted).to be_truthy
78
79
  end
79
80
  end
80
81
  end
@@ -93,11 +94,10 @@ describe Chef::Provider::Mount::Mount do
93
94
  end
94
95
 
95
96
  it "should raise an error if the mount device (uuid) does not exist", :not_supported_on_solaris do
97
+ status = double(:stdout => "", :exitstatus => 1)
96
98
  @new_resource.device_type :uuid
97
99
  @new_resource.device "d21afe51-a0fe-4dc6-9152-ac733763ae0a"
98
- status_findfs = double("Status", :exitstatus => 1)
99
- stdout_findfs = double("STDOUT", :first => nil)
100
- expect(@provider).to receive(:popen4).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_yield(@pid,@stdin,stdout_findfs,@stderr).and_return(status_findfs)
100
+ expect(@provider).to receive(:shell_out).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_return(status)
101
101
  expect(::File).to receive(:exists?).with("").and_return(false)
102
102
  expect { @provider.load_current_resource();@provider.mountable? }.to raise_error(Chef::Exceptions::Mount)
103
103
  end
@@ -123,13 +123,13 @@ describe Chef::Provider::Mount::Mount do
123
123
  it "should set mounted true if the mount point is found in the mounts list" do
124
124
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "/dev/sdz1 on /tmp/foo type ext3 (rw)\n"))
125
125
  @provider.load_current_resource()
126
- expect(@provider.current_resource.mounted).to be_true
126
+ expect(@provider.current_resource.mounted).to be_truthy
127
127
  end
128
128
 
129
129
  it "should set mounted false if another mount point beginning with the same path is found in the mounts list" do
130
130
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "/dev/sdz1 on /tmp/foobar type ext3 (rw)\n"))
131
131
  @provider.load_current_resource()
132
- expect(@provider.current_resource.mounted).to be_false
132
+ expect(@provider.current_resource.mounted).to be_falsey
133
133
  end
134
134
 
135
135
  it "should set mounted true if the symlink target of the device is found in the mounts list" do
@@ -141,7 +141,7 @@ describe Chef::Provider::Mount::Mount do
141
141
 
142
142
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "#{target} on /tmp/foo type ext3 (rw)\n"))
143
143
  @provider.load_current_resource()
144
- expect(@provider.current_resource.mounted).to be_true
144
+ expect(@provider.current_resource.mounted).to be_truthy
145
145
  end
146
146
 
147
147
  it "should set mounted true if the symlink target of the device is relative and is found in the mounts list - CHEF-4957" do
@@ -155,7 +155,7 @@ describe Chef::Provider::Mount::Mount do
155
155
 
156
156
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "#{absolute_target} on /tmp/foo type ext3 (rw)\n"))
157
157
  @provider.load_current_resource()
158
- expect(@provider.current_resource.mounted).to be_true
158
+ expect(@provider.current_resource.mounted).to be_truthy
159
159
  end
160
160
 
161
161
  it "should set mounted true if the mount point is found last in the mounts list" do
@@ -164,7 +164,7 @@ describe Chef::Provider::Mount::Mount do
164
164
 
165
165
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => mount))
166
166
  @provider.load_current_resource()
167
- expect(@provider.current_resource.mounted).to be_true
167
+ expect(@provider.current_resource.mounted).to be_truthy
168
168
  end
169
169
 
170
170
  it "should set mounted false if the mount point is not last in the mounts list" do
@@ -173,13 +173,13 @@ describe Chef::Provider::Mount::Mount do
173
173
 
174
174
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => mount))
175
175
  @provider.load_current_resource()
176
- expect(@provider.current_resource.mounted).to be_false
176
+ expect(@provider.current_resource.mounted).to be_falsey
177
177
  end
178
178
 
179
179
  it "mounted should be false if the mount point is not found in the mounts list" do
180
180
  allow(@provider).to receive(:shell_out!).and_return(OpenStruct.new(:stdout => "/dev/sdy1 on /tmp/foo type ext3 (rw)\n"))
181
181
  @provider.load_current_resource()
182
- expect(@provider.current_resource.mounted).to be_false
182
+ expect(@provider.current_resource.mounted).to be_falsey
183
183
  end
184
184
 
185
185
  it "should set enabled to true if the mount point is last in fstab" do
@@ -189,7 +189,7 @@ describe Chef::Provider::Mount::Mount do
189
189
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield(fstab1).and_yield(fstab2)
190
190
 
191
191
  @provider.load_current_resource
192
- expect(@provider.current_resource.enabled).to be_true
192
+ expect(@provider.current_resource.enabled).to be_truthy
193
193
  end
194
194
 
195
195
  it "should set enabled to true if the mount point is not last in fstab and mount_point is a substring of another mount" do
@@ -199,7 +199,7 @@ describe Chef::Provider::Mount::Mount do
199
199
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield(fstab1).and_yield(fstab2)
200
200
 
201
201
  @provider.load_current_resource
202
- expect(@provider.current_resource.enabled).to be_true
202
+ expect(@provider.current_resource.enabled).to be_truthy
203
203
  end
204
204
 
205
205
  it "should set enabled to true if the symlink target is in fstab" do
@@ -213,7 +213,7 @@ describe Chef::Provider::Mount::Mount do
213
213
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield fstab
214
214
 
215
215
  @provider.load_current_resource
216
- expect(@provider.current_resource.enabled).to be_true
216
+ expect(@provider.current_resource.enabled).to be_truthy
217
217
  end
218
218
 
219
219
  it "should set enabled to true if the symlink target is relative and is in fstab - CHEF-4957" do
@@ -227,7 +227,7 @@ describe Chef::Provider::Mount::Mount do
227
227
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield fstab
228
228
 
229
229
  @provider.load_current_resource
230
- expect(@provider.current_resource.enabled).to be_true
230
+ expect(@provider.current_resource.enabled).to be_truthy
231
231
  end
232
232
 
233
233
  it "should set enabled to false if the mount point is not in fstab" do
@@ -235,7 +235,7 @@ describe Chef::Provider::Mount::Mount do
235
235
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield fstab
236
236
 
237
237
  @provider.load_current_resource
238
- expect(@provider.current_resource.enabled).to be_false
238
+ expect(@provider.current_resource.enabled).to be_falsey
239
239
  end
240
240
 
241
241
  it "should ignore commented lines in fstab " do
@@ -243,7 +243,7 @@ describe Chef::Provider::Mount::Mount do
243
243
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield fstab
244
244
 
245
245
  @provider.load_current_resource
246
- expect(@provider.current_resource.enabled).to be_false
246
+ expect(@provider.current_resource.enabled).to be_falsey
247
247
  end
248
248
 
249
249
  it "should set enabled to false if the mount point is not last in fstab" do
@@ -252,7 +252,7 @@ describe Chef::Provider::Mount::Mount do
252
252
  allow(::File).to receive(:foreach).with("/etc/fstab").and_yield(line_1).and_yield(line_2)
253
253
 
254
254
  @provider.load_current_resource
255
- expect(@provider.current_resource.enabled).to be_false
255
+ expect(@provider.current_resource.enabled).to be_falsey
256
256
  end
257
257
 
258
258
  it "should not mangle the mount options if the device in fstab is a symlink" do
@@ -307,10 +307,10 @@ describe Chef::Provider::Mount::Mount do
307
307
  end
308
308
 
309
309
  it "should mount the filesystem specified by uuid", :not_supported_on_solaris do
310
+ status = double(:stdout => "/dev/sdz1\n", :exitstatus => 1)
310
311
  @new_resource.device "d21afe51-a0fe-4dc6-9152-ac733763ae0a"
311
312
  @new_resource.device_type :uuid
312
- @stdout_findfs = double("STDOUT", :first => "/dev/sdz1")
313
- allow(@provider).to receive(:popen4).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_yield(@pid,@stdin,@stdout_findfs,@stderr).and_return(@status)
313
+ allow(@provider).to receive(:shell_out).with("/sbin/findfs UUID=d21afe51-a0fe-4dc6-9152-ac733763ae0a").and_return(status)
314
314
  @stdout_mock = double('stdout mock')
315
315
  allow(@stdout_mock).to receive(:each).and_yield("#{@new_resource.device} on #{@new_resource.mount_point}")
316
316
  expect(@provider).to receive(:shell_out!).with("mount -t #{@new_resource.fstype} -o defaults -U #{@new_resource.device} #{@new_resource.mount_point}").and_return(@stdout_mock)