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
@@ -16,23 +16,18 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
- require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "spec_helper"))
19
+ require 'spec_helper'
20
+ require 'support/shared/unit/resource/static_provider_resolution'
20
21
 
21
22
  describe Chef::Resource::SmartosPackage, "initialize" do
22
23
 
23
- before(:each) do
24
- @resource = Chef::Resource::SmartosPackage.new("foo")
25
- end
24
+ static_provider_resolution(
25
+ resource: Chef::Resource::SmartosPackage,
26
+ provider: Chef::Provider::Package::SmartOS,
27
+ name: :smartos_package,
28
+ action: :install,
29
+ os: "solaris2",
30
+ platform_family: "smartos",
31
+ )
26
32
 
27
- it "should return a Chef::Resource::SmartosPackage" do
28
- @resource.should be_a_kind_of(Chef::Resource::SmartosPackage)
29
- end
30
-
31
- it "should set the resource_name to :smartos_package" do
32
- @resource.resource_name.should eql(:smartos_package)
33
- end
34
-
35
- it "should set the provider to Chef::Provider::Package::SmartOS" do
36
- @resource.provider.should eql(Chef::Provider::Package::SmartOS)
37
- end
38
33
  end
@@ -17,41 +17,26 @@
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::SolarisPackage, "initialize" do
22
23
 
23
- before(:each) do
24
- @resource = Chef::Resource::SolarisPackage.new("foo")
25
- end
26
-
27
- it "should return a Chef::Resource::SolarisPackage object" do
28
- @resource.should be_a_kind_of(Chef::Resource::SolarisPackage)
24
+ %w{solaris2 nexentacore}.each do |platform_family|
25
+ static_provider_resolution(
26
+ resource: Chef::Resource::SolarisPackage,
27
+ provider: Chef::Provider::Package::Solaris,
28
+ name: :solaris_package,
29
+ action: :install,
30
+ os: "solaris2",
31
+ platform_family: platform_family,
32
+ )
29
33
  end
30
34
 
31
- it "should not raise any Error when valid number of arguments are provided" do
32
- expect { Chef::Resource::SolarisPackage.new("foo") }.to_not raise_error
33
- end
34
-
35
- it "should raise ArgumentError when incorrect number of arguments are provided" do
36
- expect { Chef::Resource::SolarisPackage.new }.to raise_error(ArgumentError)
35
+ before(:each) do
36
+ @resource = Chef::Resource::SolarisPackage.new("foo")
37
37
  end
38
38
 
39
39
  it "should set the package_name to the name provided" do
40
- @resource.package_name.should eql("foo")
41
- end
42
-
43
- it "should set the resource_name to :solaris_package" do
44
- @resource.resource_name.should eql(:solaris_package)
45
- end
46
-
47
- it "should set the run_context to the run_context provided" do
48
- @run_context = double()
49
- @run_context.stub(:node)
50
- resource = Chef::Resource::SolarisPackage.new("foo", @run_context)
51
- resource.run_context.should eql(@run_context)
52
- end
53
-
54
- it "should set the provider to Chef::Provider::Package::Solaris" do
55
- @resource.provider.should eql(Chef::Provider::Package::Solaris)
40
+ expect(@resource.package_name).to eql("foo")
56
41
  end
57
42
  end
@@ -17,47 +17,51 @@
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::Subversion do
22
23
 
24
+ static_provider_resolution(
25
+ resource: Chef::Resource::Subversion,
26
+ provider: Chef::Provider::Subversion,
27
+ name: :subversion,
28
+ action: :install,
29
+ )
30
+
23
31
  before do
24
32
  @svn = Chef::Resource::Subversion.new("ohai, svn project!")
25
33
  end
26
34
 
27
35
  it "is a subclass of Resource::Scm" do
28
- @svn.should be_an_instance_of(Chef::Resource::Subversion)
29
- @svn.should be_a_kind_of(Chef::Resource::Scm)
30
- end
31
-
32
- it "uses the subversion provider" do
33
- @svn.provider.should eql(Chef::Provider::Subversion)
36
+ expect(@svn).to be_an_instance_of(Chef::Resource::Subversion)
37
+ expect(@svn).to be_a_kind_of(Chef::Resource::Scm)
34
38
  end
35
39
 
36
40
  it "allows the force_export action" do
