chef 12.0.0.alpha.2 → 12.0.0.rc.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (626) hide show
  1. data/CONTRIBUTING.md +9 -0
  2. data/README.md +1 -1
  3. data/Rakefile +12 -0
  4. data/bin/chef-service-manager +1 -1
  5. data/bin/chef-windows-service +35 -0
  6. data/distro/common/html/_sources/ctl_chef_server.txt +307 -10
  7. data/distro/common/html/ctl_chef_client.html +3 -7
  8. data/distro/common/html/ctl_chef_server.html +609 -41
  9. data/distro/common/html/ctl_chef_shell.html +2 -2
  10. data/distro/common/html/ctl_chef_solo.html +1 -1
  11. data/distro/common/html/index.html +13 -13
  12. data/distro/common/html/knife.html +10 -10
  13. data/distro/common/html/knife_bootstrap.html +8 -8
  14. data/distro/common/html/knife_client.html +12 -12
  15. data/distro/common/html/knife_common_options.html +7 -7
  16. data/distro/common/html/knife_configure.html +3 -3
  17. data/distro/common/html/knife_cookbook.html +19 -19
  18. data/distro/common/html/knife_cookbook_site.html +28 -28
  19. data/distro/common/html/knife_data_bag.html +28 -13
  20. data/distro/common/html/knife_delete.html +2 -2
  21. data/distro/common/html/knife_deps.html +3 -3
  22. data/distro/common/html/knife_diff.html +4 -4
  23. data/distro/common/html/knife_download.html +3 -3
  24. data/distro/common/html/knife_edit.html +2 -2
  25. data/distro/common/html/knife_environment.html +14 -14
  26. data/distro/common/html/knife_exec.html +11 -11
  27. data/distro/common/html/knife_index_rebuild.html +2 -2
  28. data/distro/common/html/knife_list.html +3 -3
  29. data/distro/common/html/knife_node.html +23 -23
  30. data/distro/common/html/knife_raw.html +4 -4
  31. data/distro/common/html/knife_recipe_list.html +3 -3
  32. data/distro/common/html/knife_role.html +11 -11
  33. data/distro/common/html/knife_search.html +4 -4
  34. data/distro/common/html/knife_serve.html +3 -3
  35. data/distro/common/html/knife_show.html +3 -3
  36. data/distro/common/html/knife_ssh.html +7 -7
  37. data/distro/common/html/knife_ssl_check.html +7 -7
  38. data/distro/common/html/knife_ssl_fetch.html +9 -9
  39. data/distro/common/html/knife_status.html +3 -3
  40. data/distro/common/html/knife_tag.html +9 -9
  41. data/distro/common/html/knife_upload.html +3 -3
  42. data/distro/common/html/knife_user.html +9 -9
  43. data/distro/common/html/knife_using.html +11 -11
  44. data/distro/common/html/knife_xargs.html +14 -5
  45. data/distro/common/html/search.html +2 -2
  46. data/distro/common/html/searchindex.js +1 -1
  47. data/distro/common/man/man1/chef-shell.1 +2 -2
  48. data/distro/common/man/man1/knife-bootstrap.1 +7 -7
  49. data/distro/common/man/man1/knife-client.1 +10 -10
  50. data/distro/common/man/man1/knife-configure.1 +5 -5
  51. data/distro/common/man/man1/knife-cookbook-site.1 +24 -24
  52. data/distro/common/man/man1/knife-cookbook.1 +12 -12
  53. data/distro/common/man/man1/knife-data-bag.1 +34 -10
  54. data/distro/common/man/man1/knife-delete.1 +5 -5
  55. data/distro/common/man/man1/knife-deps.1 +5 -5
  56. data/distro/common/man/man1/knife-diff.1 +7 -7
  57. data/distro/common/man/man1/knife-download.1 +5 -5
  58. data/distro/common/man/man1/knife-edit.1 +5 -5
  59. data/distro/common/man/man1/knife-environment.1 +11 -11
  60. data/distro/common/man/man1/knife-exec.1 +11 -11
  61. data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
  62. data/distro/common/man/man1/knife-list.1 +5 -5
  63. data/distro/common/man/man1/knife-node.1 +16 -16
  64. data/distro/common/man/man1/knife-raw.1 +6 -6
  65. data/distro/common/man/man1/knife-recipe-list.1 +1 -1
  66. data/distro/common/man/man1/knife-role.1 +7 -7
  67. data/distro/common/man/man1/knife-search.1 +6 -6
  68. data/distro/common/man/man1/knife-serve.1 +6 -6
  69. data/distro/common/man/man1/knife-show.1 +5 -5
  70. data/distro/common/man/man1/knife-ssh.1 +9 -9
  71. data/distro/common/man/man1/knife-ssl-check.1 +7 -7
  72. data/distro/common/man/man1/knife-ssl-fetch.1 +9 -9
  73. data/distro/common/man/man1/knife-status.1 +5 -5
  74. data/distro/common/man/man1/knife-tag.1 +8 -8
  75. data/distro/common/man/man1/knife-upload.1 +5 -5
  76. data/distro/common/man/man1/knife-user.1 +8 -8
  77. data/distro/common/man/man1/knife-xargs.1 +36 -10
  78. data/distro/common/man/man1/knife.1 +14 -14
  79. data/distro/common/man/man8/chef-client.8 +3 -10
  80. data/distro/common/man/man8/chef-solo.8 +1 -1
  81. data/lib/chef/application.rb +313 -241
  82. data/lib/chef/application/apply.rb +10 -8
  83. data/lib/chef/application/client.rb +58 -33
  84. data/lib/chef/application/solo.rb +33 -12
  85. data/lib/chef/chef_fs/chef_fs_data_store.rb +1 -1
  86. data/lib/chef/chef_fs/command_line.rb +1 -1
  87. data/lib/chef/chef_fs/file_system/organization_invites_entry.rb +2 -1
  88. data/lib/chef/chef_fs/file_system/organization_members_entry.rb +2 -1
  89. data/lib/chef/chef_fs/file_system/rest_list_entry.rb +2 -1
  90. data/lib/chef/client.rb +18 -48
  91. data/lib/chef/config.rb +43 -11
  92. data/lib/chef/cookbook/cookbook_version_loader.rb +14 -7
  93. data/lib/chef/cookbook/metadata.rb +81 -38
  94. data/lib/chef/cookbook/syntax_check.rb +18 -52
  95. data/lib/chef/cookbook_loader.rb +1 -1
  96. data/lib/chef/cookbook_version.rb +58 -39
  97. data/lib/chef/data_bag.rb +2 -2
  98. data/lib/chef/deprecation/provider/file.rb +2 -1
  99. data/lib/chef/dsl/data_query.rb +2 -29
  100. data/lib/chef/dsl/recipe.rb +8 -22
  101. data/lib/chef/encrypted_data_bag_item/assertions.rb +1 -1
  102. data/lib/chef/encrypted_data_bag_item/check_encrypted.rb +56 -0
  103. data/lib/chef/encrypted_data_bag_item/encrypted_data_bag_item_assertions.rb +1 -1
  104. data/lib/chef/event_loggers/base.rb +62 -0
  105. data/lib/chef/event_loggers/windows_eventlog.rb +104 -0
  106. data/lib/chef/exceptions.rb +18 -1
  107. data/lib/chef/file_cache.rb +3 -2
  108. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +15 -6
  109. data/lib/chef/http.rb +20 -13
  110. data/lib/chef/http/ssl_policies.rb +2 -1
  111. data/lib/chef/json_compat.rb +9 -3
  112. data/lib/chef/knife.rb +2 -1
  113. data/lib/chef/knife/bootstrap.rb +12 -18
  114. data/lib/chef/knife/bootstrap/archlinux-gems.erb +2 -2
  115. data/lib/chef/knife/bootstrap/chef-aix.erb +2 -2
  116. data/lib/chef/knife/bootstrap/chef-full.erb +2 -2
  117. data/lib/chef/knife/cookbook_create.rb +1 -1
  118. data/lib/chef/knife/cookbook_site_share.rb +43 -8
  119. data/lib/chef/knife/core/bootstrap_context.rb +6 -11
  120. data/lib/chef/knife/core/object_loader.rb +5 -5
  121. data/lib/chef/knife/core/status_presenter.rb +156 -0
  122. data/lib/chef/knife/core/subcommand_loader.rb +6 -5
  123. data/lib/chef/knife/core/ui.rb +4 -4
  124. data/lib/chef/knife/data_bag_create.rb +7 -32
  125. data/lib/chef/knife/data_bag_edit.rb +24 -43
  126. data/lib/chef/knife/data_bag_from_file.rb +6 -31
  127. data/lib/chef/knife/data_bag_secret_options.rb +142 -0
  128. data/lib/chef/knife/data_bag_show.rb +19 -33
  129. data/lib/chef/knife/node_from_file.rb +9 -8
  130. data/lib/chef/knife/ssh.rb +0 -7
  131. data/lib/chef/knife/ssl_check.rb +70 -6
  132. data/lib/chef/knife/status.rb +11 -58
  133. data/lib/chef/mixin/command/unix.rb +2 -2
  134. data/lib/chef/mixin/convert_to_class_name.rb +54 -0
  135. data/lib/chef/mixin/descendants_tracker.rb +82 -0
  136. data/lib/chef/mixin/homebrew_user.rb +68 -0
  137. data/lib/chef/mixin/shell_out.rb +0 -4
  138. data/lib/chef/mixin/windows_architecture_helper.rb +16 -0
  139. data/lib/chef/mixin/windows_env_helper.rb +56 -0
  140. data/lib/chef/node.rb +2 -2
  141. data/lib/chef/node_map.rb +146 -0
  142. data/lib/chef/platform/provider_mapping.rb +11 -39
  143. data/lib/chef/platform/provider_priority_map.rb +80 -0
  144. data/lib/chef/platform/query_helpers.rb +5 -1
  145. data/lib/chef/platform/service_helpers.rb +113 -0
  146. data/lib/chef/provider.rb +24 -0
  147. data/lib/chef/provider/breakpoint.rb +2 -0
  148. data/lib/chef/provider/cookbook_file.rb +2 -0
  149. data/lib/chef/provider/cron.rb +1 -1
  150. data/lib/chef/provider/cron/unix.rb +13 -9
  151. data/lib/chef/provider/deploy.rb +3 -2
  152. data/lib/chef/provider/deploy/revision.rb +4 -2
  153. data/lib/chef/provider/deploy/timestamped.rb +2 -0
  154. data/lib/chef/provider/directory.rb +2 -0
  155. data/lib/chef/provider/dsc_script.rb +179 -0
  156. data/lib/chef/provider/env.rb +25 -10
  157. data/lib/chef/provider/env/windows.rb +9 -16
  158. data/lib/chef/provider/erl_call.rb +2 -0
  159. data/lib/chef/provider/execute.rb +5 -2
  160. data/lib/chef/provider/file.rb +2 -0
  161. data/lib/chef/provider/git.rb +51 -23
  162. data/lib/chef/provider/group/dscl.rb +2 -2
  163. data/lib/chef/provider/group/pw.rb +9 -13
  164. data/lib/chef/provider/http_request.rb +2 -0
  165. data/lib/chef/provider/link.rb +3 -0
  166. data/lib/chef/provider/log.rb +2 -0
  167. data/lib/chef/provider/lwrp_base.rb +11 -9
  168. data/lib/chef/provider/mount/mount.rb +1 -1
  169. data/lib/chef/provider/package/aix.rb +2 -0
  170. data/lib/chef/provider/package/apt.rb +2 -0
  171. data/lib/chef/provider/package/dpkg.rb +2 -0
  172. data/lib/chef/provider/package/easy_install.rb +2 -0
  173. data/lib/chef/provider/package/freebsd/pkg.rb +2 -1
  174. data/lib/chef/provider/package/freebsd/pkgng.rb +1 -1
  175. data/lib/chef/provider/package/freebsd/port.rb +1 -9
  176. data/lib/chef/provider/package/homebrew.rb +127 -0
  177. data/lib/chef/provider/package/ips.rb +2 -0
  178. data/lib/chef/provider/package/macports.rb +3 -0
  179. data/lib/chef/provider/package/pacman.rb +5 -4
  180. data/lib/chef/provider/package/paludis.rb +4 -2
  181. data/lib/chef/provider/package/portage.rb +4 -1
  182. data/lib/chef/provider/package/rpm.rb +2 -0
  183. data/lib/chef/provider/package/rubygems.rb +4 -0
  184. data/lib/chef/provider/package/smartos.rb +2 -0
  185. data/lib/chef/provider/package/solaris.rb +2 -0
  186. data/lib/chef/provider/package/windows.rb +5 -2
  187. data/lib/chef/provider/package/yum.rb +2 -0
  188. data/lib/chef/provider/powershell_script.rb +3 -1
  189. data/lib/chef/provider/remote_directory.rb +25 -10
  190. data/lib/chef/provider/route.rb +2 -0
  191. data/lib/chef/provider/ruby_block.rb +2 -0
  192. data/lib/chef/provider/script.rb +6 -0
  193. data/lib/chef/provider/service/aix.rb +128 -0
  194. data/lib/chef/provider/service/aixinit.rb +117 -0
  195. data/lib/chef/provider/service/arch.rb +6 -0
  196. data/lib/chef/provider/service/debian.rb +35 -29
  197. data/lib/chef/provider/service/freebsd.rb +7 -1
  198. data/lib/chef/provider/service/gentoo.rb +5 -1
  199. data/lib/chef/provider/service/init.rb +2 -0
  200. data/lib/chef/provider/service/insserv.rb +15 -8
  201. data/lib/chef/provider/service/invokercd.rb +6 -0
  202. data/lib/chef/provider/service/macosx.rb +4 -1
  203. data/lib/chef/provider/service/redhat.rb +9 -3
  204. data/lib/chef/provider/service/simple.rb +2 -0
  205. data/lib/chef/provider/service/solaris.rb +2 -0
  206. data/lib/chef/provider/service/systemd.rb +7 -0
  207. data/lib/chef/provider/service/upstart.rb +7 -0
  208. data/lib/chef/provider/service/windows.rb +5 -0
  209. data/lib/chef/provider/subversion.rb +2 -0
  210. data/lib/chef/provider/template.rb +1 -0
  211. data/lib/chef/provider/user/dscl.rb +3 -2
  212. data/lib/chef/provider/whyrun_safe_ruby_block.rb +2 -0
  213. data/lib/chef/provider_resolver.rb +103 -0
  214. data/lib/chef/providers.rb +6 -2
  215. data/lib/chef/recipe.rb +2 -0
  216. data/lib/chef/resource.rb +69 -78
  217. data/lib/chef/resource/apt_package.rb +3 -1
  218. data/lib/chef/resource/bash.rb +1 -0
  219. data/lib/chef/resource/bff_package.rb +0 -1
  220. data/lib/chef/resource/breakpoint.rb +1 -1
  221. data/lib/chef/resource/chef_gem.rb +1 -2
  222. data/lib/chef/resource/conditional.rb +26 -6
  223. data/lib/chef/resource/cookbook_file.rb +2 -3
  224. data/lib/chef/resource/csh.rb +1 -0
  225. data/lib/chef/resource/deploy.rb +0 -1
  226. data/lib/chef/resource/deploy_revision.rb +6 -1
  227. data/lib/chef/resource/directory.rb +1 -2
  228. data/lib/chef/resource/dpkg_package.rb +2 -1
  229. data/lib/chef/resource/dsc_script.rb +125 -0
  230. data/lib/chef/resource/easy_install_package.rb +2 -1
  231. data/lib/chef/resource/erl_call.rb +1 -0
  232. data/lib/chef/resource/execute.rb +26 -9
  233. data/lib/chef/resource/file.rb +1 -3
  234. data/lib/chef/resource/freebsd_package.rb +10 -23
  235. data/lib/chef/resource/gem_package.rb +2 -1
  236. data/lib/chef/resource/git.rb +2 -1
  237. data/lib/chef/resource/homebrew_package.rb +46 -0
  238. data/lib/chef/resource/http_request.rb +1 -0
  239. data/lib/chef/resource/ips_package.rb +3 -1
  240. data/lib/chef/resource/link.rb +1 -2
  241. data/lib/chef/resource/log.rb +4 -0
  242. data/lib/chef/resource/lwrp_base.rb +24 -15
  243. data/lib/chef/resource/macports_package.rb +3 -1
  244. data/lib/chef/resource/pacman_package.rb +2 -1
  245. data/lib/chef/resource/paludis_package.rb +3 -1
  246. data/lib/chef/resource/perl.rb +1 -0
  247. data/lib/chef/resource/powershell_script.rb +0 -2
  248. data/lib/chef/resource/python.rb +1 -1
  249. data/lib/chef/resource/remote_directory.rb +1 -2
  250. data/lib/chef/resource/remote_file.rb +1 -1
  251. data/lib/chef/resource/rpm_package.rb +2 -1
  252. data/lib/chef/resource/ruby.rb +1 -0
  253. data/lib/chef/resource/ruby_block.rb +3 -0
  254. data/lib/chef/resource/script.rb +2 -25
  255. data/lib/chef/resource/service.rb +0 -4
  256. data/lib/chef/resource/smartos_package.rb +3 -4
  257. data/lib/chef/resource/solaris_package.rb +7 -1
  258. data/lib/chef/resource/subversion.rb +0 -1
  259. data/lib/chef/resource/template.rb +2 -3
  260. data/lib/chef/resource/timestamped_deploy.rb +1 -2
  261. data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
  262. data/lib/chef/resource/windows_package.rb +3 -4
  263. data/lib/chef/resource/windows_script.rb +3 -0
  264. data/lib/chef/resource/windows_service.rb +2 -2
  265. data/lib/chef/resource/yum_package.rb +3 -1
  266. data/lib/chef/resource_collection.rb +50 -227
  267. data/lib/chef/resource_collection/resource_collection_serialization.rb +59 -0
  268. data/lib/chef/resource_collection/resource_list.rb +89 -0
  269. data/lib/chef/resource_collection/resource_set.rb +170 -0
  270. data/lib/chef/resources.rb +2 -0
  271. data/lib/chef/role.rb +1 -1
  272. data/lib/chef/run_context.rb +5 -1
  273. data/lib/chef/shell/ext.rb +1 -1
  274. data/lib/chef/util/backup.rb +3 -2
  275. data/lib/chef/util/dsc/configuration_generator.rb +115 -0
  276. data/lib/chef/util/dsc/lcm_output_parser.rb +133 -0
  277. data/lib/chef/util/dsc/local_configuration_manager.rb +141 -0
  278. data/lib/chef/util/dsc/resource_info.rb +26 -0
  279. data/lib/chef/util/path_helper.rb +12 -0
  280. data/lib/chef/util/powershell/cmdlet.rb +136 -0
  281. data/lib/chef/util/powershell/cmdlet_result.rb +46 -0
  282. data/lib/chef/version.rb +1 -1
  283. data/lib/chef/win32/api/system.rb +9 -0
  284. data/lib/chef/win32/version.rb +2 -0
  285. data/spec/.DS_Store +0 -0
  286. data/spec/data/.DS_Store +0 -0
  287. data/spec/data/bootstrap/test-hints.erb +1 -1
  288. data/spec/data/bootstrap/test.erb +1 -1
  289. data/spec/data/cb_version_cookbooks/cookbook2/files/test.txt +0 -0
  290. data/spec/data/cb_version_cookbooks/cookbook2/templates/test.erb +0 -0
  291. data/spec/data/cookbooks/ignorken/files/default/not_me.rb +2 -0
  292. data/spec/data/cookbooks/ignorken/templates/ubuntu-12.10/not_me.rb +2 -0
  293. data/spec/data/cookbooks/openldap/libraries/openldap.rb +4 -0
  294. data/spec/data/cookbooks/openldap/libraries/openldap/version.rb +3 -0
  295. data/spec/data/lwrp/.DS_Store +0 -0
  296. data/spec/data/lwrp/providers/.DS_Store +0 -0
  297. data/spec/data/lwrp/providers/buck_passer.rb +9 -2
  298. data/spec/data/lwrp/resources/.DS_Store +0 -0
  299. data/spec/data/lwrp/resources/foo.rb +3 -2
  300. data/spec/data/lwrp_override/.DS_Store +0 -0
  301. data/spec/data/lwrp_override/providers/.DS_Store +0 -0
  302. data/spec/data/lwrp_override/providers/buck_passer.rb +5 -10
  303. data/spec/data/lwrp_override/resources/.DS_Store +0 -0
  304. data/spec/data/lwrp_override/resources/foo.rb +4 -3
  305. data/spec/functional/assets/chefinittest +34 -0
  306. data/spec/functional/assets/testchefsubsys +11 -0
  307. data/spec/functional/dsl/reboot_pending_spec.rb +19 -16
  308. data/spec/functional/event_loggers/windows_eventlog_spec.rb +82 -0
  309. data/spec/functional/knife/cookbook_delete_spec.rb +3 -3
  310. data/spec/functional/knife/exec_spec.rb +1 -1
  311. data/spec/functional/resource/aix_service_spec.rb +136 -0
  312. data/spec/functional/resource/aixinit_service_spec.rb +211 -0
  313. data/spec/functional/resource/base.rb +1 -0
  314. data/spec/functional/resource/batch_spec.rb +4 -11
  315. data/spec/functional/resource/cron_spec.rb +7 -1
  316. data/spec/functional/resource/dsc_script_spec.rb +382 -0
  317. data/spec/functional/resource/env_spec.rb +54 -0
  318. data/spec/functional/resource/execute_spec.rb +113 -0
  319. data/spec/functional/resource/file_spec.rb +2 -0
  320. data/spec/functional/resource/group_spec.rb +7 -4
  321. data/spec/functional/resource/powershell_spec.rb +198 -185
  322. data/spec/functional/resource/rpm_spec.rb +5 -4
  323. data/spec/functional/resource/user/dscl_spec.rb +2 -1
  324. data/spec/functional/util/path_helper_spec.rb +37 -0
  325. data/spec/functional/util/powershell/cmdlet_spec.rb +114 -0
  326. data/spec/integration/client/client_spec.rb +1 -1
  327. data/spec/integration/client/ipv6_spec.rb +1 -1
  328. data/spec/integration/knife/chef_fs_data_store_spec.rb +1 -1
  329. data/spec/integration/knife/chef_repo_path_spec.rb +1 -1
  330. data/spec/integration/knife/chef_repository_file_system_spec.rb +1 -1
  331. data/spec/integration/knife/chefignore_spec.rb +1 -1
  332. data/spec/integration/knife/common_options_spec.rb +1 -1
  333. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -2
  334. data/spec/integration/knife/delete_spec.rb +1 -1
  335. data/spec/integration/knife/deps_spec.rb +1 -1
  336. data/spec/integration/knife/diff_spec.rb +1 -1
  337. data/spec/integration/knife/download_spec.rb +1 -1
  338. data/spec/integration/knife/list_spec.rb +1 -1
  339. data/spec/integration/knife/raw_spec.rb +1 -1
  340. data/spec/integration/knife/redirection_spec.rb +1 -1
  341. data/spec/integration/knife/serve_spec.rb +1 -1
  342. data/spec/integration/knife/show_spec.rb +1 -1
  343. data/spec/integration/knife/upload_spec.rb +4 -3
  344. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  345. data/spec/spec_helper.rb +15 -0
  346. data/spec/support/chef_helpers.rb +1 -0
  347. data/spec/support/lib/chef/provider/snakeoil.rb +1 -0
  348. data/spec/support/lib/chef/resource/zen_follower.rb +1 -7
  349. data/spec/support/platform_helpers.rb +28 -0
  350. data/spec/support/shared/functional/file_resource.rb +6 -0
  351. data/spec/support/shared/functional/windows_script.rb +118 -0
  352. data/spec/support/shared/integration/integration_helper.rb +5 -2
  353. data/spec/support/shared/matchers/exit_with_code.rb +28 -0
  354. data/spec/support/shared/matchers/match_environment_variable.rb +17 -0
  355. data/spec/support/shared/shared_examples.rb +14 -0
  356. data/spec/support/shared/unit/execute_resource.rb +0 -7
  357. data/spec/support/shared/unit/resource/static_provider_resolution.rb +71 -0
  358. data/spec/support/shared/unit/script_resource.rb +1 -1
  359. data/spec/support/shared/unit/windows_script_resource.rb +35 -2
  360. data/spec/tiny_server.rb +1 -2
  361. data/spec/unit/api_client_spec.rb +5 -1
  362. data/spec/unit/application/{apply.rb → apply_spec.rb} +13 -5
  363. data/spec/unit/application/client_spec.rb +106 -13
  364. data/spec/unit/application/solo_spec.rb +25 -1
  365. data/spec/unit/client_spec.rb +1 -26
  366. data/spec/unit/config_fetcher_spec.rb +2 -1
  367. data/spec/unit/config_spec.rb +91 -2
  368. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +8 -0
  369. data/spec/unit/cookbook/metadata_spec.rb +43 -6
  370. data/spec/unit/cookbook/syntax_check_spec.rb +8 -2
  371. data/spec/unit/cookbook_loader_spec.rb +4 -2
  372. data/spec/unit/cookbook_version_spec.rb +83 -2
  373. data/spec/unit/data_bag_item_spec.rb +5 -1
  374. data/spec/unit/data_bag_spec.rb +6 -1
  375. data/spec/unit/dsl/data_query_spec.rb +8 -110
  376. data/spec/unit/encrypted_data_bag_item/check_encrypted_spec.rb +95 -0
  377. data/spec/unit/encrypted_data_bag_item_spec.rb +16 -23
  378. data/spec/unit/environment_spec.rb +6 -2
  379. data/spec/unit/exceptions_spec.rb +6 -0
  380. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +16 -15
  381. data/spec/unit/json_compat_spec.rb +12 -2
  382. data/spec/unit/knife/bootstrap_spec.rb +16 -63
  383. data/spec/unit/knife/cookbook_site_share_spec.rb +59 -6
  384. data/spec/unit/knife/core/bootstrap_context_spec.rb +8 -37
  385. data/spec/unit/knife/core/subcommand_loader_spec.rb +1 -1
  386. data/spec/unit/knife/core/ui_spec.rb +28 -0
  387. data/spec/unit/knife/data_bag_create_spec.rb +63 -71
  388. data/spec/unit/knife/data_bag_edit_spec.rb +83 -49
  389. data/spec/unit/knife/data_bag_from_file_spec.rb +104 -126
  390. data/spec/unit/knife/data_bag_secret_options_spec.rb +165 -0
  391. data/spec/unit/knife/data_bag_show_spec.rb +74 -72
  392. data/spec/unit/knife/environment_from_file_spec.rb +3 -2
  393. data/spec/unit/knife/ssl_check_spec.rb +46 -1
  394. data/spec/unit/knife/status_spec.rb +1 -2
  395. data/spec/unit/knife_spec.rb +18 -1
  396. data/spec/unit/lwrp_spec.rb +29 -8
  397. data/spec/unit/mixin/homebrew_user_spec.rb +100 -0
  398. data/spec/unit/node_map_spec.rb +155 -0
  399. data/spec/unit/node_spec.rb +11 -0
  400. data/spec/unit/platform/query_helpers_spec.rb +23 -0
  401. data/spec/unit/platform_spec.rb +23 -0
  402. data/spec/unit/provider/breakpoint_spec.rb +9 -9
  403. data/spec/unit/provider/cookbook_file/content_spec.rb +3 -3
  404. data/spec/unit/provider/cookbook_file_spec.rb +1 -1
  405. data/spec/unit/provider/cron/unix_spec.rb +78 -60
  406. data/spec/unit/provider/cron_spec.rb +175 -175
  407. data/spec/unit/provider/deploy/revision_spec.rb +22 -21
  408. data/spec/unit/provider/deploy/timestamped_spec.rb +3 -3
  409. data/spec/unit/provider/deploy_spec.rb +231 -230
  410. data/spec/unit/provider/directory_spec.rb +55 -55
  411. data/spec/unit/provider/dsc_script_spec.rb +174 -0
  412. data/spec/unit/provider/env/windows_spec.rb +70 -34
  413. data/spec/unit/provider/env_spec.rb +95 -49
  414. data/spec/unit/provider/erl_call_spec.rb +9 -9
  415. data/spec/unit/provider/execute_spec.rb +43 -27
  416. data/spec/unit/provider/file/content_spec.rb +9 -9
  417. data/spec/unit/provider/file_spec.rb +1 -1
  418. data/spec/unit/provider/git_spec.rb +221 -159
  419. data/spec/unit/provider/group/dscl_spec.rb +64 -63
  420. data/spec/unit/provider/group/gpasswd_spec.rb +14 -14
  421. data/spec/unit/provider/group/groupadd_spec.rb +33 -33
  422. data/spec/unit/provider/group/groupmod_spec.rb +23 -23
  423. data/spec/unit/provider/group/pw_spec.rb +21 -21
  424. data/spec/unit/provider/group/usermod_spec.rb +20 -20
  425. data/spec/unit/provider/group/windows_spec.rb +15 -15
  426. data/spec/unit/provider/group_spec.rb +76 -76
  427. data/spec/unit/provider/http_request_spec.rb +30 -30
  428. data/spec/unit/provider/ifconfig/aix_spec.rb +20 -20
  429. data/spec/unit/provider/ifconfig/debian_spec.rb +25 -9
  430. data/spec/unit/provider/ifconfig/redhat_spec.rb +13 -13
  431. data/spec/unit/provider/ifconfig_spec.rb +43 -43
  432. data/spec/unit/provider/link_spec.rb +60 -60
  433. data/spec/unit/provider/log_spec.rb +0 -4
  434. data/spec/unit/provider/mdadm_spec.rb +23 -23
  435. data/spec/unit/provider/mount/aix_spec.rb +17 -17
  436. data/spec/unit/provider/mount/mount_spec.rb +115 -119
  437. data/spec/unit/provider/mount/solaris_spec.rb +72 -72
  438. data/spec/unit/provider/mount/windows_spec.rb +24 -24
  439. data/spec/unit/provider/ohai_spec.rb +11 -11
  440. data/spec/unit/provider/package/aix_spec.rb +34 -34
  441. data/spec/unit/provider/package/apt_spec.rb +36 -36
  442. data/spec/unit/provider/package/dpkg_spec.rb +27 -27
  443. data/spec/unit/provider/package/easy_install_spec.rb +16 -16
  444. data/spec/unit/provider/package/freebsd/pkg_spec.rb +53 -53
  445. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +24 -24
  446. data/spec/unit/provider/package/freebsd/port_spec.rb +45 -35
  447. data/spec/unit/provider/package/homebrew_spec.rb +266 -0
  448. data/spec/unit/provider/package/ips_spec.rb +34 -34
  449. data/spec/unit/provider/package/macports_spec.rb +49 -49
  450. data/spec/unit/provider/package/pacman_spec.rb +35 -39
  451. data/spec/unit/provider/package/paludis_spec.rb +20 -20
  452. data/spec/unit/provider/package/portage_spec.rb +38 -38
  453. data/spec/unit/provider/package/rpm_spec.rb +29 -29
  454. data/spec/unit/provider/package/rubygems_spec.rb +284 -270
  455. data/spec/unit/provider/package/smartos_spec.rb +15 -15
  456. data/spec/unit/provider/package/solaris_spec.rb +35 -35
  457. data/spec/unit/provider/package/windows/msi_spec.rb +3 -3
  458. data/spec/unit/provider/package/windows_spec.rb +6 -6
  459. data/spec/unit/provider/package/yum_spec.rb +416 -416
  460. data/spec/unit/provider/package/zypper_spec.rb +47 -47
  461. data/spec/unit/provider/package_spec.rb +107 -107
  462. data/spec/unit/provider/powershell_spec.rb +1 -1
  463. data/spec/unit/provider/registry_key_spec.rb +61 -61
  464. data/spec/unit/provider/remote_directory_spec.rb +36 -36
  465. data/spec/unit/provider/remote_file/cache_control_data_spec.rb +24 -24
  466. data/spec/unit/provider/remote_file/content_spec.rb +45 -45
  467. data/spec/unit/provider/remote_file/fetcher_spec.rb +9 -9
  468. data/spec/unit/provider/remote_file/ftp_spec.rb +32 -32
  469. data/spec/unit/provider/remote_file/http_spec.rb +44 -44
  470. data/spec/unit/provider/remote_file/local_file_spec.rb +9 -9
  471. data/spec/unit/provider/remote_file_spec.rb +3 -3
  472. data/spec/unit/provider/route_spec.rb +63 -63
  473. data/spec/unit/provider/ruby_block_spec.rb +4 -4
  474. data/spec/unit/provider/script_spec.rb +12 -12
  475. data/spec/unit/provider/service/aix_service_spec.rb +181 -0
  476. data/spec/unit/provider/service/aixinit_service_spec.rb +269 -0
  477. data/spec/unit/provider/service/arch_service_spec.rb +48 -48
  478. data/spec/unit/provider/service/debian_service_spec.rb +40 -40
  479. data/spec/unit/provider/service/gentoo_service_spec.rb +28 -28
  480. data/spec/unit/provider/service/init_service_spec.rb +39 -39
  481. data/spec/unit/provider/service/insserv_service_spec.rb +8 -8
  482. data/spec/unit/provider/service/invokercd_service_spec.rb +35 -35
  483. data/spec/unit/provider/service/macosx_spec.rb +49 -49
  484. data/spec/unit/provider/service/redhat_spec.rb +27 -27
  485. data/spec/unit/provider/service/simple_service_spec.rb +28 -28
  486. data/spec/unit/provider/service/solaris_smf_service_spec.rb +43 -46
  487. data/spec/unit/provider/service/systemd_service_spec.rb +63 -63
  488. data/spec/unit/provider/service/upstart_service_spec.rb +78 -78
  489. data/spec/unit/provider/service/windows_spec.rb +92 -92
  490. data/spec/unit/provider/service_spec.rb +40 -40
  491. data/spec/unit/provider/subversion_spec.rb +80 -80
  492. data/spec/unit/provider/template/content_spec.rb +9 -9
  493. data/spec/unit/provider/template_spec.rb +6 -6
  494. data/spec/unit/provider/user/dscl_spec.rb +170 -167
  495. data/spec/unit/provider/user/pw_spec.rb +48 -48
  496. data/spec/unit/provider/user/solaris_spec.rb +8 -8
  497. data/spec/unit/provider/user/useradd_spec.rb +1 -1
  498. data/spec/unit/provider/user/windows_spec.rb +26 -26
  499. data/spec/unit/provider/user_spec.rb +72 -72
  500. data/spec/unit/provider/whyrun_safe_ruby_block_spec.rb +4 -4
  501. data/spec/unit/provider_resolver_spec.rb +387 -0
  502. data/spec/unit/recipe_spec.rb +33 -12
  503. data/spec/unit/resource/apt_package_spec.rb +10 -13
  504. data/spec/unit/resource/bash_spec.rb +4 -4
  505. data/spec/unit/resource/batch_spec.rb +1 -1
  506. data/spec/unit/resource/breakpoint_spec.rb +11 -7
  507. data/spec/unit/resource/chef_gem_spec.rb +8 -15
  508. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
  509. data/spec/unit/resource/conditional_spec.rb +35 -16
  510. data/spec/unit/resource/cookbook_file_spec.rb +13 -13
  511. data/spec/unit/resource/cron_spec.rb +37 -37
  512. data/spec/unit/resource/csh_spec.rb +4 -4
  513. data/spec/unit/resource/deploy_revision_spec.rb +13 -18
  514. data/spec/unit/resource/deploy_spec.rb +60 -55
  515. data/spec/unit/resource/directory_spec.rb +18 -18
  516. data/spec/unit/resource/dpkg_package_spec.rb +8 -14
  517. data/spec/unit/resource/dsc_script_spec.rb +98 -0
  518. data/spec/unit/resource/easy_install_package_spec.rb +9 -18
  519. data/spec/unit/resource/env_spec.rb +12 -12
  520. data/spec/unit/resource/erl_call_spec.rb +11 -11
  521. data/spec/unit/resource/execute_spec.rb +5 -0
  522. data/spec/unit/resource/file_spec.rb +29 -29
  523. data/spec/unit/resource/freebsd_package_spec.rb +11 -12
  524. data/spec/unit/resource/gem_package_spec.rb +8 -15
  525. data/spec/unit/resource/git_spec.rb +12 -8
  526. data/spec/unit/resource/group_spec.rb +27 -27
  527. data/spec/unit/resource/homebrew_package_spec.rb +50 -0
  528. data/spec/unit/resource/http_request_spec.rb +6 -6
  529. data/spec/unit/resource/ifconfig_spec.rb +8 -8
  530. data/spec/unit/resource/ips_package_spec.rb +10 -13
  531. data/spec/unit/resource/link_spec.rb +25 -25
  532. data/spec/unit/resource/log_spec.rb +9 -9
  533. data/spec/unit/resource/macports_package_spec.rb +8 -13
  534. data/spec/unit/resource/mdadm_spec.rb +18 -18
  535. data/spec/unit/resource/mount_spec.rb +45 -45
  536. data/spec/unit/resource/ohai_spec.rb +7 -7
  537. data/spec/unit/resource/package_spec.rb +12 -12
  538. data/spec/unit/resource/pacman_package_spec.rb +8 -14
  539. data/spec/unit/resource/perl_spec.rb +4 -4
  540. data/spec/unit/resource/portage_package_spec.rb +3 -3
  541. data/spec/unit/resource/powershell_spec.rb +7 -7
  542. data/spec/unit/resource/python_spec.rb +4 -4
  543. data/spec/unit/resource/registry_key_spec.rb +32 -32
  544. data/spec/unit/resource/remote_directory_spec.rb +17 -17
  545. data/spec/unit/resource/remote_file_spec.rb +41 -41
  546. data/spec/unit/resource/route_spec.rb +19 -19
  547. data/spec/unit/resource/rpm_package_spec.rb +9 -13
  548. data/spec/unit/resource/ruby_block_spec.rb +8 -8
  549. data/spec/unit/resource/ruby_spec.rb +4 -4
  550. data/spec/unit/resource/scm_spec.rb +40 -40
  551. data/spec/unit/resource/script_spec.rb +2 -2
  552. data/spec/unit/resource/service_spec.rb +37 -47
  553. data/spec/unit/resource/smartos_package_spec.rb +10 -15
  554. data/spec/unit/resource/solaris_package_spec.rb +13 -28
  555. data/spec/unit/resource/subversion_spec.rb +16 -12
  556. data/spec/unit/resource/template_spec.rb +35 -35
  557. data/spec/unit/resource/timestamped_deploy_spec.rb +30 -4
  558. data/spec/unit/resource/user_spec.rb +23 -23
  559. data/spec/unit/resource/windows_package_spec.rb +17 -10
  560. data/spec/unit/resource/windows_service_spec.rb +9 -6
  561. data/spec/unit/resource/yum_package_spec.rb +16 -21
  562. data/spec/unit/resource_collection/resource_list_spec.rb +137 -0
  563. data/spec/unit/resource_collection/resource_set_spec.rb +199 -0
  564. data/spec/unit/resource_collection_spec.rb +73 -92
  565. data/spec/unit/resource_definition_spec.rb +38 -40
  566. data/spec/unit/resource_reporter_spec.rb +3 -3
  567. data/spec/unit/resource_spec.rb +68 -33
  568. data/spec/unit/rest_spec.rb +83 -76
  569. data/spec/unit/role_spec.rb +5 -0
  570. data/spec/unit/run_list_spec.rb +5 -1
  571. data/spec/unit/runner_spec.rb +245 -238
  572. data/spec/unit/shell/shell_ext_spec.rb +1 -1
  573. data/spec/unit/user_spec.rb +5 -1
  574. data/spec/unit/util/dsc/configuration_generator_spec.rb +171 -0
  575. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +169 -0
  576. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +139 -0
  577. data/spec/unit/util/path_helper_spec.rb +23 -1
  578. data/spec/unit/util/powershell/cmdlet_spec.rb +106 -0
  579. data/spec/unit/workstation_config_loader_spec.rb +1 -1
  580. metadata +257 -191
  581. checksums.yaml +0 -7
  582. data/distro/README +0 -2
  583. data/distro/arch/etc/conf.d/chef-client.conf +0 -5
  584. data/distro/arch/etc/conf.d/chef-expander.conf +0 -8
  585. data/distro/arch/etc/conf.d/chef-server-webui.conf +0 -10
  586. data/distro/arch/etc/conf.d/chef-server.conf +0 -10
  587. data/distro/arch/etc/conf.d/chef-solr.conf +0 -8
  588. data/distro/arch/etc/rc.d/chef-client +0 -90
  589. data/distro/arch/etc/rc.d/chef-expander +0 -78
  590. data/distro/arch/etc/rc.d/chef-server +0 -78
  591. data/distro/arch/etc/rc.d/chef-server-webui +0 -78
  592. data/distro/arch/etc/rc.d/chef-solr +0 -78
  593. data/distro/debian/etc/default/chef-client +0 -4
  594. data/distro/debian/etc/default/chef-expander +0 -8
  595. data/distro/debian/etc/default/chef-server +0 -9
  596. data/distro/debian/etc/default/chef-server-webui +0 -9
  597. data/distro/debian/etc/default/chef-solr +0 -8
  598. data/distro/debian/etc/init.d/chef-client +0 -212
  599. data/distro/debian/etc/init.d/chef-expander +0 -176
  600. data/distro/debian/etc/init.d/chef-server +0 -122
  601. data/distro/debian/etc/init.d/chef-server-webui +0 -123
  602. data/distro/debian/etc/init.d/chef-solr +0 -176
  603. data/distro/debian/etc/init/chef-client.conf +0 -17
  604. data/distro/debian/etc/init/chef-expander.conf +0 -17
  605. data/distro/debian/etc/init/chef-server-webui.conf +0 -17
  606. data/distro/debian/etc/init/chef-server.conf +0 -17
  607. data/distro/debian/etc/init/chef-solr.conf +0 -17
  608. data/distro/redhat/etc/init.d/chef-client +0 -121
  609. data/distro/redhat/etc/init.d/chef-expander +0 -104
  610. data/distro/redhat/etc/init.d/chef-server +0 -112
  611. data/distro/redhat/etc/init.d/chef-server-webui +0 -112
  612. data/distro/redhat/etc/init.d/chef-solr +0 -104
  613. data/distro/redhat/etc/logrotate.d/chef-client +0 -8
  614. data/distro/redhat/etc/logrotate.d/chef-expander +0 -8
  615. data/distro/redhat/etc/logrotate.d/chef-server +0 -8
  616. data/distro/redhat/etc/logrotate.d/chef-server-webui +0 -8
  617. data/distro/redhat/etc/logrotate.d/chef-solr +0 -8
  618. data/distro/redhat/etc/sysconfig/chef-client +0 -15
  619. data/distro/redhat/etc/sysconfig/chef-expander +0 -7
  620. data/distro/redhat/etc/sysconfig/chef-server +0 -14
  621. data/distro/redhat/etc/sysconfig/chef-server-webui +0 -14
  622. data/distro/redhat/etc/sysconfig/chef-solr +0 -8
  623. data/distro/windows/service_manager.rb +0 -20
  624. data/lib/chef/resource_platform_map.rb +0 -151
  625. data/spec/support/shared/matchers.rb +0 -17
  626. data/spec/unit/resource_platform_map_spec.rb +0 -164
