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
@@ -33,18 +33,18 @@ describe Chef::Provider::Group::Groupmod do
33
33
  describe "manage_group" do
34
34
  describe "when determining the current group state" do
35
35
  it "should raise an error if the required binary /usr/sbin/group doesn't exist" do
36
- File.should_receive(:exists?).with("/usr/sbin/group").and_return(false)
37
- lambda { @provider.load_current_resource }.should raise_error(Chef::Exceptions::Group)
36
+ expect(File).to receive(:exists?).with("/usr/sbin/group").and_return(false)
37
+ expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Group)
38
38
  end
39
39
  it "should raise an error if the required binary /usr/sbin/user doesn't exist" do
40
- File.should_receive(:exists?).with("/usr/sbin/group").and_return(true)
41
- File.should_receive(:exists?).with("/usr/sbin/user").and_return(false)
42
- lambda { @provider.load_current_resource }.should raise_error(Chef::Exceptions::Group)
40
+ expect(File).to receive(:exists?).with("/usr/sbin/group").and_return(true)
41
+ expect(File).to receive(:exists?).with("/usr/sbin/user").and_return(false)
42
+ expect { @provider.load_current_resource }.to raise_error(Chef::Exceptions::Group)
43
43
  end
44
44
 
45
45
  it "shouldn't raise an error if the required binaries exist" do
46
- File.stub(:exists?).and_return(true)
47
- lambda { @provider.load_current_resource }.should_not raise_error
46
+ allow(File).to receive(:exists?).and_return(true)
47
+ expect { @provider.load_current_resource }.not_to raise_error
48
48
  end
49
49
  end
50
50
 
@@ -61,10 +61,10 @@ describe Chef::Provider::Group::Groupmod do
61
61
  end
62
62
 
63
63
  it "logs a message and sets group's members to 'none', then removes existing group members" do
64
- Chef::Log.should_receive(:debug).with("group[wheel] setting group members to: none")
65
- @provider.should_receive(:shell_out!).with("group mod -n wheel_bak wheel")
66
- @provider.should_receive(:shell_out!).with("group add -g '123' -o wheel")
67
- @provider.should_receive(:shell_out!).with("group del wheel_bak")
64
+ expect(Chef::Log).to receive(:debug).with("group[wheel] setting group members to: none")
65
+ expect(@provider).to receive(:shell_out!).with("group mod -n wheel_bak wheel")
66
+ expect(@provider).to receive(:shell_out!).with("group add -g '123' -o wheel")
67
+ expect(@provider).to receive(:shell_out!).with("group del wheel_bak")
68
68
  @provider.manage_group
69
69
  end
70
70
  end
@@ -76,8 +76,8 @@ describe Chef::Provider::Group::Groupmod do
76
76
  end
77
77
 
78
78
  it "logs a message and does not modify group membership" do
79
- Chef::Log.should_receive(:debug).with("group[wheel] not changing group members, the group has no members to add")
80
- @provider.should_not_receive(:shell_out!)
79
+ expect(Chef::Log).to receive(:debug).with("group[wheel] not changing group members, the group has no members to add")
80
+ expect(@provider).not_to receive(:shell_out!)
81
81
  @provider.manage_group
82
82
  end
83
83
  end
@@ -89,11 +89,11 @@ describe Chef::Provider::Group::Groupmod do
89
89
  end
90
90
 
91
91
  it "updates group membership correctly" do
92
- Chef::Log.stub(:debug)
93
- @provider.should_receive(:shell_out!).with("group mod -n wheel_bak wheel")
94
- @provider.should_receive(:shell_out!).with("user mod -G wheel lobster")
95
- @provider.should_receive(:shell_out!).with("group add -g '123' -o wheel")
96
- @provider.should_receive(:shell_out!).with("group del wheel_bak")
92
+ allow(Chef::Log).to receive(:debug)
93
+ expect(@provider).to receive(:shell_out!).with("group mod -n wheel_bak wheel")
94
+ expect(@provider).to receive(:shell_out!).with("user mod -G wheel lobster")
95
+ expect(@provider).to receive(:shell_out!).with("group add -g '123' -o wheel")
96
+ expect(@provider).to receive(:shell_out!).with("group del wheel_bak")
97
97
  @provider.manage_group
98
98
  end
99
99
  end
@@ -108,10 +108,10 @@ describe Chef::Provider::Group::Groupmod do
108
108
  end
109
109
 
110
110
  it "should run a group add command and some user mod commands" do