37
- @svn.allowed_actions.should include(:force_export)
41
+ expect(@svn.allowed_actions).to include(:force_export)
38
42
  end
39
43
 
40
44
  it "sets svn info arguments to --no-auth-cache by default" do
41
- @svn.svn_info_args.should == '--no-auth-cache'
45
+ expect(@svn.svn_info_args).to eq('--no-auth-cache')
42
46
  end
43
47
 
44
48
  it "resets svn info arguments to nil when given false in the setter" do
45
49
  @svn.svn_info_args(false)
46
- @svn.svn_info_args.should be_nil
50
+ expect(@svn.svn_info_args).to be_nil
47
51
  end
48
52
 
49
53
  it "sets svn arguments to --no-auth-cache by default" do
50
- @svn.svn_arguments.should == '--no-auth-cache'
54
+ expect(@svn.svn_arguments).to eq('--no-auth-cache')
51
55
  end
52
56
 
53
57
  it "resets svn arguments to nil when given false in the setter" do
54
58
  @svn.svn_arguments(false)
55
- @svn.svn_arguments.should be_nil
59
+ expect(@svn.svn_arguments).to be_nil
56
60
  end
57
61
 
58
62
  it "hides password from custom exception message" do
59
63
  @svn.svn_password "l33th4x0rpa$$w0rd"
60
64
  e = @svn.customize_exception(Chef::Exceptions::Exec.new "Exception with password #{@svn.svn_password}")
61
- e.message.include?(@svn.svn_password).should be_false
65
+ expect(e.message.include?(@svn.svn_password)).to be_false
62
66
  end
63
67
  end
@@ -26,54 +26,54 @@ describe Chef::Resource::Template do
26
26
 
27
27
  describe "initialize" do
28
28
  it "should create a new Chef::Resource::Template" do
29
- @resource.should be_a_kind_of(Chef::Resource)
30
- @resource.should be_a_kind_of(Chef::Resource::File)
31
- @resource.should be_a_kind_of(Chef::Resource::Template)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource)
30
+ expect(@resource).to be_a_kind_of(Chef::Resource::File)
31
+ expect(@resource).to be_a_kind_of(Chef::Resource::Template)
32
32
  end
33
33
  end
34
34
 
35
35
  describe "source" do
36
36
  it "should accept a string for the template source" do
37
37
  @resource.source "something"
38
- @resource.source.should eql("something")
38
+ expect(@resource.source).to eql("something")
39
39
  end
40
40
 
41
41
  it "should have a default based on the param name with .erb appended" do
42
- @resource.source.should eql("fakey_fakerton.erb")
42
+ expect(@resource.source).to eql("fakey_fakerton.erb")
43
43
  end
44
44
 
45
45
  it "should use only the basename of the file as the default" do
46
46
  r = Chef::Resource::Template.new("/tmp/obit/fakey_fakerton")
47
- r.source.should eql("fakey_fakerton.erb")
47
+ expect(r.source).to eql("fakey_fakerton.erb")
48
48
  end
49
49
  end
50
50
 
51
51
  describe "variables" do
52
52
  it "should accept a hash for the variable list" do
53
53
  @resource.variables({ :reluctance => :awkward })
54
- @resource.variables.should == { :reluctance => :awkward }
54
+ expect(@resource.variables).to eq({ :reluctance => :awkward })
55
55
  end
56
56
  end
57
57
 
58
58
  describe "cookbook" do
59
59
  it "should accept a string for the cookbook name" do
60
60
  @resource.cookbook("foo")
61
- @resource.cookbook.should == "foo"
61
+ expect(@resource.cookbook).to eq("foo")
62
62
  end
63
63
 
64
64
  it "should default to nil" do
65
- @resource.cookbook.should == nil
65
+ expect(@resource.cookbook).to eq(nil)
66
66
  end
67
67
  end
68
68
 
69
69
  describe "local" do
70
70
  it "should accept a boolean for whether a template is local or remote" do
71
71
  @resource.local(true)
72
- @resource.local.should == true
72
+ expect(@resource.local).to eq(true)
73
73
  end
74
74
 
75
75
  it "should default to false" do
76
- @resource.local.should == false
76
+ expect(@resource.local).to eq(false)
77
77
  end
78
78
  end
79
79
 
@@ -89,10 +89,10 @@ describe Chef::Resource::Template do
89
89
  context "on unix", :unix_only do
90
90
  it "describes its state" do