@@ -37,15 +37,15 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
37
37
 
38
38
  @provider = Chef::Provider::Service::Arch.new(@new_resource, @run_context)
39
39
 
40
- ::File.stub(:exists?).with("/etc/rc.conf").and_return(true)
41
- ::File.stub(:read).with("/etc/rc.conf").and_return("DAEMONS=(network apache sshd)")
40
+ allow(::File).to receive(:exists?).with("/etc/rc.conf").and_return(true)
41
+ allow(::File).to receive(:read).with("/etc/rc.conf").and_return("DAEMONS=(network apache sshd)")
42
42
  end
43
43
 
44
44
  describe "when first created" do
45
45
  it "should set the current resources service name to the new resources service name" do
46
- @provider.stub(:shell_out).and_return(OpenStruct.new(:exitstatus => 0, :stdout => ""))
46
+ allow(@provider).to receive(:shell_out).and_return(OpenStruct.new(:exitstatus => 0, :stdout => ""))
47
47
  @provider.load_current_resource
48
- @provider.current_resource.service_name.should == 'chef'
48
+ expect(@provider.current_resource.service_name).to eq('chef')
49
49
  end
50
50
  end
51
51
 
@@ -55,26 +55,26 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
55
55
  end
56
56
 
57
57
  it "should run '/etc/rc.d/service_name status'" do