111
- @provider.should_receive(:shell_out!).with("group add -g '123' wheel")
112
- @provider.should_receive(:shell_out!).with("user mod -G wheel lobster")
113
- @provider.should_receive(:shell_out!).with("user mod -G wheel rage")
114
- @provider.should_receive(:shell_out!).with("user mod -G wheel fist")
111
+ expect(@provider).to receive(:shell_out!).with("group add -g '123' wheel")
112
+ expect(@provider).to receive(:shell_out!).with("user mod -G wheel lobster")
113
+ expect(@provider).to receive(:shell_out!).with("user mod -G wheel rage")
114
+ expect(@provider).to receive(:shell_out!).with("user mod -G wheel fist")
115
115
  @provider.create_group
116
116
  end
117
117
  end
@@ -125,7 +125,7 @@ describe Chef::Provider::Group::Groupmod do
125
125
  end
126
126
 
127
127
  it "should run a group del command" do
128
- @provider.should_receive(:shell_out!).with("group del wheel")
128
+ expect(@provider).to receive(:shell_out!).with("group del wheel")
129
129
  @provider.remove_group
130
130
  end
131
131
  end
@@ -37,19 +37,19 @@ describe Chef::Provider::Group::Pw do
37
37
 
38
38
  describe "when setting options for the pw command" do
39
39
  it "does not set the gid option if gids match or are unmanaged" do
40
- @provider.set_options.should == " wheel"
40
+ expect(@provider.set_options).to eq(" wheel")
41
41
  end
42
42
 
43
43
  it "sets the option for gid if it is not nil" do
44
44
  @new_resource.gid(42)
45
- @provider.set_options.should eql(" wheel -g '42'")
45
+ expect(@provider.set_options).to eql(" wheel -g '42'")
46
46
  end
47
47
  end
48
48
 
49
49
  describe "when creating a group" do
50
50
  it "should run pw groupadd with the return of set_options and set_members_option" do
51
51
  @new_resource.gid(23)
52
- @provider.should_receive(:run_command).with({ :command => "pw groupadd wheel -g '23' -M root,aj" }).and_return(true)
52
+ expect(@provider).to receive(:run_command).with({ :command => "pw groupadd wheel -g '23' -M root,aj" }).and_return(true)
53
53
  @provider.create_group
54
54
  end
55
55
  end
@@ -59,8 +59,8 @@ describe Chef::Provider::Group::Pw do
59
59
  it "should run pw groupmod with the return of set_options" do
60
60
  @new_resource.gid(42)
61
61
  @new_resource.members(["someone"])
62
- @provider.should_receive(:run_command).with({ :command => "pw groupmod wheel -g '42' -m someone" }).and_return(true)
63
- @provider.should_receive(:run_command).with({ :command => "pw groupmod wheel -g '42' -d root,aj" }).and_return(true)
62
+ expect(@provider).to receive(:run_command).with({ :command => "pw groupmod wheel -g '42' -m someone" }).and_return(true)
63
+ expect(@provider).to receive(:run_command).with({ :command => "pw groupmod wheel -g '42' -d root,aj" }).and_return(true)
64
64
  @provider.manage_group
65
65
  end
66
66
 
@@ -68,7 +68,7 @@ describe Chef::Provider::Group::Pw do
68
68
 
69
69
  describe "when removing the group" do
70
70
  it "should run pw groupdel with the new resources group name" do
71
- @provider.should_receive(:run_command).with({ :command => "pw groupdel wheel" }).and_return(true)
71
+ expect(@provider).to receive(:run_command).with({ :command => "pw groupdel wheel" }).and_return(true)
72
72
  @provider.remove_group
73
73
  end
74
74
  end
@@ -77,44 +77,44 @@ describe Chef::Provider::Group::Pw do
77
77
 
78
78
  describe "with an empty members array in both the new and current resource" do
79
79
  before do
80
- @new_resource.stub(:members).and_return([])
81
- @current_resource.stub(:members).and_return([])
80
+ allow(@new_resource).to receive(:members).and_return([])
81
+ allow(@current_resource).to receive(:members).and_return([])
82
82
  end
83
83
 
84
84
  it "should set no options" do
85
- @provider.set_members_options.should eql([ ])
85
+ expect(@provider.set_members_options).to eql([ ])
86
86
  end
87
87
  end
88
88
 
89
89
  describe "with an empty members array in the new resource and existing members in the current resource" do
90
90
  before do
91
- @new_resource.stub(:members).and_return([])
92
- @current_resource.stub(:members).and_return(["all", "your", "base"])
91
+ allow(@new_resource).to receive(:members).and_return([])
92
+ allow(@current_resource).to receive(:members).and_return(["all", "your", "base"])
93
93
  end
