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
@@ -28,7 +28,7 @@ describe Chef::Provider::Package::Ips do
28
28
  @run_context = Chef::RunContext.new(@node, {}, @events)
29
29
  @new_resource = Chef::Resource::Package.new("crypto/gnupg", @run_context)
30
30
  @current_resource = Chef::Resource::Package.new("crypto/gnupg", @run_context)
31
- Chef::Resource::Package.stub(:new).and_return(@current_resource)
31
+ allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
32
32
  @provider = Chef::Provider::Package::Ips.new(@new_resource, @run_context)
33
33
  end
34
34
 
@@ -65,30 +65,30 @@ PKG_STATUS
65
65
 
66
66
  context "when loading current resource" do
67
67
  it "should create a current resource with the name of the new_resource" do
68
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
69
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
70
- Chef::Resource::Package.should_receive(:new).and_return(@current_resource)
68
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
69
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
70
+ expect(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
71
71
  @provider.load_current_resource
72
72
  end
73
73
 
74
74
  it "should set the current resources package name to the new resources package name" do
75
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
76
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
75
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
76
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
77
77
  @provider.load_current_resource
78
- @current_resource.package_name.should == @new_resource.package_name
78
+ expect(@current_resource.package_name).to eq(@new_resource.package_name)
79
79
  end
80
80
 
81
81
  it "should run pkg info with the package name" do
82
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
83
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
82
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
83
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
84
84
  @provider.load_current_resource
85
85
  end
86
86
 
87
87
  it "should set the installed version to nil on the current resource if package state is not installed" do
88
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
89
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
88
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
89
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
90
90
  @provider.load_current_resource
91
- @current_resource.version.should be_nil
91
+ expect(@current_resource.version).to be_nil
92
92
  end
93
93
 
94
94
  it "should set the installed version if package has one" do
@@ -108,28 +108,28 @@ Packaging Date: October 19, 2011 09:14:50 AM
108
108
  Size: 8.07 MB
109
109
  FMRI: pkg://solaris/crypto/gnupg@2.0.17,5.11-0.175.0.0.0.2.537:20111019T091450Z
110
110
  INSTALLED
111
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
112
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
111
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
112
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
113
113
  @provider.load_current_resource
114
- @current_resource.version.should == "2.0.17"
114
+ expect(@current_resource.version).to eq("2.0.17")
115
115
  end
116
116
 
117
117
  it "should return the current resource" do
118
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
119
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
120
- @provider.load_current_resource.should eql(@current_resource)
118
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
119
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote_output)
120
+ expect(@provider.load_current_resource).to eql(@current_resource)
121
121
  end
122
122
  end
123
123
 
124
124
  context "when installing a package" do
125
125
  it "should run pkg install with the package name and version" do
126
- @provider.should_receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
126
+ expect(@provider).to receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
127
127
  @provider.install_package("crypto/gnupg", "2.0.17")
128
128
  end
129
129
 
130
130
  it "should run pkg install with the package name and version and options if specified" do
131
- @provider.should_receive(:shell_out).with("pkg --no-refresh install -q crypto/gnupg@2.0.17")
132
- @new_resource.stub(:options).and_return("--no-refresh")
131
+ expect(@provider).to receive(:shell_out).with("pkg --no-refresh install -q crypto/gnupg@2.0.17")
132
+ allow(@new_resource).to receive(:options).and_return("--no-refresh")
133
133
  @provider.install_package("crypto/gnupg", "2.0.17")
134
134
  end
135
135
 
@@ -147,11 +147,11 @@ Packaging Date: April 1, 2012 05:55:52 PM
147
147
  Size: 2.57 MB
148
148
  FMRI: pkg://omnios/security/sudo@1.8.4.1,5.11-0.151002:20120401T175552Z
149
149
  PKG_STATUS
150
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
151
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
150
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local_output)
151
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
152
152
  @provider.load_current_resource