58
- @provider.should_receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
58
+ expect(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
59
59
  @provider.load_current_resource
60
60
  end
61
61
 
62
62
  it "should set running to true if the status command returns 0" do
63
- @provider.stub(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
63
+ allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 0))
64
64
  @provider.load_current_resource
65
- @provider.current_resource.running.should be_true
65
+ expect(@provider.current_resource.running).to be_true
66
66
  end
67
67
 
68
68
  it "should set running to false if the status command returns anything except 0" do
69
- @provider.stub(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 1))
69
+ allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_return(OpenStruct.new(:exitstatus => 1))
70
70
  @provider.load_current_resource
71
- @provider.current_resource.running.should be_false
71
+ expect(@provider.current_resource.running).to be_false
72
72
  end
73
73
 
74
74
  it "should set running to false if the status command raises" do
75
- @provider.stub(:shell_out).with("/etc/rc.d/chef status").and_raise(Mixlib::ShellOut::ShellCommandFailed)
75
+ allow(@provider).to receive(:shell_out).with("/etc/rc.d/chef status").and_raise(Mixlib::ShellOut::ShellCommandFailed)
76
76
  @provider.load_current_resource
77
- @provider.current_resource.running.should be_false
77
+ expect(@provider.current_resource.running).to be_false
78
78
  end
