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
@@ -26,64 +26,64 @@ describe Chef::Resource::Route do
26
26
  end
27
27
 
28
28
  it "should create a new Chef::Resource::Route" do
29
- @resource.should be_a_kind_of(Chef::Resource)
30
- @resource.should be_a_kind_of(Chef::Resource::Route)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource)
30
+ expect(@resource).to be_a_kind_of(Chef::Resource::Route)
31
31
  end
32
32
 
33
33
  it "should have a name" do
34
- @resource.name.should eql("10.0.0.10")
34
+ expect(@resource.name).to eql("10.0.0.10")
35
35
  end
36
36
 
37
37
  it "should have a default action of 'add'" do
38
- @resource.action.should eql([:add])
38
+ expect(@resource.action).to eql([:add])
39
39
  end
40
40
 
41
41
  it "should accept add or delete for action" do
42
- lambda { @resource.action :add }.should_not raise_error
43
- lambda { @resource.action :delete }.should_not raise_error
44
- lambda { @resource.action :lolcat }.should raise_error(ArgumentError)
42
+ expect { @resource.action :add }.not_to raise_error
43
+ expect { @resource.action :delete }.not_to raise_error
44
+ expect { @resource.action :lolcat }.to raise_error(ArgumentError)
45
45
  end
46
46
 
47
47
  it "should use the object name as the target by default" do
48
- @resource.target.should eql("10.0.0.10")
48
+ expect(@resource.target).to eql("10.0.0.10")
49
49
  end
50
50
 
51
51
  it "should allow you to specify the netmask" do
52
52
  @resource.netmask "255.255.255.0"
53
- @resource.netmask.should eql("255.255.255.0")
53
+ expect(@resource.netmask).to eql("255.255.255.0")
54
54
  end
55
55
 
56
56
  it "should allow you to specify the gateway" do
57
57
  @resource.gateway "10.0.0.1"
58
- @resource.gateway.should eql("10.0.0.1")
58
+ expect(@resource.gateway).to eql("10.0.0.1")
59
59
  end
60
60
 
61
61
  it "should allow you to specify the metric" do
62
62
  @resource.metric 10
63
- @resource.metric.should eql(10)
63
+ expect(@resource.metric).to eql(10)
64
64
  end
65
65
 
66
66
  it "should allow you to specify the device" do
67
67
  @resource.device "eth0"
68
- @resource.device.should eql("eth0")
68
+ expect(@resource.device).to eql("eth0")
69
69
  end
70
70
 
71
71
  it "should allow you to specify the route type" do
72
72
  @resource.route_type "host"
73
- @resource.route_type.should eql(:host)
73
+ expect(@resource.route_type).to eql(:host)
74
74
  end
75
75
 
76
76
  it "should default to a host route type" do
77
- @resource.route_type.should eql(:host)
77
+ expect(@resource.route_type).to eql(:host)
78
78
  end
79
79
 
80
80
  it "should accept a net route type" do
81
81
  @resource.route_type :net
82
- @resource.route_type.should eql(:net)
82
+ expect(@resource.route_type).to eql(:net)
83
83
  end
84
84
 
85
85
  it "should reject any other route_type but :host and :net" do
86
- lambda { @resource.route_type "lolcat" }.should raise_error(ArgumentError)
86
+ expect { @resource.route_type "lolcat" }.to raise_error(ArgumentError)
87
87
  end
88
88
 
89
89
  describe "when it has netmask, gateway, and device" do
@@ -96,12 +96,12 @@ describe Chef::Resource::Route do
96
96
 
97
97
  it "describes its state" do
98
98
  state = @resource.state
99
- state[:netmask].should == "lemask"
100
- state[:gateway].should == "111.111.111"
99
+ expect(state[:netmask]).to eq("lemask")
100
+ expect(state[:gateway]).to eq("111.111.111")
101
101
  end
102
102
 
103
103
  it "returns the target as its identity" do
104
- @resource.identity.should == "charmander"
104
+ expect(@resource.identity).to eq("charmander")
105
105
  end
106
106
  end
107
107
  end
@@ -17,22 +17,18 @@
17
17
  #
18
18
 
19
19
  require 'spec_helper'
20
+ require 'support/shared/unit/resource/static_provider_resolution'
20
21
 
21
22
  describe Chef::Resource::RpmPackage, "initialize" do