153
- @current_resource.version.should be_nil
154
- @provider.candidate_version.should eql("1.8.4.1")
153
+ expect(@current_resource.version).to be_nil
154
+ expect(@provider.candidate_version).to eql("1.8.4.1")
155
155
  end
156
156
 
157
157
  it "should not upgrade the package if it is already installed" do
@@ -188,20 +188,20 @@ Packaging Date: October 19, 2011 09:14:50 AM
188
188
  FMRI: pkg://solaris/crypto/gnupg@2.0.18,5.11-0.175.0.0.0.2.537:20111019T091450Z
189
189
  REMOTE
190
190
 
191
- @provider.should_receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
192
- @provider.should_receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
191
+ expect(@provider).to receive(:shell_out).with("pkg info #{@new_resource.package_name}").and_return(local)
192
+ expect(@provider).to receive(:shell_out!).with("pkg info -r #{@new_resource.package_name}").and_return(remote)
193
193
  @provider.load_current_resource
194
- @provider.should_receive(:install_package).exactly(0).times
194
+ expect(@provider).to receive(:install_package).exactly(0).times
195
195
  @provider.action_install
196
196
  end
197
197
 
198
198
  context "when accept_license is true" do
199
199
  before do
200
- @new_resource.stub(:accept_license).and_return(true)
200
+ allow(@new_resource).to receive(:accept_license).and_return(true)
201
201
  end
202
202
 
203
203
  it "should run pkg install with the --accept flag" do
204
- @provider.should_receive(:shell_out).with("pkg install -q --accept crypto/gnupg@2.0.17")
204
+ expect(@provider).to receive(:shell_out).with("pkg install -q --accept crypto/gnupg@2.0.17")
205
205
  @provider.install_package("crypto/gnupg", "2.0.17")
206
206
  end
207
207
  end
@@ -209,20 +209,20 @@ REMOTE
209
209
 
210
210
  context "when upgrading a package" do
211
211
  it "should run pkg install with the package name and version" do
212
- @provider.should_receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
212
+ expect(@provider).to receive(:shell_out).with("pkg install -q crypto/gnupg@2.0.17")
213
213
  @provider.upgrade_package("crypto/gnupg", "2.0.17")
214
214
  end
215
215
  end
216
216
 
217
217
  context "when uninstalling a package" do
218
218
  it "should run pkg uninstall with the package name and version" do
219
- @provider.should_receive(:shell_out!).with("pkg uninstall -q crypto/gnupg@2.0.17")
219
+ expect(@provider).to receive(:shell_out!).with("pkg uninstall -q crypto/gnupg@2.0.17")
220
220
  @provider.remove_package("crypto/gnupg", "2.0.17")
221
221
  end
222
222
 
223
223
  it "should run pkg uninstall with the package name and version and options if specified" do
224
- @provider.should_receive(:shell_out!).with("pkg --no-refresh uninstall -q crypto/gnupg@2.0.17")
225
- @new_resource.stub(:options).and_return("--no-refresh")
224
+ expect(@provider).to receive(:shell_out!).with("pkg --no-refresh uninstall -q crypto/gnupg@2.0.17")
225
+ allow(@new_resource).to receive(:options).and_return("--no-refresh")
226
226
  @provider.remove_package("crypto/gnupg", "2.0.17")
227
227
  end
228
228
  end
@@ -27,7 +27,7 @@ describe Chef::Provider::Package::Macports do
27
27
  @current_resource = Chef::Resource::Package.new("zsh")
28
28
 
29
29
  @provider = Chef::Provider::Package::Macports.new(@new_resource, @run_context)
30
- Chef::Resource::Package.stub(:new).and_return(@current_resource)
30
+ allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
31
31
 
32
32
  @status = double("Status", :exitstatus => 0)
33
33
  @stdin = StringIO.new
@@ -38,91 +38,91 @@ describe Chef::Provider::Package::Macports do
38
38
 