79
79
 
80
80
  end
@@ -85,7 +85,7 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
85
85
  end
86
86
 
87
87
  it "should run the services status command if one has been specified" do
88
- @provider.should_receive(:shell_out).with("/etc/rc.d/chefhasmonkeypants status").and_return(OpenStruct.new(:exitstatus => 0))
88
+ expect(@provider).to receive(:shell_out).with("/etc/rc.d/chefhasmonkeypants status").and_return(OpenStruct.new(:exitstatus => 0))
89
89
  @provider.load_current_resource
90
90
  end
91
91
 
@@ -95,24 +95,24 @@ describe Chef::Provider::Service::Arch, "load_current_resource" do
95
95
  @node.automatic_attrs[:command] = {:ps => nil}
96
96
  @provider.define_resource_requirements
97
97
  @provider.action = :start
98
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Service)
98
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
99
99
  end
100
100
 
101
101
  it "should raise error if the node has an empty ps attribute and no other means to get status" do
102
102
  @node.automatic_attrs[:command] = {:ps => ""}
103
103
  @provider.define_resource_requirements
104
104
  @provider.action = :start
105
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Service)
105
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
106
106
  end
107
107
 
108
108
  it "should fail if file /etc/rc.conf does not exist" do
109
- ::File.stub(:exists?).with("/etc/rc.conf").and_return(false)
110
- lambda { @provider.load_current_resource }.should raise_error(Chef::Exceptions::Service)
109
+ allow(::File).to receive(:exists?).with("/etc/rc.conf").and_return(false)
110
+ expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Service)
111
111
  end