22
23
 
23
- before(:each) do
24
- @resource = Chef::Resource::RpmPackage.new("foo")
24
+ %w{linux aix}.each do |os|
25
+ static_provider_resolution(
26
+ resource: Chef::Resource::RpmPackage,
27
+ provider: Chef::Provider::Package::Rpm,
28
+ name: :rpm_package,
29
+ action: :install,
30
+ os: os
31
+ )
25
32
  end
26
33
 
27
- it "should return a Chef::Resource::RpmPackage" do
28
- @resource.should be_a_kind_of(Chef::Resource::RpmPackage)
29
- end
30
-
31
- it "should set the resource_name to :rpm_package" do
32
- @resource.resource_name.should eql(:rpm_package)
33
- end
34
-
35
- it "should set the provider to Chef::Provider::Package::Rpm" do
36
- @resource.provider.should eql(Chef::Provider::Package::Rpm)
37
- end
38
34
  end
@@ -26,27 +26,27 @@ describe Chef::Resource::RubyBlock do
26
26
  end
27
27
 
28
28
  it "should create a new Chef::Resource::RubyBlock" do
29
- @resource.should be_a_kind_of(Chef::Resource)
30
- @resource.should be_a_kind_of(Chef::Resource::RubyBlock)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource)
30
+ expect(@resource).to be_a_kind_of(Chef::Resource::RubyBlock)
31
31
  end
32
32
 
33
33
  it "should have a default action of 'create'" do
34
- @resource.action.should eql("run")
34
+ expect(@resource.action).to eql("run")
35
35
  end
36
36
 
37
37
  it "should have a resource name of :ruby_block" do
38
- @resource.resource_name.should eql(:ruby_block)
38
+ expect(@resource.resource_name).to eql(:ruby_block)
39
39
  end
40
40
 
41
41
  it "should accept a ruby block/proc/.. for the 'block' parameter" do
42
- @resource.block do
42
+ expect(@resource.block do
43
43
  "foo"
44
- end.call.should eql("foo")
44
+ end.call).to eql("foo")
45
45
  end
46
46
 
47
47
  it "allows the action to be 'create'" do
48
48
  @resource.action :create
49
- @resource.action.should == [:create]
49
+ expect(@resource.action).to eq([:create])
50
50
  end
51
51
 
52
52
  describe "when it has been initialized with block code" do
@@ -55,7 +55,7 @@ describe Chef::Resource::RubyBlock do
55
55
  end
56
56
 
57
57
  it "returns the block as its identity" do
58
- @resource.identity.should == "puts 'harrrr'"
58
+ expect(@resource.identity).to eq("puts 'harrrr'")
59
59
  end
60
60
  end
61
61
  end
@@ -25,16 +25,16 @@ describe Chef::Resource::Ruby do
25
25
  end
26
26
 
27
27
  it "should create a new Chef::Resource::Ruby" do
28
- @resource.should be_a_kind_of(Chef::Resource)
29
- @resource.should be_a_kind_of(Chef::Resource::Ruby)
28
+ expect(@resource).to be_a_kind_of(Chef::Resource)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource::Ruby)
30
30
  end
31
31
 
32
32
  it "should have a resource name of :ruby" do
33
- @resource.resource_name.should eql(:ruby)
33
+ expect(@resource.resource_name).to eql(:ruby)
34
34
  end
35
35
 
36
36
  it "should have an interpreter of ruby" do
37
- @resource.interpreter.should eql("ruby")
37
+ expect(@resource.interpreter).to eql("ruby")
38
38
  end
39
39
 
40
40
  end
@@ -26,141 +26,141 @@ describe Chef::Resource::Scm do
26
26
  end
27
27
 
28
28
  it "should be a SCM resource" do
29
- @resource.should be_a_kind_of(Chef::Resource::Scm)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource::Scm)
30
30
  end
31
31
 
32
32
  it "supports :checkout, :export, :sync, :diff, and :log actions" do
33
- @resource.allowed_actions.should include(:checkout)
34
- @resource.allowed_actions.should include(:export)
35
- @resource.allowed_actions.should include(:sync)
36
- @resource.allowed_actions.should include(:diff)
37
- @resource.allowed_actions.should include(:log)
33
+ expect(@resource.allowed_actions).to include(:checkout)
34
+ expect(@resource.allowed_actions).to include(:export)
35
+ expect(@resource.allowed_actions).to include(:sync)
36
+ expect(@resource.allowed_actions).to include(:diff)
37
+ expect(@resource.allowed_actions).to include(:log)
38
38
  end