91
91
  state = @resource.state
92
- state[:owner].should == "root"
93
- state[:group].should == "wheel"
94
- state[:mode].should == "0644"
95
- state[:checksum].should == "1" * 64
92
+ expect(state[:owner]).to eq("root")
93
+ expect(state[:group]).to eq("wheel")
94
+ expect(state[:mode]).to eq("0644")
95
+ expect(state[:checksum]).to eq("1" * 64)
96
96
  end
97
97
  end
98
98
 
@@ -102,7 +102,7 @@ describe Chef::Resource::Template do
102
102
  end
103
103
 
104
104
  it "returns the file path as its identity" do
105
- @resource.identity.should == "/tmp/foo.txt"
105
+ expect(@resource.identity).to eq("/tmp/foo.txt")
106
106
  end
107
107
  end
108
108
 
@@ -117,19 +117,19 @@ describe Chef::Resource::Template do
117
117
  it "collects helper method bodies as blocks" do
118
118
  @resource.helper(:example_1) { "example_1" }
119
119
  @resource.helper(:example_2) { "example_2" }
120
- @resource.inline_helper_blocks[:example_1].call.should == "example_1"
121
- @resource.inline_helper_blocks[:example_2].call.should == "example_2"
120
+ expect(@resource.inline_helper_blocks[:example_1].call).to eq("example_1")
121
+ expect(@resource.inline_helper_blocks[:example_2].call).to eq("example_2")
122
122
  end
123
123
 
124
124
  it "compiles helper methods into a module" do
125
125
  @resource.helper(:example_1) { "example_1" }
126
126
  @resource.helper(:example_2) { "example_2" }
127
127
  modules = @resource.helper_modules
128
- modules.should have(1).module
128
+ expect(modules.size).to eq(1)
129
129
  o = Object.new
130
130
  modules.each {|m| o.extend(m)}
131
- o.example_1.should == "example_1"
132
- o.example_2.should == "example_2"
131
+ expect(o.example_1).to eq("example_1")
132
+ expect(o.example_2).to eq("example_2")
133
133
  end
134
134
 
135
135
  it "compiles helper methods with arguments into a module" do
@@ -137,15 +137,15 @@ describe Chef::Resource::Template do
137
137
  modules = @resource.helper_modules
138
138
  o = Object.new
139
139
  modules.each {|m| o.extend(m)}
140
- o.shout("shout").should == "SHOUT"
140
+ expect(o.shout("shout")).to eq("SHOUT")
141
141
  end
142
142
 
143
143
  it "raises an error when attempting to define a helper method without a method body" do
144
- lambda { @resource.helper(:example) }.should raise_error(Chef::Exceptions::ValidationFailed)
144
+ expect { @resource.helper(:example) }.to raise_error(Chef::Exceptions::ValidationFailed)
145
145
  end
146
146
 
147
147
  it "raises an error when attempting to define a helper method with a non-Symbod method name" do
148
- lambda { @resource.helper("example") { "fail" } }.should raise_error(Chef::Exceptions::ValidationFailed)
148
+ expect { @resource.helper("example") { "fail" } }.to raise_error(Chef::Exceptions::ValidationFailed)
149
149
  end
150
150
 
151
151
  it "collects helper module bodies as blocks" do
@@ -155,7 +155,7 @@ describe Chef::Resource::Template do
155
155
  end
156
156
  end
157
157
  module_body = @resource.inline_helper_modules.first
158
- module_body.should be_a(Proc)
158
+ expect(module_body).to be_a(Proc)
159
159
  end
160
160
 
161
161
  it "compiles helper module bodies into modules" do
@@ -165,27 +165,27 @@ describe Chef::Resource::Template do
165
165
  end
166
166
  end
167
167
  modules = @resource.helper_modules
168
- modules.should have(1).module
168
+ expect(modules.size).to eq(1)
169
169
  o = Object.new
170
170
  modules.each {|m| o.extend(m)}
171
- o.example_1.should == "example_1"
171
+ expect(o.example_1).to eq("example_1")
172
172
  end
173
173
 
174
174
  it "raises an error when no block or module name is given for helpers definition" do
175
- lambda { @resource.helpers() }.should raise_error(Chef::Exceptions::ValidationFailed)
175
+ expect { @resource.helpers() }.to raise_error(Chef::Exceptions::ValidationFailed)
176
176
  end
177
177
 