112
112
 
113
113
  it "should fail if file /etc/rc.conf does not contain DAEMONS array" do
114
- ::File.stub(:read).with("/etc/rc.conf").and_return("")
115
- lambda { @provider.load_current_resource }.should raise_error(Chef::Exceptions::Service)
114
+ allow(::File).to receive(:read).with("/etc/rc.conf").and_return("")
115
+ expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Service)
116
116
  end
117
117
 
118
118
  describe "when discovering service status with ps" do
@@ -123,7 +123,7 @@ aj 7903 5016 0 21:26 pts/5 00:00:00 /bin/bash
123
123
  aj 8119 6041 0 21:34 pts/3 00:00:03 vi init_service_spec.rb
124
124
  DEFAULT_PS
125
125
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
126
- @provider.stub(:shell_out!).and_return(@status)
126
+ allow(@provider).to receive(:shell_out!).and_return(@status)
127
127
 
128
128
  @node.automatic_attrs[:command] = {:ps => "ps -ef"}
129
129
  end
@@ -133,29 +133,29 @@ DEFAULT_PS
133
133
  aj 7842 5057 0 21:26 pts/2 00:00:06 chef
134
134
  aj 7842 5057 0 21:26 pts/2 00:00:06 poos
135
135
  RUNNING_PS