39
39
 
40
40
  it "takes the destination path as a string" do
41
41
  @resource.destination "/path/to/deploy/dir"
42
- @resource.destination.should eql("/path/to/deploy/dir")
42
+ expect(@resource.destination).to eql("/path/to/deploy/dir")
43
43
  end
44
44
 
45
45
  it "takes a string for the repository URL" do
46
46
  @resource.repository "git://github.com/opscode/chef.git"
47
- @resource.repository.should eql("git://github.com/opscode/chef.git")
47
+ expect(@resource.repository).to eql("git://github.com/opscode/chef.git")
48
48
  end
49
49
 
50
50
  it "takes a string for the revision" do
51
51
  @resource.revision "abcdef"
52
- @resource.revision.should eql("abcdef")
52
+ expect(@resource.revision).to eql("abcdef")
53
53
  end
54
54
 
55
55
  it "defaults to the ``HEAD'' revision" do
56
- @resource.revision.should eql("HEAD")
56
+ expect(@resource.revision).to eql("HEAD")
57
57
  end
58
58
 
59
59
  it "takes a string for the user to run as" do
60
60
  @resource.user "dr_deploy"
61
- @resource.user.should eql("dr_deploy")
61
+ expect(@resource.user).to eql("dr_deploy")
62
62
  end
63
63
 
64
64
  it "also takes an integer for the user to run as" do
65
65
  @resource.user 0
66
- @resource.user.should eql(0)
66
+ expect(@resource.user).to eql(0)
67
67
  end
68
68
 
69
69
  it "takes a string for the group to run as, defaulting to nil" do
70
- @resource.group.should be_nil
70
+ expect(@resource.group).to be_nil
71
71
  @resource.group "opsdevs"
72
- @resource.group.should == "opsdevs"
72
+ expect(@resource.group).to eq("opsdevs")
73
73
  end
74
74
 
75
75
  it "also takes an integer for the group to run as" do
76
76
  @resource.group 23
77
- @resource.group.should == 23
77
+ expect(@resource.group).to eq(23)
78
78
  end
79
79
 
80
80
  it "has a svn_username String attribute" do
81
81
  @resource.svn_username "moartestsplz"
82
- @resource.svn_username.should eql("moartestsplz")
82
+ expect(@resource.svn_username).to eql("moartestsplz")
83
83
  end
84
84
 
85
85
  it "has a svn_password String attribute" do
86
86
  @resource.svn_password "taftplz"
87
- @resource.svn_password.should eql("taftplz")
87
+ expect(@resource.svn_password).to eql("taftplz")
88
88
  end
89
89
 
90
90
  it "has a svn_arguments String attribute" do
91
91
  @resource.svn_arguments "--more-taft plz"
92
- @resource.svn_arguments.should eql("--more-taft plz")
92
+ expect(@resource.svn_arguments).to eql("--more-taft plz")
93
93
  end
94
94
 
95
95
  it "has a svn_info_args String attribute" do
96
- @resource.svn_info_args.should be_nil
96
+ expect(@resource.svn_info_args).to be_nil
97
97
  @resource.svn_info_args("--no-moar-plaintext-creds yep")
98
- @resource.svn_info_args.should == "--no-moar-plaintext-creds yep"
98
+ expect(@resource.svn_info_args).to eq("--no-moar-plaintext-creds yep")
99
99
  end
100
100
 
101
101
  it "takes the depth as an integer for shallow clones" do
102
102
  @resource.depth 5
103
- @resource.depth.should == 5
104
- lambda {@resource.depth "five"}.should raise_error(ArgumentError)
103
+ expect(@resource.depth).to eq(5)
104
+ expect {@resource.depth "five"}.to raise_error(ArgumentError)
105
105
  end
106
106
 
107
107
  it "defaults to nil depth for a full clone" do
108
- @resource.depth.should be_nil
108
+ expect(@resource.depth).to be_nil
109
109
  end
110
110
 
111
111
  it "takes a boolean for #enable_submodules" do
112
112
  @resource.enable_submodules true
