chef 12.0.0.alpha.2-x86-mingw32 → 12.0.0.rc.0-x86-mingw32

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