136
- @status.stub(:stdout).and_return(@stdout)
136
+ allow(@status).to receive(:stdout).and_return(@stdout)
137
137
  @provider.load_current_resource
138
- @provider.current_resource.running.should be_true
138
+ expect(@provider.current_resource.running).to be_true
139
139
  end
140
140
 
141
141
  it "determines the service is not running when it does not appear in ps" do
142
- @provider.stub(:shell_out!).and_return(@status)
142
+ allow(@provider).to receive(:shell_out!).and_return(@status)
143
143
  @provider.load_current_resource
144
- @provider.current_resource.running.should be_false
144
+ expect(@provider.current_resource.running).to be_false
145
145
  end
146
146
 
147
147
  it "should raise an exception if ps fails" do
148
- @provider.stub(:shell_out!).and_raise(Mixlib::ShellOut::ShellCommandFailed)
148
+ allow(@provider).to receive(:shell_out!).and_raise(Mixlib::ShellOut::ShellCommandFailed)
149
149
  @provider.load_current_resource
150
150
  @provider.action = :start
151
151
  @provider.define_resource_requirements
152
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Service)
152
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
153
153
  end
154
154
  end
155
155
 
156
156
  it "should return existing entries in DAEMONS array" do
157
- ::File.stub(:read).with("/etc/rc.conf").and_return("DAEMONS=(network !apache ssh)")
158
- @provider.daemons.should == ['network', '!apache', 'ssh']
157
+ allow(::File).to receive(:read).with("/etc/rc.conf").and_return("DAEMONS=(network !apache ssh)")
158
+ expect(@provider.daemons).to eq(['network', '!apache', 'ssh'])
159
159
  end
160
160
 
161
161
  context "when the current service status is known" do
@@ -179,8 +179,8 @@ RUNNING_PS
179
179
  # end
180
180
 
181
181
  it "should add chef to DAEMONS array" do
182
- ::File.stub(:read).with("/etc/rc.conf").and_return("DAEMONS=(network)")
183
- @provider.should_receive(:update_daemons).with(['network', 'chef'])
182
+ allow(::File).to receive(:read).with("/etc/rc.conf").and_return("DAEMONS=(network)")
183
+ expect(@provider).to receive(:update_daemons).with(['network', 'chef'])
184
184
  @provider.enable_service()
185
185
  end
186
186
  end
@@ -200,8 +200,8 @@ RUNNING_PS
200
200
  # end
201
201
 
202
202
  it "should remove chef from DAEMONS array" do
203
- ::File.stub(:read).with("/etc/rc.conf").and_return("DAEMONS=(network chef)")
204
- @provider.should_receive(:update_daemons).with(['network', '!chef'])
203
+ allow(::File).to receive(:read).with("/etc/rc.conf").and_return("DAEMONS=(network chef)")
204
+ expect(@provider).to receive(:update_daemons).with(['network', '!chef'])
205
205
  @provider.disable_service()
206
206
  end
207
207
  end
@@ -221,13 +221,13 @@ RUNNING_PS
221
221
  # end
222
222
 
223
223
  it "should call the start command if one is specified" do
224
- @new_resource.stub(:start_command).and_return("/etc/rc.d/chef startyousillysally")
225
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/chef startyousillysally")
224
+ allow(@new_resource).to receive(:start_command).and_return("/etc/rc.d/chef startyousillysally")
225
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/chef startyousillysally")
226
226
  @provider.start_service()
227
227
  end
228
228
 
229
229
  it "should call '/etc/rc.d/service_name start' if no start command is specified" do
230
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} start")
230
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} start")
231
231
  @provider.start_service()
232
232
  end
233
233
  end
@@ -247,13 +247,13 @@ RUNNING_PS
247
247
  # end
248
248
 
249
249
  it "should call the stop command if one is specified" do
250
- @new_resource.stub(:stop_command).and_return("/etc/rc.d/chef itoldyoutostop")
251
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/chef itoldyoutostop")
250
+ allow(@new_resource).to receive(:stop_command).and_return("/etc/rc.d/chef itoldyoutostop")
251
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/chef itoldyoutostop")
252
252
  @provider.stop_service()
253
253
  end
254
254
 
255
255
  it "should call '/etc/rc.d/service_name stop' if no stop command is specified" do
256
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} stop")
256
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} stop")
257
257
  @provider.stop_service()
258
258
  end
259
259
  end