178
178
  it "raises an error when a non-module is given for helpers definition" do
179
- lambda { @resource.helpers("NotAModule") }.should raise_error(Chef::Exceptions::ValidationFailed)
179
+ expect { @resource.helpers("NotAModule") }.to raise_error(Chef::Exceptions::ValidationFailed)
180
180
  end
181
181
 
182
182
  it "raises an error when a module name and block are both given for helpers definition" do
183
- lambda { @resource.helpers(ExampleHelpers) { module_code } }.should raise_error(Chef::Exceptions::ValidationFailed)
183
+ expect { @resource.helpers(ExampleHelpers) { module_code } }.to raise_error(Chef::Exceptions::ValidationFailed)
184
184
  end
185
185
 
186
186
  it "collects helper modules" do
187
187
  @resource.helpers(ExampleHelpers)
188
- @resource.helper_modules.should include(ExampleHelpers)
188
+ expect(@resource.helper_modules).to include(ExampleHelpers)
189
189
  end
190
190
 
191
191
  it "combines all helpers into a set of compiled modules" do
@@ -196,13 +196,13 @@ describe Chef::Resource::Template do
196
196
  end
197
197
  end
198
198
  @resource.helper(:inline_method) { "inline_method" }
199
- @resource.should have(3).helper_modules
199
+ expect(@resource.helper_modules.size).to eq(3)
200
200
 
201
201
  o = Object.new
202
202
  @resource.helper_modules.each {|m| o.extend(m)}
203
- o.static_example.should == "static_example"
204
- o.inline_module.should == "inline_module"
205
- o.inline_method.should == "inline_method"
203
+ expect(o.static_example).to eq("static_example")
204
+ expect(o.inline_module).to eq("inline_module")
205
+ expect(o.inline_method).to eq("inline_method")
206
206
  end
207
207
 
208
208
 
@@ -18,11 +18,37 @@
18
18
 
19
19
  require 'spec_helper'
20
20
 
21
- describe Chef::Resource::TimestampedDeploy do
21
+ describe Chef::Resource::TimestampedDeploy, "initialize" do
22
22
 
23
- it "defaults to the TimestampedDeploy provider" do
24
- @resource = Chef::Resource::TimestampedDeploy.new("stuff")
25
- @resource.provider.should == Chef::Provider::Deploy::Timestamped
23
+ let(:node) {
24
+ node = Chef::Node.new
25
+ node.automatic_attrs[:os] = 'linux'
26
+ node.automatic_attrs[:platform_family] = 'rhel'
27
+ node
28
+ }
29
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
30
+ let(:provider_resolver) { Chef::ProviderResolver.new(node) }
31
+ let(:run_context) {
32
+ run_context = Chef::RunContext.new(node, {}, events)
33
+ run_context.provider_resolver = provider_resolver
34
+ run_context
35
+ }
36
+ let(:resource) { Chef::Resource::TimestampedDeploy.new("stuff", run_context) }
37
+
38
+ it "should return a Chef::Resource::TimestampedDeploy" do
39
+ expect(resource).to be_a_kind_of(Chef::Resource::TimestampedDeploy)
40
+ end
41
+
42
+ it "should set the resource_name to :timestamped_deploy" do
43
+ expect(resource.resource_name).to eql(:deploy)
26
44
  end
27
45
 
46
+ it "should leave the provider nil" do
47
+ expect(resource.provider).to eql(nil)
48
+ end
49
+
50
+ it "should resolve to a Chef::Provider::Deploy::Timestamped" do
51
+ expect(resource.provider_for_action(:install)).to be_a(Chef::Provider::Deploy::Timestamped)
52
+ end
28
53
  end
54
+
@@ -24,51 +24,51 @@ describe Chef::Resource::User, "initialize" do
24
24
  end
25
25
 
26
26
  it "should create a new Chef::Resource::User" do
27
- @resource.should be_a_kind_of(Chef::Resource)
28
- @resource.should be_a_kind_of(Chef::Resource::User)
27
+ expect(@resource).to be_a_kind_of(Chef::Resource)
28
+ expect(@resource).to be_a_kind_of(Chef::Resource::User)
29
29
  end
30
30
 
31
31
  it "should set the resource_name to :user" do
32
- @resource.resource_name.should eql(:user)
32
+ expect(@resource.resource_name).to eql(:user)
33
33
  end
34
34
 