113
- @resource.enable_submodules.should be_true
114
- lambda {@resource.enable_submodules "lolz"}.should raise_error(ArgumentError)
113
+ expect(@resource.enable_submodules).to be_true
114
+ expect {@resource.enable_submodules "lolz"}.to raise_error(ArgumentError)
115
115
  end
116
116
 
117
117
  it "defaults to not enabling submodules" do
118
- @resource.enable_submodules.should be_false
118
+ expect(@resource.enable_submodules).to be_false
119
119
  end
120
120
 
121
121
  it "takes a boolean for #enable_checkout" do
122
122
  @resource.enable_checkout true
123
- @resource.enable_checkout.should be_true
124
- lambda {@resource.enable_checkout "lolz"}.should raise_error(ArgumentError)
123
+ expect(@resource.enable_checkout).to be_true
124
+ expect {@resource.enable_checkout "lolz"}.to raise_error(ArgumentError)
125
125
  end
126
126
 
127
127
  it "defaults to enabling checkout" do
128
- @resource.enable_checkout.should be_true
128
+ expect(@resource.enable_checkout).to be_true
129
129
  end
130
130
 
131
131
  it "takes a string for the remote" do
132
132
  @resource.remote "opscode"
133
- @resource.remote.should eql("opscode")
134
- lambda {@resource.remote 1337}.should raise_error(ArgumentError)
133
+ expect(@resource.remote).to eql("opscode")
134
+ expect {@resource.remote 1337}.to raise_error(ArgumentError)
135
135
  end
136
136
 
137
137
  it "defaults to ``origin'' for the remote" do
138
- @resource.remote.should == "origin"
138
+ expect(@resource.remote).to eq("origin")
139
139
  end
140
140
 
141
141
  it "takes a string for the ssh wrapper" do
142
142
  @resource.ssh_wrapper "with_ssh_fu"
143
- @resource.ssh_wrapper.should eql("with_ssh_fu")
143
+ expect(@resource.ssh_wrapper).to eql("with_ssh_fu")
144
144
  end
145
145
 
146
146
  it "defaults to nil for the ssh wrapper" do
147
- @resource.ssh_wrapper.should be_nil
147
+ expect(@resource.ssh_wrapper).to be_nil
148
148
  end
149
149
 
150
150
  it "defaults to nil for the environment" do
151
- @resource.environment.should be_nil
151
+ expect(@resource.environment).to be_nil
152
152
  end
153
153
 
154
154
  describe "when it has a timeout attribute" do
155
155
  let(:ten_seconds) { 10 }
156
156
  before { @resource.timeout(ten_seconds) }
157
157
  it "stores this timeout" do
158
- @resource.timeout.should == ten_seconds
158
+ expect(@resource.timeout).to eq(ten_seconds)
159
159
  end
160
160
  end
161
161
  describe "when it has no timeout attribute" do
162
162
  it "should have no default timeout" do
163
- @resource.timeout.should be_nil
163
+ expect(@resource.timeout).to be_nil
164
164
  end
165
165
  end
166
166
 
@@ -175,11 +175,11 @@ describe Chef::Resource::Scm do
175
175
 
176
176
  it "describes its state" do
177
177
  state = @resource.state
178
- state[:revision].should == "1.2.3"
178
+ expect(state[:revision]).to eq("1.2.3")
179
179
  end
180
180
 
181
181
  it "returns the destination as its identity" do
182
- @resource.identity.should == "hell"
182
+ expect(@resource.identity).to eq("hell")
183
183
  end
184
184
  end
185
185
 
@@ -187,7 +187,7 @@ describe Chef::Resource::Scm do
187
187
  let(:test_environment) { {'CHEF_ENV' => '/tmp' } }
188
188
  before { @resource.environment(test_environment) }
189
189
  it "stores this environment" do
190
- @resource.environment.should == test_environment
190
+ expect(@resource.environment).to eq(test_environment)
191
191
  end
192
192
  end
193
193
  end
@@ -26,7 +26,7 @@ describe Chef::Resource::Script do
26
26
 
27
27
  it "should accept a string for the interpreter" do
28
28
  script_resource.interpreter "naaaaNaNaNaaNaaNaaNaa"
29
- script_resource.interpreter.should eql("naaaaNaNaNaaNaaNaaNaa")
29
+ expect(script_resource.interpreter).to eql("naaaaNaNaNaaNaaNaaNaa")
30
30
  end