39
39
  describe "load_current_resource" do
40
40
  it "should create a current resource with the name of the new_resource" do
41
- @provider.should_receive(:current_installed_version).and_return(nil)
42
- @provider.should_receive(:macports_candidate_version).and_return("4.2.7")
41
+ expect(@provider).to receive(:current_installed_version).and_return(nil)
42
+ expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
43
43
 
44
44
  @provider.load_current_resource
45
- @provider.current_resource.name.should == "zsh"
45
+ expect(@provider.current_resource.name).to eq("zsh")
46
46
  end
47
47
 
48
48
  it "should create a current resource with the version if the package is installed" do
49
- @provider.should_receive(:macports_candidate_version).and_return("4.2.7")
50
- @provider.should_receive(:current_installed_version).and_return("4.2.7")
49
+ expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
50
+ expect(@provider).to receive(:current_installed_version).and_return("4.2.7")
51
51
 
52
52
  @provider.load_current_resource
53
- @provider.candidate_version.should == "4.2.7"
53
+ expect(@provider.candidate_version).to eq("4.2.7")
54
54
  end
55
55
 
56
56
  it "should create a current resource with a nil version if the package is not installed" do
57
- @provider.should_receive(:current_installed_version).and_return(nil)
58
- @provider.should_receive(:macports_candidate_version).and_return("4.2.7")
57
+ expect(@provider).to receive(:current_installed_version).and_return(nil)
58
+ expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
59
59
  @provider.load_current_resource
60
- @provider.current_resource.version.should be_nil
60
+ expect(@provider.current_resource.version).to be_nil
61
61
  end
62
62
 
63
63
  it "should set a candidate version if one exists" do
64
- @provider.should_receive(:current_installed_version).and_return(nil)
65
- @provider.should_receive(:macports_candidate_version).and_return("4.2.7")
64
+ expect(@provider).to receive(:current_installed_version).and_return(nil)
65
+ expect(@provider).to receive(:macports_candidate_version).and_return("4.2.7")
66
66
  @provider.load_current_resource
67
- @provider.candidate_version.should == "4.2.7"
67
+ expect(@provider.candidate_version).to eq("4.2.7")
68
68
  end
69
69
  end
70
70
 
71
71
  describe "current_installed_version" do
72
72
  it "should return the current version if the package is installed" do