94
94
 
95
95
  it "should log an appropriate message" do
96
- Chef::Log.should_receive(:debug).with("group[wheel] removing group members: all,your,base")
96
+ expect(Chef::Log).to receive(:debug).with("group[wheel] removing group members: all,your,base")
97
97
  @provider.set_members_options
98
98
  end
99
99
 
100
100
  it "should set the -d option with the members joined by ','" do
101
- @provider.set_members_options.should eql([ " -d all,your,base" ])
101
+ expect(@provider.set_members_options).to eql([ " -d all,your,base" ])
102
102
  end
103
103
  end
104
104
 
105
105
  describe "with supplied members array in the new resource and an empty members array in the current resource" do
106
106
  before do
107
- @new_resource.stub(:members).and_return(["all", "your", "base"])
108
- @current_resource.stub(:members).and_return([])
107
+ allow(@new_resource).to receive(:members).and_return(["all", "your", "base"])
108
+ allow(@current_resource).to receive(:members).and_return([])
109
109
  end
110
110
 
111
111
  it "should log an appropriate debug message" do
112
- Chef::Log.should_receive(:debug).with("group[wheel] adding group members: all,your,base")
112
+ expect(Chef::Log).to receive(:debug).with("group[wheel] adding group members: all,your,base")
113
113
  @provider.set_members_options
114
114
  end
115
115
 
116
116
  it "should set the -m option with the members joined by ','" do
117
- @provider.set_members_options.should eql([ " -m all,your,base" ])
117
+ expect(@provider.set_members_options).to eql([ " -m all,your,base" ])
118
118
  end
119
119
  end
120
120
  end
@@ -126,13 +126,13 @@ describe Chef::Provider::Group::Pw do
126
126
  @provider.define_resource_requirements
127
127
  end
128
128
  it "should raise an error if the required binary /usr/sbin/pw doesn't exist" do
129
- File.should_receive(:exists?).with("/usr/sbin/pw").and_return(false)
130
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Group)
129
+ expect(File).to receive(:exists?).with("/usr/sbin/pw").and_return(false)
130
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Group)
131
131
  end
132
132
 
133
133
  it "shouldn't raise an error if /usr/sbin/pw exists" do
134
- File.stub(:exists?).and_return(true)
135
- lambda { @provider.process_resource_requirements }.should_not raise_error
134
+ allow(File).to receive(:exists?).and_return(true)
135
+ expect { @provider.process_resource_requirements }.not_to raise_error
136
136
  end
137
137
  end
138
138
  end
@@ -27,19 +27,19 @@ describe Chef::Provider::Group::Usermod do
27
27
  @new_resource.members [ "all", "your", "base" ]
28
28
  @new_resource.excluded_members [ ]
29
29
  @provider = Chef::Provider::Group::Usermod.new(@new_resource, @run_context)
30
- @provider.stub(:run_command)
30
+ allow(@provider).to receive(:run_command)
31
31
  end
32
32
 
33
33
  describe "modify_group_members" do
34
34
 
35
35
  describe "with an empty members array" do
36
36
  before do
37
- @new_resource.stub(:append).and_return(true)
38
- @new_resource.stub(:members).and_return([])
37
+ allow(@new_resource).to receive(:append).and_return(true)
38
+ allow(@new_resource).to receive(:members).and_return([])
39
39
  end
40
40
 
41
41
  it "should log an appropriate message" do
42
- @provider.should_not_receive(:shell_out!)
42
+ expect(@provider).not_to receive(:shell_out!)
43
43
  @provider.modify_group_members
44
44
  end
45
45
  end
@@ -56,8 +56,8 @@ describe Chef::Provider::Group::Usermod do
56
56
  }
57
57
 
58
58
  before do
59
- @new_resource.stub(:members).and_return(["all", "your", "base"])
60
- File.stub(:exists?).and_return(true)
59
+ allow(@new_resource).to receive(:members).and_return(["all", "your", "base"])
60
+ allow(File).to receive(:exists?).and_return(true)
61
61
  end
62
62
 
63
63
  it "should raise an error when setting the entire group directly" do
@@ -65,7 +65,7 @@ describe Chef::Provider::Group::Usermod do
65
65
  @provider.load_current_resource
66
66
  @provider.instance_variable_set("@group_exists", true)
67
67
  @provider.action = :modify
