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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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