73
- @stdout.should_receive(:read).and_return(<<EOF
73
+ expect(@stdout).to receive(:read).and_return(<<EOF
74
74
  The following ports are currently installed:
75
75
  openssl @0.9.8k_0 (active)
76
76
  EOF
77
77
  )
78
78
 
79
- @provider.should_receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
80
- @provider.current_installed_version.should == "0.9.8k_0"
79
+ expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
80
+ expect(@provider.current_installed_version).to eq("0.9.8k_0")
81
81
  end
82
82
 
83
83
  it "should return nil if a package is not currently installed" do
84
- @stdout.should_receive(:read).and_return(" \n")
85
- @provider.should_receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
86
- @provider.current_installed_version.should be_nil
84
+ expect(@stdout).to receive(:read).and_return(" \n")
85
+ expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
86
+ expect(@provider.current_installed_version).to be_nil
87
87
  end
88
88
  end
89
89
 
90
90
  describe "macports_candidate_version" do
91
91
  it "should return the latest available version of a given package" do
92
- @stdout.should_receive(:read).and_return("version: 4.2.7\n")
93
- @provider.should_receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
94
- @provider.macports_candidate_version.should == "4.2.7"
92
+ expect(@stdout).to receive(:read).and_return("version: 4.2.7\n")
93
+ expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
94
+ expect(@provider.macports_candidate_version).to eq("4.2.7")
95
95
  end
96
96
 
97
97
  it "should return nil if there is no version for a given package" do
98
- @stdout.should_receive(:read).and_return("Error: port fadsfadsfads not found\n")
99
- @provider.should_receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
100
- @provider.macports_candidate_version.should be_nil
98
+ expect(@stdout).to receive(:read).and_return("Error: port fadsfadsfads not found\n")
99
+ expect(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
100
+ expect(@provider.macports_candidate_version).to be_nil
101
101
  end
102
102
  end
103
103
 
104
104
  describe "install_package" do
105
105
  it "should run the port install command with the correct version" do
106
- @current_resource.should_receive(:version).and_return("4.1.6")
106
+ expect(@current_resource).to receive(:version).and_return("4.1.6")
107
107
  @provider.current_resource = @current_resource
108
- @provider.should_receive(:shell_out!).with("port install zsh @4.2.7")
108
+ expect(@provider).to receive(:shell_out!).with("port install zsh @4.2.7")
109
109
 
110
110
  @provider.install_package("zsh", "4.2.7")
111
111
  end
112
112
 
113
113
  it "should not do anything if a package already exists with the same version" do
114
- @current_resource.should_receive(:version).and_return("4.2.7")
114
+ expect(@current_resource).to receive(:version).and_return("4.2.7")
115
115
  @provider.current_resource = @current_resource
116
- @provider.should_not_receive(:shell_out!)
116
+ expect(@provider).not_to receive(:shell_out!)
117
117
 
118
118
  @provider.install_package("zsh", "4.2.7")
119
119
  end
120
120
 
121
121
  it "should add options to the port command when specified" do
122
- @current_resource.should_receive(:version).and_return("4.1.6")
122
+ expect(@current_resource).to receive(:version).and_return("4.1.6")
123
123
  @provider.current_resource = @current_resource
124
- @new_resource.stub(:options).and_return("-f")
125
- @provider.should_receive(:shell_out!).with("port -f install zsh @4.2.7")
124
+ allow(@new_resource).to receive(:options).and_return("-f")
125
+ expect(@provider).to receive(:shell_out!).with("port -f install zsh @4.2.7")
126
126
 
127
127
  @provider.install_package("zsh", "4.2.7")
128
128
  end
@@ -130,72 +130,72 @@ EOF
130
130
 
131
131
  describe "purge_package" do
132
132
  it "should run the port uninstall command with the correct version" do
133
- @provider.should_receive(:shell_out!).with("port uninstall zsh @4.2.7")
133
+ expect(@provider).to receive(:shell_out!).with("port uninstall zsh @4.2.7")
134
134
  @provider.purge_package("zsh", "4.2.7")
135
135
  end
136
136
 
137
137
  it "should purge the currently active version if no explicit version is passed in" do
138
- @provider.should_receive(:shell_out!).with("port uninstall zsh")
138
+ expect(@provider).to receive(:shell_out!).with("port uninstall zsh")
139
139
  @provider.purge_package("zsh", nil)
140
140
  end
141
141
 
142
142
  it "should add options to the port command when specified" do
143
- @new_resource.stub(:options).and_return("-f")
144
- @provider.should_receive(:shell_out!).with("port -f uninstall zsh @4.2.7")
143
+ allow(@new_resource).to receive(:options).and_return("-f")
144
+ expect(@provider).to receive(:shell_out!).with("port -f uninstall zsh @4.2.7")
145
145
  @provider.purge_package("zsh", "4.2.7")
146
146
  end
147
147
  end
148
148
 
149
149
  describe "remove_package" do
150
150
  it "should run the port deactivate command with the correct version" do
151
- @provider.should_receive(:shell_out!).with("port deactivate zsh @4.2.7")
151
+ expect(@provider).to receive(:shell_out!).with("port deactivate zsh @4.2.7")
152
152
  @provider.remove_package("zsh", "4.2.7")
153
153
  end
154
154
 
155
155
  it "should remove the currently active version if no explicit version is passed in" do
156
- @provider.should_receive(:shell_out!).with("port deactivate zsh")
156
+ expect(@provider).to receive(:shell_out!).with("port deactivate zsh")
157
157
  @provider.remove_package("zsh", nil)
158
158
  end
159
159
 
160
160
  it "should add options to the port command when specified" do
161
- @new_resource.stub(:options).and_return("-f")
162
- @provider.should_receive(:shell_out!).with("port -f deactivate zsh @4.2.7")
161
+ allow(@new_resource).to receive(:options).and_return("-f")
162
+ expect(@provider).to receive(:shell_out!).with("port -f deactivate zsh @4.2.7")
163
163
  @provider.remove_package("zsh", "4.2.7")
164
164
  end
165
165
  end
166
166
 
167
167
  describe "upgrade_package" do
168
168
  it "should run the port upgrade command with the correct version" do
169
- @current_resource.should_receive(:version).at_least(:once).and_return("4.1.6")
169
+ expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
170
170
  @provider.current_resource = @current_resource
171
171
 
172
- @provider.should_receive(:shell_out!).with("port upgrade zsh @4.2.7")
172
+ expect(@provider).to receive(:shell_out!).with("port upgrade zsh @4.2.7")
173
173
 
174
174
  @provider.upgrade_package("zsh", "4.2.7")
175
175
  end
176
176
 
177
177
  it "should not run the port upgrade command if the version is already installed" do
178
- @current_resource.should_receive(:version).at_least(:once).and_return("4.2.7")
178
+ expect(@current_resource).to receive(:version).at_least(:once).and_return("4.2.7")
179
179
  @provider.current_resource = @current_resource
180
- @provider.should_not_receive(:shell_out!)
180
+ expect(@provider).not_to receive(:shell_out!)
181
181
 
182
182
  @provider.upgrade_package("zsh", "4.2.7")
183
183
  end
184
184
 
185
185
  it "should call install_package if the package isn't currently installed" do
186
- @current_resource.should_receive(:version).at_least(:once).and_return(nil)
186
+ expect(@current_resource).to receive(:version).at_least(:once).and_return(nil)
187
187
  @provider.current_resource = @current_resource
188
- @provider.should_receive(:install_package).and_return(true)
188
+ expect(@provider).to receive(:install_package).and_return(true)
189
189
 
190
190
  @provider.upgrade_package("zsh", "4.2.7")
191
191
  end
192
192
 
193
193
  it "should add options to the port command when specified" do
194
- @new_resource.stub(:options).and_return("-f")
195
- @current_resource.should_receive(:version).at_least(:once).and_return("4.1.6")
194
+ allow(@new_resource).to receive(:options).and_return("-f")
195
+ expect(@current_resource).to receive(:version).at_least(:once).and_return("4.1.6")
196
196
  @provider.current_resource = @current_resource
197
197
 
198
- @provider.should_receive(:shell_out!).with("port -f upgrade zsh @4.2.7")
198
+ expect(@provider).to receive(:shell_out!).with("port -f upgrade zsh @4.2.7")
199
199
 
200
200
  @provider.upgrade_package("zsh", "4.2.7")
201
201
  end
@@ -28,8 +28,8 @@ describe Chef::Provider::Package::Pacman do
28
28
 
29
29
  @status = double("Status", :exitstatus => 0)
30
30
  @provider = Chef::Provider::Package::Pacman.new(@new_resource, @run_context)
31
- Chef::Resource::Package.stub(:new).and_return(@current_resource)
32
- @provider.stub(:popen4).and_return(@status)
31
+ allow(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
32
+ allow(@provider).to receive(:popen4).and_return(@status)
33
33
  @stdin = StringIO.new
34
34
  @stdout = StringIO.new(<<-ERR)
35
35
  error: package "nano" not found
@@ -40,29 +40,29 @@ ERR
40
40
 
41
41
  describe "when determining the current package state" do
42
42
  it "should create a current resource with the name of the new_resource" do
43
- Chef::Resource::Package.should_receive(:new).and_return(@current_resource)
43
+ expect(Chef::Resource::Package).to receive(:new).and_return(@current_resource)
44
44
  @provider.load_current_resource
45
45
  end
46
46
 
47
47
  it "should set the current resources package name to the new resources package name" do
48
- @current_resource.should_receive(:package_name).with(@new_resource.package_name)
48
+ expect(@current_resource).to receive(:package_name).with(@new_resource.package_name)
49
49
  @provider.load_current_resource
50
50
  end
51
51
 
52
52
  it "should run pacman query with the package name" do
53
- @provider.should_receive(:popen4).with("pacman -Qi #{@new_resource.package_name}").and_return(@status)
53
+ expect(@provider).to receive(:popen4).with("pacman -Qi #{@new_resource.package_name}").and_return(@status)
54
54
  @provider.load_current_resource
55
55
  end
56
56
 
57
57
  it "should read stdout on pacman" do
58
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
59
- @stdout.should_receive(:each).and_return(true)
58
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
59
+ expect(@stdout).to receive(:each).and_return(true)
60
60
  @provider.load_current_resource
61
61
  end
62
62
 
63
63
  it "should set the installed version to nil on the current resource if pacman installed version not exists" do
64
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
65
- @current_resource.should_receive(:version).with(nil).and_return(true)
64
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
65
+ expect(@current_resource).to receive(:version).with(nil).and_return(true)
66
66
  @provider.load_current_resource
67
67
  end
68
68
 
@@ -88,19 +88,16 @@ Install Reason : Explicitly installed
88
88
  Install Script : Yes
89
89
  Description : Pico editor clone with enhancements
90
90
  PACMAN
91
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
91
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
92
92
  @provider.load_current_resource
93
- @current_resource.version.should == "2.2.2-1"
93
+ expect(@current_resource.version).to eq("2.2.2-1")
94
94
  end
95
95
 
96
96
  it "should set the candidate version if pacman has one" do
97
- @stdout.stub(:each).and_yield("core/nano 2.2.3-1 (base)").
98
- and_yield(" Pico editor clone with enhancements").
99
- and_yield("community/nanoblogger 3.4.1-1").
100
- and_yield(" NanoBlogger is a small weblog engine written in Bash for the command line")
101
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
97
+ allow(@stdout).to receive(:each).and_yield("core nano 2.2.3-1")
98
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
102
99
  @provider.load_current_resource
103
- @provider.candidate_version.should eql("2.2.3-1")
100
+ expect(@provider.candidate_version).to eql("2.2.3-1")
104
101
  end
105
102
 
106
103
  it "should use pacman.conf to determine valid repo names for package versions" do
@@ -122,46 +119,45 @@ Include = /etc/pacman.d/mirrorlist
122
119
  Include = /etc/pacman.d/mirrorlist
123
120
  PACMAN_CONF
124
121
 
125
- ::File.stub(:exists?).with("/etc/pacman.conf").and_return(true)
126
- ::File.stub(:read).with("/etc/pacman.conf").and_return(@pacman_conf)
127
- @stdout.stub(:each).and_yield("customrepo/nano 1.2.3-4").
128
- and_yield(" My custom package")
129
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
122
+ allow(::File).to receive(:exists?).with("/etc/pacman.conf").and_return(true)
123
+ allow(::File).to receive(:read).with("/etc/pacman.conf").and_return(@pacman_conf)
124
+ allow(@stdout).to receive(:each).and_yield("customrepo nano 1.2.3-4")
125
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
130
126
 
131
127
  @provider.load_current_resource
132
- @provider.candidate_version.should eql("1.2.3-4")
128
+ expect(@provider.candidate_version).to eql("1.2.3-4")
133
129
  end
134
130
 
135
131
  it "should raise an exception if pacman fails" do
136
- @status.should_receive(:exitstatus).and_return(2)
137
- lambda { @provider.load_current_resource }.should raise_error(Chef::Exceptions::Package)
132
+ expect(@status).to receive(:exitstatus).and_return(2)
133
+ expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Package)
138
134
  end
139
135
 
140
136
  it "should not raise an exception if pacman succeeds" do
141
- @status.should_receive(:exitstatus).and_return(0)
142
- lambda { @provider.load_current_resource }.should_not raise_error
137
+ expect(@status).to receive(:exitstatus).and_return(0)
138
+ expect { @provider.load_current_resource }.not_to raise_error
143
139
  end
144
140
 
145
141
  it "should raise an exception if pacman does not return a candidate version" do
146
- @stdout.stub(:each).and_yield("")
147
- @provider.stub(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
148
- lambda { @provider.candidate_version }.should raise_error(Chef::Exceptions::Package)
142
+ allow(@stdout).to receive(:each).and_yield("")
143
+ allow(@provider).to receive(:popen4).and_yield(@pid, @stdin, @stdout, @stderr).and_return(@status)
144
+ expect { @provider.candidate_version }.to raise_error(Chef::Exceptions::Package)
149
145
  end
150
146
 
151
147
  it "should return the current resouce" do
152
- @provider.load_current_resource.should eql(@current_resource)
148
+ expect(@provider.load_current_resource).to eql(@current_resource)
153
149
  end
154
150
  end
155
151
 
156
152
  describe Chef::Provider::Package::Pacman, "install_package" do
157
153
  it "should run pacman install with the package name and version" do
158
- @provider.should_receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar nano")
154
+ expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar nano")
159
155
  @provider.install_package("nano", "1.0")
160
156
  end
161
157
 
162
158
  it "should run pacman install with the package name and version and options if specified" do
163
- @provider.should_receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar --debug nano")
164
- @new_resource.stub(:options).and_return("--debug")
159
+ expect(@provider).to receive(:shell_out!).with("pacman --sync --noconfirm --noprogressbar --debug nano")
160
+ allow(@new_resource).to receive(:options).and_return("--debug")
165
161
 
166
162
  @provider.install_package("nano", "1.0")
167
163
  end
@@ -169,20 +165,20 @@ PACMAN_CONF
169
165
 
170
166
  describe Chef::Provider::Package::Pacman, "upgrade_package" do
171
167
  it "should run install_package with the name and version" do
172
- @provider.should_receive(:install_package).with("nano", "1.0")
168
+ expect(@provider).to receive(:install_package).with("nano", "1.0")
173
169
  @provider.upgrade_package("nano", "1.0")
174
170
  end
175
171
  end
176
172
 
177
173
  describe Chef::Provider::Package::Pacman, "remove_package" do
178
174
  it "should run pacman remove with the package name" do
179
- @provider.should_receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar nano")
175
+ expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar nano")
180
176
  @provider.remove_package("nano", "1.0")
181
177
  end
182
178
 
183
179
  it "should run pacman remove with the package name and options if specified" do
184
- @provider.should_receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar --debug nano")
185
- @new_resource.stub(:options).and_return("--debug")
180
+ expect(@provider).to receive(:shell_out!).with("pacman --remove --noconfirm --noprogressbar --debug nano")
181
+ allow(@new_resource).to receive(:options).and_return("--debug")
186
182
 
187
183
  @provider.remove_package("nano", "1.0")
188
184
  end
@@ -190,7 +186,7 @@ PACMAN_CONF
190
186
 
191
187
  describe Chef::Provider::Package::Pacman, "purge_package" do
192
188
  it "should run remove_package with the name and version" do
193
- @provider.should_receive(:remove_package).with("nano", "1.0")
189
+ expect(@provider).to receive(:remove_package).with("nano", "1.0")
194
190
  @provider.purge_package("nano", "1.0")
195
191
  end
196
192