68
- lambda { @provider.run_action(@provider.process_resource_requirements) }.should raise_error(Chef::Exceptions::Group, "setting group members directly is not supported by #{@provider.to_s}, must set append true in group")
68
+ expect { @provider.run_action(@provider.process_resource_requirements) }.to raise_error(Chef::Exceptions::Group, "setting group members directly is not supported by #{@provider.to_s}, must set append true in group")
69
69
  end
70
70
 
71
71
  it "should raise an error when excluded_members are set" do
@@ -73,9 +73,9 @@ describe Chef::Provider::Group::Usermod do
73
73
  @provider.load_current_resource
74
74
  @provider.instance_variable_set("@group_exists", true)
75
75
  @provider.action = :modify
76
- @new_resource.stub(:append).and_return(true)
77
- @new_resource.stub(:excluded_members).and_return(["someone"])
78
- lambda { @provider.run_action(@provider.process_resource_requirements) }.should raise_error(Chef::Exceptions::Group, "excluded_members is not supported by #{@provider.to_s}")
76
+ allow(@new_resource).to receive(:append).and_return(true)
77
+ allow(@new_resource).to receive(:excluded_members).and_return(["someone"])
78
+ expect { @provider.run_action(@provider.process_resource_requirements) }.to raise_error(Chef::Exceptions::Group, "excluded_members is not supported by #{@provider.to_s}")
79
79
  end
80
80
 
81
81
  platforms.each do |platform, flags|
@@ -84,10 +84,10 @@ describe Chef::Provider::Group::Usermod do
84
84
  current_resource.members([ ])
85
85
  @provider.current_resource = current_resource
86
86
  @node.automatic_attrs[:platform] = platform
87
- @new_resource.stub(:append).and_return(true)
88
- @provider.should_receive(:shell_out!).with("usermod #{flags} wheel all")
89
- @provider.should_receive(:shell_out!).with("usermod #{flags} wheel your")
90
- @provider.should_receive(:shell_out!).with("usermod #{flags} wheel base")
87
+ allow(@new_resource).to receive(:append).and_return(true)
88
+ expect(@provider).to receive(:shell_out!).with("usermod #{flags} wheel all")
89
+ expect(@provider).to receive(:shell_out!).with("usermod #{flags} wheel your")
90
+ expect(@provider).to receive(:shell_out!).with("usermod #{flags} wheel base")
91
91
  @provider.modify_group_members
92
92
  end
93
93
  end
@@ -96,20 +96,20 @@ describe Chef::Provider::Group::Usermod do
96
96
 
97
97
  describe "when loading the current resource" do
98
98
  before(:each) do
99
- File.stub(:exists?).and_return(false)
99
+ allow(File).to receive(:exists?).and_return(false)
100
100
  @provider.action = :create
101
101
  @provider.define_resource_requirements
102
102
  end
103
103
 
104
104
  it "should raise an error if the required binary /usr/sbin/usermod doesn't exist" do
105
- File.stub(:exists?).and_return(true)
106
- File.should_receive(:exists?).with("/usr/sbin/usermod").and_return(false)
107
- lambda { @provider.process_resource_requirements }.should raise_error(Chef::Exceptions::Group)
105
+ allow(File).to receive(:exists?).and_return(true)
106
+ expect(File).to receive(:exists?).with("/usr/sbin/usermod").and_return(false)
107
+ expect { @provider.process_resource_requirements }.to raise_error(Chef::Exceptions::Group)
108
108
  end
109
109
 
110
110
  it "shouldn't raise an error if the required binaries exist" do
111
- File.stub(:exists?).and_return(true)
112
- lambda { @provider.process_resource_requirements }.should_not raise_error
111
+ allow(File).to receive(:exists?).and_return(true)
112
+ expect { @provider.process_resource_requirements }.not_to raise_error
113
113
  end
114
114
  end
115
115
  end
@@ -34,14 +34,14 @@ describe Chef::Provider::Group::Windows do
34
34
  @run_context = Chef::RunContext.new(@node, {}, @events)
35
35
  @new_resource = Chef::Resource::Group.new("staff")
36
36
  @net_group = double("Chef::Util::Windows::NetGroup")
37
- Chef::Util::Windows::NetGroup.stub(:new).and_return(@net_group)
37
+ allow(Chef::Util::Windows::NetGroup).to receive(:new).and_return(@net_group)
38
38
  @provider = Chef::Provider::Group::Windows.new(@new_resource, @run_context)
39
39
  end
40
40
 
41
41
  describe "when creating the group" do
42
42
  it "should call @net_group.local_add" do