@@ -274,21 +274,21 @@ RUNNING_PS
274
274
  # end
275
275
 
276
276
  it "should call 'restart' on the service_name if the resource supports it" do
277
- @new_resource.stub(:supports).and_return({:restart => true})
278
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} restart")
277
+ allow(@new_resource).to receive(:supports).and_return({:restart => true})
278
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} restart")
279
279
  @provider.restart_service()
280
280
  end
281
281
 
282
282
  it "should call the restart_command if one has been specified" do
283
- @new_resource.stub(:restart_command).and_return("/etc/rc.d/chef restartinafire")
284
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} restartinafire")
283
+ allow(@new_resource).to receive(:restart_command).and_return("/etc/rc.d/chef restartinafire")
284
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} restartinafire")
285
285
  @provider.restart_service()
286
286
  end
287
287
 
288
288
  it "should just call stop, then start when the resource doesn't support restart and no restart_command is specified" do
289
- @provider.should_receive(:stop_service)
290
- @provider.should_receive(:sleep).with(1)
291
- @provider.should_receive(:start_service)
289
+ expect(@provider).to receive(:stop_service)
290
+ expect(@provider).to receive(:sleep).with(1)
291
+ expect(@provider).to receive(:start_service)
292
292
  @provider.restart_service()
293
293
  end
294
294
  end
@@ -309,14 +309,14 @@ RUNNING_PS
309
309
  # end
310
310
 
311
311
  it "should call 'reload' on the service if it supports it" do
312
- @new_resource.stub(:supports).and_return({:reload => true})
313
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} reload")
312
+ allow(@new_resource).to receive(:supports).and_return({:reload => true})
313
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} reload")
314
314
  @provider.reload_service()
315
315
  end
316
316
 
317
317
  it "should should run the user specified reload command if one is specified and the service doesn't support reload" do
318
- @new_resource.stub(:reload_command).and_return("/etc/rc.d/chef lollerpants")
319
- @provider.should_receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} lollerpants")
318
+ allow(@new_resource).to receive(:reload_command).and_return("/etc/rc.d/chef lollerpants")
319
+ expect(@provider).to receive(:shell_out_with_systems_locale!).with("/etc/rc.d/#{@new_resource.service_name} lollerpants")
320
320
  @provider.reload_service()
321
321
  end
322
322
  end
@@ -36,17 +36,17 @@ describe Chef::Provider::Service::Debian do
36
36
 
37
37
  describe "load_current_resource" do
38
38
  it "ensures /usr/sbin/update-rc.d is available" do
39
- File.should_receive(:exists?).with("/usr/sbin/update-rc.d") .and_return(false)
39
+ expect(File).to receive(:exists?).with("/usr/sbin/update-rc.d") .and_return(false)
40
40
 
41
41
  @provider.define_resource_requirements
42
- lambda {
42
+ expect {
43
43
  @provider.process_resource_requirements
44
- }.should raise_error(Chef::Exceptions::Service)
44
+ }.to raise_error(Chef::Exceptions::Service)
45
45
  end
46
46
 
47
47
  context "when update-rc.d shows init linked to rc*.d/" do
48
48
  before do
49
- @provider.stub(:assert_update_rcd_available)
49
+ allow(@provider).to receive(:assert_update_rcd_available)
50
50
 
51
51
  result = <<-UPDATE_RC_D_SUCCESS
52
52
  Removing any system startup links for /etc/init.d/chef ...
@@ -62,55 +62,55 @@ describe Chef::Provider::Service::Debian do
62
62
  @stdout = StringIO.new(result)
63
63
  @stderr = StringIO.new
64
64
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
65
- @provider.stub(:shell_out!).and_return(@status)
66
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
65
+ allow(@provider).to receive(:shell_out!).and_return(@status)
66
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
67
67
  end
68
68
 
69
69
  it "says the service is enabled" do
70
- @provider.service_currently_enabled?(@provider.get_priority).should be_true
70
+ expect(@provider.service_currently_enabled?(@provider.get_priority)).to be_true
71
71
  end
72
72
 
73
73
  it "stores the 'enabled' state" do
74
- Chef::Resource::Service.stub(:new).and_return(@current_resource)
75
- @provider.load_current_resource.should equal(@current_resource)
76
- @current_resource.enabled.should be_true
74
+ allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
75
+ expect(@provider.load_current_resource).to equal(@current_resource)
76
+ expect(@current_resource.enabled).to be_true
77
77
  end
78
78
  end
79
79
 
80
80
  context "when update-rc.d shows init isn't linked to rc*.d/" do
81
81
  before do
82
- @provider.stub(:assert_update_rcd_available)
82
+ allow(@provider).to receive(:assert_update_rcd_available)
83
83
  @status = double("Status", :exitstatus => 0)
84
84
  @stdout = StringIO.new(
85
85
  " Removing any system startup links for /etc/init.d/chef ...")
86
86
  @stderr = StringIO.new
87
87
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
88
- @provider.stub(:shell_out!).and_return(@status)
89
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
88
+ allow(@provider).to receive(:shell_out!).and_return(@status)
89
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
90
90
  end
91
91
 
92
92
  it "says the service is disabled" do
93
- @provider.service_currently_enabled?(@provider.get_priority).should be_false
93
+ expect(@provider.service_currently_enabled?(@provider.get_priority)).to be_false
94
94
  end
95
95
 
96
96
  it "stores the 'disabled' state" do
97
- Chef::Resource::Service.stub(:new).and_return(@current_resource)
98
- @provider.load_current_resource.should equal(@current_resource)
99
- @current_resource.enabled.should be_false
97
+ allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
98
+ expect(@provider.load_current_resource).to equal(@current_resource)
99
+ expect(@current_resource.enabled).to be_false
100
100
  end
101
101
  end
102
102
 
103
103
  context "when update-rc.d fails" do
104
104
  before do
105
105
  @status = double("Status", :exitstatus => -1)
106
- @provider.stub(:popen4).and_return(@status)
106
+ allow(@provider).to receive(:popen4).and_return(@status)
107
107
  end
108
108
 
109
109
  it "raises an error" do
110
110
  @provider.define_resource_requirements
111
- lambda {
111
+ expect {
112
112
  @provider.process_resource_requirements
113
- }.should raise_error(Chef::Exceptions::Service)
113
+ }.to raise_error(Chef::Exceptions::Service)
114
114
  end
115
115
  end
116
116
 
@@ -196,49 +196,49 @@ insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
196
196
  context "on #{model}" do
197
197
  context "when update-rc.d shows init linked to rc*.d/" do
198
198
  before do
199
- @provider.stub(:assert_update_rcd_available)
199
+ allow(@provider).to receive(:assert_update_rcd_available)
200
200
 
201
201
  @stdout = StringIO.new(expected_results["linked"]["stdout"])
202
202
  @stderr = StringIO.new(expected_results["linked"]["stderr"])
203
203
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
204
- @provider.stub(:shell_out!).and_return(@status)
205
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
204
+ allow(@provider).to receive(:shell_out!).and_return(@status)
205
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
206
206
  end
207
207
 
208
208
  it "says the service is enabled" do
209
- @provider.service_currently_enabled?(@provider.get_priority).should be_true
209
+ expect(@provider.service_currently_enabled?(@provider.get_priority)).to be_true
210
210
  end
211
211
 
212
212
  it "stores the 'enabled' state" do
213
- Chef::Resource::Service.stub(:new).and_return(@current_resource)
214
- @provider.load_current_resource.should equal(@current_resource)
215
- @current_resource.enabled.should be_true
213
+ allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
214
+ expect(@provider.load_current_resource).to equal(@current_resource)
215
+ expect(@current_resource.enabled).to be_true
216
216
  end
217
217
 
218
218
  it "stores the start/stop priorities of the service" do
219
219
  @provider.load_current_resource
220
- @provider.current_resource.priority.should == expected_results["linked"]["priorities"]
220
+ expect(@provider.current_resource.priority).to eq(expected_results["linked"]["priorities"])
221
221
  end
222
222
  end
223
223
 
224
224
  context "when update-rc.d shows init isn't linked to rc*.d/" do
225
225
  before do
226
- @provider.stub(:assert_update_rcd_available)
226
+ allow(@provider).to receive(:assert_update_rcd_available)
227
227
  @stdout = StringIO.new(expected_results["not linked"]["stdout"])
228
228
  @stderr = StringIO.new(expected_results["not linked"]["stderr"])
229
229
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
230
- @provider.stub(:shell_out!).and_return(@status)
231
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
230
+ allow(@provider).to receive(:shell_out!).and_return(@status)
231
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
232
232
  end
233
233
 
234
234
  it "says the service is disabled" do
235
- @provider.service_currently_enabled?(@provider.get_priority).should be_false
235
+ expect(@provider.service_currently_enabled?(@provider.get_priority)).to be_false
236
236
  end
237
237
 
238
238
  it "stores the 'disabled' state" do