31
31
 
32
32
  describe "when it has interpreter and flags" do
@@ -37,7 +37,7 @@ describe Chef::Resource::Script do
37
37
  end
38
38
 
39
39
  it "returns the command as its identity" do
40
- script_resource.identity.should == "grep"
40
+ expect(script_resource.identity).to eq("grep")
41
41
  end
42
42
  end
43
43
 
@@ -26,145 +26,135 @@ describe Chef::Resource::Service do
26
26
  end
27
27
 
28
28
  it "should create a new Chef::Resource::Service" do
29
- @resource.should be_a_kind_of(Chef::Resource)
30
- @resource.should be_a_kind_of(Chef::Resource::Service)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource)
30
+ expect(@resource).to be_a_kind_of(Chef::Resource::Service)
31
31
  end
32
-
32
+
33
33
  it "should not set a provider unless node[:init_package] is defined as systemd" do
34
- @resource.provider.should == nil
35
- end
36
-
37
- it "should set the provider to Chef::Provider::Service::Systemd if node[:init_package] is systemd" do
38
- node = Chef::Node.new
39
- node.set[:init_package] = "systemd"
40
- cookbook_collection = Chef::CookbookCollection.new([])
41
- events = Chef::EventDispatch::Dispatcher.new
42
- run_context = Chef::RunContext.new(node, cookbook_collection, events)
43
- @resource = Chef::Resource::Service.new("chef", run_context)
44
- @resource.provider.should == Chef::Provider::Service::Systemd
34
+ expect(@resource.provider).to eq(nil)
45
35
  end
46
36
 
47
37
  it "should set the service_name to the first argument to new" do
48
- @resource.service_name.should eql("chef")
38
+ expect(@resource.service_name).to eql("chef")
49
39
  end
50
40
 
51
41
  it "should set the pattern to be the service name by default" do
52
- @resource.pattern.should eql("chef")
42
+ expect(@resource.pattern).to eql("chef")
53
43
  end
54
44
 
55
45
  it "should accept a string for the service name" do
56
46
  @resource.service_name "something"
57
- @resource.service_name.should eql("something")
47
+ expect(@resource.service_name).to eql("something")
58
48
  end
59
49
 
60
50
  it "should accept a string for the service pattern" do
61
51
  @resource.pattern ".*"
62
- @resource.pattern.should eql(".*")
52
+ expect(@resource.pattern).to eql(".*")
63
53
  end
64
54
 
65
55
  it "should not accept a regexp for the service pattern" do
66
- lambda {
56
+ expect {
67
57
  @resource.pattern /.*/
68
- }.should raise_error(ArgumentError)
58
+ }.to raise_error(ArgumentError)
69
59
  end
70
60
 
71
61
  it "should accept a string for the service start command" do
72
62
  @resource.start_command "/etc/init.d/chef start"
73
- @resource.start_command.should eql("/etc/init.d/chef start")
63
+ expect(@resource.start_command).to eql("/etc/init.d/chef start")
74
64
  end
75
65
 
76
66
  it "should not accept a regexp for the service start command" do
77
- lambda {
67
+ expect {
78
68
  @resource.start_command /.*/
79
- }.should raise_error(ArgumentError)
69
+ }.to raise_error(ArgumentError)
80
70
  end
81
71
 
82
72
  it "should accept a string for the service stop command" do
83
73
  @resource.stop_command "/etc/init.d/chef stop"
84
- @resource.stop_command.should eql("/etc/init.d/chef stop")
74
+ expect(@resource.stop_command).to eql("/etc/init.d/chef stop")
85
75
  end
86
76
 
87
77
  it "should not accept a regexp for the service stop command" do
88
- lambda {
78
+ expect {
89
79
  @resource.stop_command /.*/
90
- }.should raise_error(ArgumentError)
80
+ }.to raise_error(ArgumentError)
91
81
  end
92
82
 
93
83
  it "should accept a string for the service status command" do
94
84
  @resource.status_command "/etc/init.d/chef status"
95
- @resource.status_command.should eql("/etc/init.d/chef status")
85
+ expect(@resource.status_command).to eql("/etc/init.d/chef status")
96
86
  end
97
87
 
98
88
  it "should not accept a regexp for the service status command" do