43
- @net_group.should_receive(:local_set_members).with([])
44
- @net_group.should_receive(:local_add)
43
+ expect(@net_group).to receive(:local_set_members).with([])
44
+ expect(@net_group).to receive(:local_add)
45
45
  @provider.create_group
46
46
  end
47
47
  end
@@ -52,22 +52,22 @@ describe Chef::Provider::Group::Windows do
52
52
  @current_resource = Chef::Resource::Group.new("staff")
53
53
  @current_resource.members [ "all", "your", "base" ]
54
54
 
55
- Chef::Util::Windows::NetGroup.stub(:new).and_return(@net_group)
56
- @net_group.stub(:local_add_members)
57
- @net_group.stub(:local_set_members)
58
- @provider.stub(:local_group_name_to_sid)
55
+ allow(Chef::Util::Windows::NetGroup).to receive(:new).and_return(@net_group)
56
+ allow(@net_group).to receive(:local_add_members)
57
+ allow(@net_group).to receive(:local_set_members)
58
+ allow(@provider).to receive(:local_group_name_to_sid)
59
59
  @provider.current_resource = @current_resource
60
60
  end
61
61
 
62
62
  it "should call @net_group.local_set_members" do
63
- @new_resource.stub(:append).and_return(false)
64
- @net_group.should_receive(:local_set_members).with(@new_resource.members)
63
+ allow(@new_resource).to receive(:append).and_return(false)
64
+ expect(@net_group).to receive(:local_set_members).with(@new_resource.members)
65
65
  @provider.manage_group
66
66
  end
67
67
 
68
68
  it "should call @net_group.local_add_members" do
69
- @new_resource.stub(:append).and_return(true)
70
- @net_group.should_receive(:local_add_members).with(@new_resource.members)
69
+ allow(@new_resource).to receive(:append).and_return(true)
70
+ expect(@net_group).to receive(:local_add_members).with(@new_resource.members)
71
71
  @provider.manage_group
72
72
  end
73
73
 
@@ -75,12 +75,12 @@ describe Chef::Provider::Group::Windows do
75
75
 
76
76
  describe "remove_group" do
77
77
  before do
78
- Chef::Util::Windows::NetGroup.stub(:new).and_return(@net_group)
79
- @provider.stub(:run_command).and_return(true)
78
+ allow(Chef::Util::Windows::NetGroup).to receive(:new).and_return(@net_group)
79
+ allow(@provider).to receive(:run_command).and_return(true)
80
80
  end
81
81
 
82
82
  it "should call @net_group.local_delete" do
83
- @net_group.should_receive(:local_delete)
83
+ expect(@net_group).to receive(:local_delete)
84
84
  @provider.remove_group
85
85
  end
86
86
  end
@@ -95,7 +95,7 @@ describe Chef::Provider::Group::Windows, "NetGroup" do
95
95
  @new_resource.group_name "Remote Desktop Users"
96
96
  end
97
97
  it 'sets group_name correctly' do
98
- Chef::Util::Windows::NetGroup.should_receive(:new).with("Remote Desktop Users")
98
+ expect(Chef::Util::Windows::NetGroup).to receive(:new).with("Remote Desktop Users")
99
99
  Chef::Provider::Group::Windows.new(@new_resource, @run_context)
100
100
  end
101
101
  end
@@ -41,89 +41,89 @@ describe Chef::Provider::User do
41
41
  :gid => 20,
42
42
  :mem => [ "root", "aj" ]
43
43
  )
44
- Etc.stub(:getgrnam).with('wheel').and_return(@pw_group)
44
+ allow(Etc).to receive(:getgrnam).with('wheel').and_return(@pw_group)
45
45
  end
46
46
 
47
47
  it "assumes the group exists by default" do
48
- @provider.group_exists.should be_true
48
+ expect(@provider.group_exists).to be_true
49
49
  end
50
50
 
51
51
  describe "when establishing the current state of the group" do
52
52
 
53
53
  it "sets the group name of the current resource to the group name of the new resource" do
54
54
  @provider.load_current_resource
55
- @provider.current_resource.group_name.should == 'wheel'
55
+ expect(@provider.current_resource.group_name).to eq('wheel')
56
56
  end
57
57
 
58
58
  it "does not modify the desired gid if set" do
59
59
  @provider.load_current_resource
60
- @new_resource.gid.should == 500
60
+ expect(@new_resource.gid).to eq(500)
61
61
  end
62
62
 
63
63
  it "sets the desired gid to the current gid if none is set" do
64
64
  @new_resource.instance_variable_set(:@gid, nil)
65
65
  @provider.load_current_resource