239
- Chef::Resource::Service.stub(:new).and_return(@current_resource)
240
- @provider.load_current_resource.should equal(@current_resource)
241
- @current_resource.enabled.should be_false
239
+ allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
240
+ expect(@provider.load_current_resource).to equal(@current_resource)
241
+ expect(@current_resource.enabled).to be_false
242
242
  end
243
243
  end
244
244
  end
@@ -249,19 +249,19 @@ insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
249
249
  describe "action_enable" do
250
250
  shared_examples_for "the service is up to date" do
251
251
  it "does not enable the service" do
252
- @provider.should_not_receive(:enable_service)
252
+ expect(@provider).not_to receive(:enable_service)
253
253
  @provider.action_enable
254
254
  @provider.set_updated_status
255
- @provider.new_resource.should_not be_updated
255
+ expect(@provider.new_resource).not_to be_updated
256
256
  end
257
257
  end
258
258
 
259
259
  shared_examples_for "the service is not up to date" do
260
260
  it "enables the service and sets the resource as updated" do
261
- @provider.should_receive(:enable_service).and_return(true)
261
+ expect(@provider).to receive(:enable_service).and_return(true)
262
262
  @provider.action_enable
263
263
  @provider.set_updated_status
264
- @provider.new_resource.should be_updated
264
+ expect(@provider.new_resource).to be_updated
265
265
  end
266
266
  end
267
267
 
@@ -301,7 +301,7 @@ insserv: dryrun, not creating .depend.boot, .depend.start, and .depend.stop
301
301
 
302
302
  def expect_commands(provider, commands)
303
303
  commands.each do |command|
304
- provider.should_receive(:shell_out!).with(command)
304
+ expect(provider).to receive(:shell_out!).with(command)
305
305
  end
306
306
  end
307
307
 
@@ -29,72 +29,72 @@ describe Chef::Provider::Service::Gentoo do
29
29
  @current_resource = Chef::Resource::Service.new("chef")
30
30
 
31
31
  @provider = Chef::Provider::Service::Gentoo.new(@new_resource, @run_context)
32
- Chef::Resource::Service.stub(:new).and_return(@current_resource)
32
+ allow(Chef::Resource::Service).to receive(:new).and_return(@current_resource)
33
33
  @status = double("Status", :exitstatus => 0, :stdout => @stdout)
34
- @provider.stub(:shell_out).and_return(@status)
35
- File.stub(:exists?).with("/etc/init.d/chef").and_return(true)
36
- File.stub(:exists?).with("/sbin/rc-update").and_return(true)
37
- File.stub(:exists?).with("/etc/runlevels/default/chef").and_return(false)
38
- File.stub(:readable?).with("/etc/runlevels/default/chef").and_return(false)
34
+ allow(@provider).to receive(:shell_out).and_return(@status)
35
+ allow(File).to receive(:exists?).with("/etc/init.d/chef").and_return(true)
36
+ allow(File).to receive(:exists?).with("/sbin/rc-update").and_return(true)
37
+ allow(File).to receive(:exists?).with("/etc/runlevels/default/chef").and_return(false)
38
+ allow(File).to receive(:readable?).with("/etc/runlevels/default/chef").and_return(false)
39
39
  end
40
40
  # new test: found_enabled state
41
41
  #
42
42
  describe "load_current_resource" do
43
43
  it "should raise Chef::Exceptions::Service if /sbin/rc-update does not exist" do
44
- File.should_receive(:exists?).with("/sbin/rc-update").and_return(false)
44
+ expect(File).to receive(:exists?).with("/sbin/rc-update").and_return(false)
45
45
  @provider.define_resource_requirements
46
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Service)
46
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Service)
47
47
  end
48
48
 
49
49
  it "should track when service file is not found in /etc/runlevels" do
50
50
  @provider.load_current_resource
51
- @provider.instance_variable_get("@found_script").should be_false
51
+ expect(@provider.instance_variable_get("@found_script")).to be_false
52
52
  end
53
53
 
54
54
  it "should track when service file is found in /etc/runlevels/**/" do
55
- Dir.stub(:glob).with("/etc/runlevels/**/chef").and_return(["/etc/runlevels/default/chef"])
55
+ allow(Dir).to receive(:glob).with("/etc/runlevels/**/chef").and_return(["/etc/runlevels/default/chef"])
56
56
  @provider.load_current_resource
57
- @provider.instance_variable_get("@found_script").should be_true
57
+ expect(@provider.instance_variable_get("@found_script")).to be_true
58
58
  end
59
59
 
60
60
  describe "when detecting the service enable state" do
61
61
  describe "and the glob returns a default service script file" do
62
62
  before do
63
- Dir.stub(:glob).with("/etc/runlevels/**/chef").and_return(["/etc/runlevels/default/chef"])
63
+ allow(Dir).to receive(:glob).with("/etc/runlevels/**/chef").and_return(["/etc/runlevels/default/chef"])
64
64
  end
65
65
 
66
66
  describe "and the file exists and is readable" do
67
67
  before do
68
- File.stub(:exists?).with("/etc/runlevels/default/chef").and_return(true)
69
- File.stub(:readable?).with("/etc/runlevels/default/chef").and_return(true)
68
+ allow(File).to receive(:exists?).with("/etc/runlevels/default/chef").and_return(true)
69
+ allow(File).to receive(:readable?).with("/etc/runlevels/default/chef").and_return(true)
70
70
  end
71
71
  it "should set enabled to true" do
72
72
  @provider.load_current_resource
73
- @current_resource.enabled.should be_true
73
+ expect(@current_resource.enabled).to be_true
74
74
  end
75
75
  end
76
76
 
77
77
  describe "and the file exists but is not readable" do
78
78
  before do
79
- File.stub(:exists?).with("/etc/runlevels/default/chef").and_return(true)
80
- File.stub(:readable?).with("/etc/runlevels/default/chef").and_return(false)
79
+ allow(File).to receive(:exists?).with("/etc/runlevels/default/chef").and_return(true)
80
+ allow(File).to receive(:readable?).with("/etc/runlevels/default/chef").and_return(false)
81
81
  end
82
82
 
83
83
  it "should set enabled to false" do
84
84
  @provider.load_current_resource
85
- @current_resource.enabled.should be_false
85
+ expect(@current_resource.enabled).to be_false
86
86
  end
87
87
  end
88
88
 
89
89
  describe "and the file does not exist" do
90
90
  before do
91
- File.stub(:exists?).with("/etc/runlevels/default/chef").and_return(false)
92
- File.stub(:readable?).with("/etc/runlevels/default/chef").and_return("foobarbaz")
91
+ allow(File).to receive(:exists?).with("/etc/runlevels/default/chef").and_return(false)
92
+ allow(File).to receive(:readable?).with("/etc/runlevels/default/chef").and_return("foobarbaz")
93
93
  end
94
94
 
95
95
  it "should set enabled to false" do
96
96
  @provider.load_current_resource
97
- @current_resource.enabled.should be_false
97
+ expect(@current_resource.enabled).to be_false
98
98
  end
99
99
 
100
100
  end
@@ -103,39 +103,39 @@ describe Chef::Provider::Service::Gentoo do
103
103
  end
104
104
 
105
105
  it "should return the current_resource" do
106
- @provider.load_current_resource.should == @current_resource
106
+ expect(@provider.load_current_resource).to eq(@current_resource)
107
107
  end
108
108
 
109
109
  it "should support the status command automatically" do
110
110
  @provider.load_current_resource
111
- @new_resource.supports[:status].should be_true
111
+ expect(@new_resource.supports[:status]).to be_true
112
112
  end
113
113
 
114
114
  it "should support the restart command automatically" do
115
115
  @provider.load_current_resource
116
- @new_resource.supports[:restart].should be_true
116
+ expect(@new_resource.supports[:restart]).to be_true
117
117
  end
118
118
 
119
119
  it "should not support the reload command automatically" do
120
120
  @provider.load_current_resource
121
- @new_resource.supports[:reload].should_not be_true
121
+ expect(@new_resource.supports[:reload]).not_to be_true
122
122
  end
123
123
 
124
124
  end
125
125
 
126
126
  describe "action_methods" do
127
- before(:each) { @provider.stub(:load_current_resource).and_return(@current_resource) }
127
+ before(:each) { allow(@provider).to receive(:load_current_resource).and_return(@current_resource) }
128
128
 
129
129
  describe Chef::Provider::Service::Gentoo, "enable_service" do
130
130
  it "should call rc-update add *service* default" do
131
- @provider.should_receive(:shell_out!).with("/sbin/rc-update add chef default")
131
+ expect(@provider).to receive(:shell_out!).with("/sbin/rc-update add chef default")
132
132
  @provider.enable_service()
133
133
  end
134
134
  end
135
135
 
136
136
  describe Chef::Provider::Service::Gentoo, "disable_service" do
137
137
  it "should call rc-update del *service* default" do
138
- @provider.should_receive(:shell_out!).with("/sbin/rc-update del chef default")
138
+ expect(@provider).to receive(:shell_out!).with("/sbin/rc-update del chef default")
139
139
  @provider.disable_service()
140
140
  end
141
141
  end