35
35
  it "should set the username equal to the argument to initialize" do
36
- @resource.username.should eql("adam")
36
+ expect(@resource.username).to eql("adam")
37
37
  end
38
38
 
39
39
  %w{comment uid gid home shell password}.each do |attrib|
40
40
  it "should set #{attrib} to nil" do
41
- @resource.send(attrib).should eql(nil)
41
+ expect(@resource.send(attrib)).to eql(nil)
42
42
  end
43
43
  end
44
44
 
45
45
  it "should set action to :create" do
46
- @resource.action.should eql(:create)
46
+ expect(@resource.action).to eql(:create)
47
47
  end
48
48
 
49
49
  it "should set supports[:manage_home] to false" do
50
- @resource.supports[:manage_home].should eql(false)
50
+ expect(@resource.supports[:manage_home]).to eql(false)
51
51
  end
52
52
 
53
53
  it "should set supports[:non_unique] to false" do
54
- @resource.supports[:non_unique].should eql(false)
54
+ expect(@resource.supports[:non_unique]).to eql(false)
55
55
  end
56
56
 
57
57
  it "should set force to false" do
58
- @resource.force.should eql(false)
58
+ expect(@resource.force).to eql(false)
59
59
  end
60
60
 
61
61
  %w{create remove modify manage lock unlock}.each do |action|
62
62
  it "should allow action #{action}" do
63
- @resource.allowed_actions.detect { |a| a == action.to_sym }.should eql(action.to_sym)
63
+ expect(@resource.allowed_actions.detect { |a| a == action.to_sym }).to eql(action.to_sym)
64
64
  end
65
65
  end
66
66
 
67
67
  it "should accept domain users (@ or \ separator) on non-windows" do
68
- lambda { @resource.username "domain\@user" }.should_not raise_error
69
- @resource.username.should == "domain\@user"
70
- lambda { @resource.username "domain\\user" }.should_not raise_error
71
- @resource.username.should == "domain\\user"
68
+ expect { @resource.username "domain\@user" }.not_to raise_error
69
+ expect(@resource.username).to eq("domain\@user")
70
+ expect { @resource.username "domain\\user" }.not_to raise_error
71
+ expect(@resource.username).to eq("domain\\user")
72
72
  end
73
73
  end
74
74
 
@@ -80,11 +80,11 @@ end
80
80
 
81
81
  it "should allow a string" do
82
82
  @resource.send(attrib, "adam")
83
- @resource.send(attrib).should eql("adam")
83
+ expect(@resource.send(attrib)).to eql("adam")
84
84
  end
85
85
 
86
86
  it "should not allow a hash" do
87
- lambda { @resource.send(attrib, { :woot => "i found it" }) }.should raise_error(ArgumentError)
87
+ expect { @resource.send(attrib, { :woot => "i found it" }) }.to raise_error(ArgumentError)
88
88
  end
89
89
  end
90
90
  end
@@ -97,16 +97,16 @@ end
97
97
 
98
98
  it "should allow a string" do
99
99
  @resource.send(attrib, "100")
100
- @resource.send(attrib).should eql("100")
100
+ expect(@resource.send(attrib)).to eql("100")
101
101
  end
102
102
 
103
103
  it "should allow an integer" do
104
104
  @resource.send(attrib, 100)
105
- @resource.send(attrib).should eql(100)
105
+ expect(@resource.send(attrib)).to eql(100)
106
106
  end
107
107
 
108
108
  it "should not allow a hash" do
109
- lambda { @resource.send(attrib, { :woot => "i found it" }) }.should raise_error(ArgumentError)
109
+ expect { @resource.send(attrib, { :woot => "i found it" }) }.to raise_error(ArgumentError)
110
110
  end
111
111
  end
112
112
 
@@ -120,13 +120,13 @@ end
120
120
 
121
121
  it "describes its state" do
122
122
  state = @resource.state
123
- state[:uid].should == 123
124
- state[:gid].should == 456
125
- state[:home].should == "/usr/local/root/"
123
+ expect(state[:uid]).to eq(123)
124
+ expect(state[:gid]).to eq(456)
125
+ expect(state[:home]).to eq("/usr/local/root/")
126
126
  end
127
127
 
128
128
  it "returns the username as its identity" do
129
- @resource.identity.should == "root"
129
+ expect(@resource.identity).to eq("root")
130
130
  end
131
131
  end
132
132