66
- @new_resource.gid.should == 20
66
+ expect(@new_resource.gid).to eq(20)
67
67
  end
68
68
 
69
69
  it "looks up the group in /etc/group with getgrnam" do
70
- Etc.should_receive(:getgrnam).with(@new_resource.group_name).and_return(@pw_group)
70
+ expect(Etc).to receive(:getgrnam).with(@new_resource.group_name).and_return(@pw_group)
71
71
  @provider.load_current_resource
72
- @provider.current_resource.gid.should == 20
73
- @provider.current_resource.members.should == %w{root aj}
72
+ expect(@provider.current_resource.gid).to eq(20)
73
+ expect(@provider.current_resource.members).to eq(%w{root aj})
74
74
  end
75
75
 
76
76
  it "should flip the value of exists if it cannot be found in /etc/group" do
77
- Etc.stub(:getgrnam).and_raise(ArgumentError)
77
+ allow(Etc).to receive(:getgrnam).and_raise(ArgumentError)
78
78
  @provider.load_current_resource
79
- @provider.group_exists.should be_false
79
+ expect(@provider.group_exists).to be_false
80
80
  end
81
81
 
82
82
  it "should return the current resource" do
83
- @provider.load_current_resource.should equal(@provider.current_resource)
83
+ expect(@provider.load_current_resource).to equal(@provider.current_resource)
84
84
  end
85
85
  end
86
86
 
87
87
  describe "when determining if the system is already in the target state" do
88
88
  [ :gid, :members ].each do |attribute|
89
89
  it "should return true if #{attribute} doesn't match" do
90
- @current_resource.stub(attribute).and_return("looooooooooooooooooool")
91
- @provider.compare_group.should be_true
90
+ allow(@current_resource).to receive(attribute).and_return("looooooooooooooooooool")
91
+ expect(@provider.compare_group).to be_true
92
92
  end
93
93
  end
94
94
 
95
95
  it "should return false if gid and members are equal" do
96
- @provider.compare_group.should be_false
96
+ expect(@provider.compare_group).to be_false
97
97
  end
98
98
 
99
99
  it "should coerce an integer to a string for comparison" do
100
- @current_resource.stub(:gid).and_return("500")
101
- @provider.compare_group.should be_false
100
+ allow(@current_resource).to receive(:gid).and_return("500")
101
+ expect(@provider.compare_group).to be_false
102
102
  end
103
103
 
104
104
  it "should return false if append is true and the group member(s) already exists" do
105
105
  @current_resource.members << "extra_user"
106
- @new_resource.stub(:append).and_return(true)
107
- @provider.compare_group.should be_false
106
+ allow(@new_resource).to receive(:append).and_return(true)
107
+ expect(@provider.compare_group).to be_false
108
108
  end
109
109
 
110
110
  it "should return true if append is true and the group member(s) do not already exist" do
111
111
  @new_resource.members << "extra_user"
112
- @new_resource.stub(:append).and_return(true)
113
- @provider.compare_group.should be_true
112
+ allow(@new_resource).to receive(:append).and_return(true)
113
+ expect(@provider.compare_group).to be_true
114
114
  end
115
115
 
116
116
  it "should return false if append is true and excluded_members include a non existing member" do
117
117
  @new_resource.excluded_members << "extra_user"
118
- @new_resource.stub(:append).and_return(true)
119
- @provider.compare_group.should be_false
118
+ allow(@new_resource).to receive(:append).and_return(true)
119
+ expect(@provider.compare_group).to be_false
120
120
  end
121
121
 
122
122
  it "should return true if the append is true and excluded_members include an existing user" do
123
123
  @new_resource.members.each {|m| @new_resource.excluded_members << m }
124
124
  @new_resource.members.clear
125
- @new_resource.stub(:append).and_return(true)
126
- @provider.compare_group.should be_true
125
+ allow(@new_resource).to receive(:append).and_return(true)
126
+ expect(@provider.compare_group).to be_true
127
127
  end
128
128
 
129
129
  end
@@ -131,40 +131,40 @@ describe Chef::Provider::User do
131
131
  describe "when creating a group" do
132
132
  it "should call create_group if the group does not exist" do
133
133
  @provider.group_exists = false
134
- @provider.should_receive(:create_group).and_return(true)
134
+ expect(@provider).to receive(:create_group).and_return(true)
135
135
  @provider.run_action(:create)
136
136
  end
137
137
 
138
138
  it "should set the new_resources updated flag when it creates the group" do
139
139
  @provider.group_exists = false
140
- @provider.stub(:create_group)
140
+ allow(@provider).to receive(:create_group)
141
141
  @provider.run_action(:create)