99
- lambda {
89
+ expect {
100
90
  @resource.status_command /.*/
101
- }.should raise_error(ArgumentError)
91
+ }.to raise_error(ArgumentError)
102
92
  end
103
93
 
104
94
  it "should accept a string for the service restart command" do
105
95
  @resource.restart_command "/etc/init.d/chef restart"
106
- @resource.restart_command.should eql("/etc/init.d/chef restart")
96
+ expect(@resource.restart_command).to eql("/etc/init.d/chef restart")
107
97
  end
108
98
 
109
99
  it "should not accept a regexp for the service restart command" do
110
- lambda {
100
+ expect {
111
101
  @resource.restart_command /.*/
112
- }.should raise_error(ArgumentError)
102
+ }.to raise_error(ArgumentError)
113
103
  end
114
104
 
115
105
  it "should accept a string for the service reload command" do
116
106
  @resource.reload_command "/etc/init.d/chef reload"
117
- @resource.reload_command.should eql("/etc/init.d/chef reload")
107
+ expect(@resource.reload_command).to eql("/etc/init.d/chef reload")
118
108
  end
119
109
 
120
110
  it "should not accept a regexp for the service reload command" do
121
- lambda {
111
+ expect {
122
112
  @resource.reload_command /.*/
123
- }.should raise_error(ArgumentError)
113
+ }.to raise_error(ArgumentError)
124
114
  end
125
115
 
126
116
  it "should accept a string for the service init command" do
127
117
  @resource.init_command "/etc/init.d/chef"
128
- @resource.init_command.should eql("/etc/init.d/chef")
118
+ expect(@resource.init_command).to eql("/etc/init.d/chef")
129
119
  end
130
120
 
131
121
  it "should not accept a regexp for the service init command" do
132
- lambda {
122
+ expect {
133
123
  @resource.init_command /.*/
134
- }.should raise_error(ArgumentError)
124
+ }.to raise_error(ArgumentError)
135
125
  end
136
126
 
137
127
  %w{enabled running}.each do |attrib|
138
128
  it "should accept true for #{attrib}" do
139
129
  @resource.send(attrib, true)
140
- @resource.send(attrib).should eql(true)
130
+ expect(@resource.send(attrib)).to eql(true)
141
131
  end
142
132
 
143
133
  it "should accept false for #{attrib}" do
144
134
  @resource.send(attrib, false)
145
- @resource.send(attrib).should eql(false)
135
+ expect(@resource.send(attrib)).to eql(false)
146
136
  end
147
137
 
148
138
  it "should not accept a string for #{attrib}" do
149
- lambda { @resource.send(attrib, "poop") }.should raise_error(ArgumentError)
139
+ expect { @resource.send(attrib, "poop") }.to raise_error(ArgumentError)
150
140
  end
151
141
 
152
142
  it "should default all the feature support to false" do
153
143
  support_hash = { :status => false, :restart => false, :reload=> false }
154
- @resource.supports.should == support_hash
144
+ expect(@resource.supports).to eq(support_hash)
155
145
  end
156
146
 
157
147
  it "should allow you to set what features this resource supports as a array" do
158
148
  support_array = [ :status, :restart ]
159
149
  support_hash = { :status => true, :restart => true, :reload => false }
160
150
  @resource.supports(support_array)
161
- @resource.supports.should == support_hash
151
+ expect(@resource.supports).to eq(support_hash)
162
152
  end
163
153
 
164
154
  it "should allow you to set what features this resource supports as a hash" do
165
155
  support_hash = { :status => true, :restart => true, :reload => false }
166
156
  @resource.supports(support_hash)
167
- @resource.supports.should == support_hash
157
+ expect(@resource.supports).to eq(support_hash)
168
158
  end
169
159
  end
170
160
 
@@ -177,12 +167,12 @@ describe Chef::Resource::Service do
177
167
 
178
168
  it "describes its state" do
179
169
  state = @resource.state
180
- state[:enabled].should eql(true)
181
- state[:running].should eql(false)
170
+ expect(state[:enabled]).to eql(true)
171
+ expect(state[:running]).to eql(false)
182
172
  end
183
173
 
184
174
  it "returns the service name as its identity" do
185
- @resource.identity.should == "superfriend"
175
+ expect(@resource.identity).to eq("superfriend")
186
176
  end
187
177
  end
188
178