142
- @provider.new_resource.should be_updated
142
+ expect(@provider.new_resource).to be_updated
143
143
  end
144
144
 
145
145
  it "should check to see if the group has mismatched attributes if the group exists" do
146
146
  @provider.group_exists = true
147
- @provider.stub(:compare_group).and_return(false)
148
- @provider.stub(:change_desc).and_return([ ])
147
+ allow(@provider).to receive(:compare_group).and_return(false)
148
+ allow(@provider).to receive(:change_desc).and_return([ ])
149
149
  @provider.run_action(:create)
150
- @provider.new_resource.should_not be_updated
150
+ expect(@provider.new_resource).not_to be_updated
151
151
  end
152
152
 
153
153
  it "should call manage_group if the group exists and has mismatched attributes" do
154
154
  @provider.group_exists = true
155
- @provider.stub(:compare_group).and_return(true)
156
- @provider.stub(:change_desc).and_return([ ])
157
- @provider.should_receive(:manage_group).and_return(true)
155
+ allow(@provider).to receive(:compare_group).and_return(true)
156
+ allow(@provider).to receive(:change_desc).and_return([ ])
157
+ expect(@provider).to receive(:manage_group).and_return(true)
158
158
  @provider.run_action(:create)
159
159
  end
160
160
 
161
161
  it "should set the new_resources updated flag when it creates the group if we call manage_group" do
162
162
  @provider.group_exists = true
163
- @provider.stub(:compare_group).and_return(true)
164
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
165
- @provider.stub(:manage_group).and_return(true)
163
+ allow(@provider).to receive(:compare_group).and_return(true)
164
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
165
+ allow(@provider).to receive(:manage_group).and_return(true)
166
166
  @provider.run_action(:create)
167
- @new_resource.should be_updated
167
+ expect(@new_resource).to be_updated
168
168
  end
169
169
  end
170
170
 
@@ -172,50 +172,50 @@ describe Chef::Provider::User do
172
172
 
173
173
  it "should not call remove_group if the group does not exist" do
174
174
  @provider.group_exists = false
175
- @provider.should_not_receive(:remove_group)
175
+ expect(@provider).not_to receive(:remove_group)
176
176
  @provider.run_action(:remove)
177
- @provider.new_resource.should_not be_updated
177
+ expect(@provider.new_resource).not_to be_updated
178
178
  end
179
179
 
180
180
  it "should call remove_group if the group exists" do
181
181
  @provider.group_exists = true
182
- @provider.should_receive(:remove_group)
182
+ expect(@provider).to receive(:remove_group)
183
183
  @provider.run_action(:remove)
184
- @provider.new_resource.should be_updated
184
+ expect(@provider.new_resource).to be_updated
185
185
  end
186
186
  end
187
187
 
188
188
  describe "when updating a group" do
189
189
  before(:each) do
190
190
  @provider.group_exists = true
191
- @provider.stub(:manage_group).and_return(true)
191
+ allow(@provider).to receive(:manage_group).and_return(true)
192
192
  end
193
193
 
194
194
  it "should run manage_group if the group exists and has mismatched attributes" do
195
- @provider.should_receive(:compare_group).and_return(true)
196
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
197
- @provider.should_receive(:manage_group).and_return(true)
195
+ expect(@provider).to receive(:compare_group).and_return(true)
196
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
197
+ expect(@provider).to receive(:manage_group).and_return(true)
198
198
  @provider.run_action(:manage)
199
199
  end
200
200
 
201
201
  it "should set the new resources updated flag to true if manage_group is called" do
202
- @provider.stub(:compare_group).and_return(true)
203
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
204
- @provider.stub(:manage_group).and_return(true)
202
+ allow(@provider).to receive(:compare_group).and_return(true)
203
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
204
+ allow(@provider).to receive(:manage_group).and_return(true)
205
205
  @provider.run_action(:manage)
206
- @new_resource.should be_updated
206
+ expect(@new_resource).to be_updated
207
207
  end
208
208
 
209
209
  it "should not run manage_group if the group does not exist" do
210
210
  @provider.group_exists = false
211
- @provider.should_not_receive(:manage_group)
211
+ expect(@provider).not_to receive(:manage_group)
212
212
  @provider.run_action(:manage)
213
213
  end
214
214
 
215
215
  it "should not run manage_group if the group exists but has no differing attributes" do
216
- @provider.should_receive(:compare_group).and_return(false)
217
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
218
- @provider.should_not_receive(:manage_group)
216
+ expect(@provider).to receive(:compare_group).and_return(false)
217
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
218
+ expect(@provider).not_to receive(:manage_group)
219
219
  @provider.run_action(:manage)
220
220
  end
221
221
  end
@@ -223,34 +223,34 @@ describe Chef::Provider::User do
223
223
  describe "when modifying the group" do
224
224
  before(:each) do
225
225
  @provider.group_exists = true
226
- @provider.stub(:manage_group).and_return(true)
226
+ allow(@provider).to receive(:manage_group).and_return(true)
227
227
  end
228
228
 
229
229
  it "should run manage_group if the group exists and has mismatched attributes" do
230
- @provider.should_receive(:compare_group).and_return(true)
231
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
232
- @provider.should_receive(:manage_group).and_return(true)
230
+ expect(@provider).to receive(:compare_group).and_return(true)
231
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
232
+ expect(@provider).to receive(:manage_group).and_return(true)
233
233
  @provider.run_action(:modify)
234
234
  end
235
235
 
236
236
  it "should set the new resources updated flag to true if manage_group is called" do
237
- @provider.stub(:compare_group).and_return(true)
238
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
239
- @provider.stub(:manage_group).and_return(true)
237
+ allow(@provider).to receive(:compare_group).and_return(true)
238
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
239
+ allow(@provider).to receive(:manage_group).and_return(true)
240
240
  @provider.run_action(:modify)
241
- @new_resource.should be_updated
241
+ expect(@new_resource).to be_updated
242
242
  end
243
243
 
244
244
  it "should not run manage_group if the group exists but has no differing attributes" do
245
- @provider.should_receive(:compare_group).and_return(false)
246
- @provider.stub(:change_desc).and_return(["Some changes are going to be done."])
247
- @provider.should_not_receive(:manage_group)
245
+ expect(@provider).to receive(:compare_group).and_return(false)
246
+ allow(@provider).to receive(:change_desc).and_return(["Some changes are going to be done."])
247
+ expect(@provider).not_to receive(:manage_group)
248
248
  @provider.run_action(:modify)
249
249
  end
250
250
 
251
251
  it "should raise a Chef::Exceptions::Group if the group doesn't exist" do
252
252
  @provider.group_exists = false
253
- lambda { @provider.run_action(:modify) }.should raise_error(Chef::Exceptions::Group)
253
+ expect { @provider.run_action(:modify) }.to raise_error(Chef::Exceptions::Group)
254
254
  end
255
255
  end
256
256
 
@@ -258,28 +258,28 @@ describe Chef::Provider::User do
258
258
  it "should report which group members are missing if members are missing and appending to the group" do
259
259
  @new_resource.members << "user1"
260
260
  @new_resource.members << "user2"
261
- @new_resource.stub(:append).and_return true
262
- @provider.compare_group.should be_true
263
- @provider.change_desc.should == [ "add missing member(s): user1, user2" ]
261
+ allow(@new_resource).to receive(:append).and_return true
262
+ expect(@provider.compare_group).to be_true
263
+ expect(@provider.change_desc).to eq([ "add missing member(s): user1, user2" ])
264
264
  end
265
265
 
266
266
  it "should report that the group members will be overwritten if not appending" do
267
267
  @new_resource.members << "user1"
268
- @new_resource.stub(:append).and_return false
269
- @provider.compare_group.should be_true
270
- @provider.change_desc.should == [ "replace group members with new list of members" ]
268
+ allow(@new_resource).to receive(:append).and_return false
269
+ expect(@provider.compare_group).to be_true
270
+ expect(@provider.change_desc).to eq([ "replace group members with new list of members" ])
271
271
  end
272
272
 
273
273
  it "should report the gid will be changed when it does not match" do
274
- @current_resource.stub(:gid).and_return("BADF00D")
275
- @provider.compare_group.should be_true
276
- @provider.change_desc.should == [ "change gid #{@current_resource.gid} to #{@new_resource.gid}" ]
274
+ allow(@current_resource).to receive(:gid).and_return("BADF00D")
275
+ expect(@provider.compare_group).to be_true
276
+ expect(@provider.change_desc).to eq([ "change gid #{@current_resource.gid} to #{@new_resource.gid}" ])
277
277
 
278
278
  end
279
279
 
280
280
  it "should report no change reason when no change is required" do
281
- @provider.compare_group.should be_false
282
- @provider.change_desc.should == [ ]
281
+ expect(@provider.compare_group).to be_false
282
+ expect(@provider.change_desc).to eq([ ])
283
283
  end
284
284
  end
285
285