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
@@ -24,33 +24,33 @@ describe Chef::Resource::RegistryKey, "initialize" do
24
24
  end
25
25
 
26
26
  it "should create a new Chef::Resource::RegistryKey" do
27
- @resource.should be_a_kind_of(Chef::Resource)
28
- @resource.should be_a_kind_of(Chef::Resource::RegistryKey)
27
+ expect(@resource).to be_a_kind_of(Chef::Resource)
28
+ expect(@resource).to be_a_kind_of(Chef::Resource::RegistryKey)
29
29
  end
30
30
 
31
31
  it "should set the resource_name to :registry_key" do
32
- @resource.resource_name.should eql(:registry_key)
32
+ expect(@resource.resource_name).to eql(:registry_key)
33
33
  end
34
34
 
35
35
  it "should set the key equal to the argument to initialize" do
36
- @resource.key.should eql('HKCU\Software\Raxicoricofallapatorius')
36
+ expect(@resource.key).to eql('HKCU\Software\Raxicoricofallapatorius')
37
37
  end
38
38
 
39
39
  it "should default recursive to false" do
40
- @resource.recursive.should eql(false)
40
+ expect(@resource.recursive).to eql(false)
41
41
  end
42
42
 
43
43
  it "should default architecture to :machine" do
44
- @resource.architecture.should eql(:machine)
44
+ expect(@resource.architecture).to eql(:machine)
45
45
  end
46
46
 
47
47
  it "should set action to :create" do
48
- @resource.action.should eql(:create)
48
+ expect(@resource.action).to eql(:create)
49
49
  end
50
50
 
51
51
  %w{create create_if_missing delete delete_key}.each do |action|
52
52
  it "should allow action #{action}" do
53
- @resource.allowed_actions.detect { |a| a == action.to_sym }.should eql(action.to_sym)
53
+ expect(@resource.allowed_actions.detect { |a| a == action.to_sym }).to eql(action.to_sym)
54
54
  end
55
55
  end
56
56
  end
@@ -62,15 +62,15 @@ describe Chef::Resource::RegistryKey, "key" do
62
62
 
63
63
  it "should allow a string" do
64
64
  @resource.key 'HKCU\Software\Poosh'
65
- @resource.key.should eql('HKCU\Software\Poosh')
65
+ expect(@resource.key).to eql('HKCU\Software\Poosh')
66
66
  end
67
67
 
68
68
  it "should not allow an integer" do
69
- lambda { @resource.send(:key, 100) }.should raise_error(ArgumentError)
69
+ expect { @resource.send(:key, 100) }.to raise_error(ArgumentError)
70
70
  end
71
71
 
72
72
  it "should not allow a hash" do
73
- lambda { @resource.send(:key, { :sonic => "screwdriver" }) }.should raise_error(ArgumentError)
73
+ expect { @resource.send(:key, { :sonic => "screwdriver" }) }.to raise_error(ArgumentError)
74
74
  end
75
75
  end
76
76
 
@@ -81,41 +81,41 @@ describe Chef::Resource::RegistryKey, "values" do
81
81
 
82
82
  it "should allow a single proper hash of registry values" do
83
83
  @resource.values( { :name => 'poosh', :type => :string, :data => 'carmen' } )
84
- @resource.values.should eql([ { :name => 'poosh', :type => :string, :data => 'carmen' } ])
84
+ expect(@resource.values).to eql([ { :name => 'poosh', :type => :string, :data => 'carmen' } ])
85
85
  end
86
86
 
87
87
  it "should allow an array of proper hashes of registry values" do
88
88
  @resource.values [ { :name => 'poosh', :type => :string, :data => 'carmen' } ]
89
- @resource.values.should eql([ { :name => 'poosh', :type => :string, :data => 'carmen' } ])
89
+ expect(@resource.values).to eql([ { :name => 'poosh', :type => :string, :data => 'carmen' } ])
90
90
  end
91
91
 
92
92
  it "should return checksummed data if the type is unsafe" do
93
93
  @resource.values( { :name => 'poosh', :type => :binary, :data => 255.chr * 1 })
94
- @resource.values.should eql([ { :name => 'poosh', :type => :binary, :data => "00594fd4f42ba43fc1ca0427a0576295" } ])
94
+ expect(@resource.values).to eql([ { :name => 'poosh', :type => :binary, :data => "00594fd4f42ba43fc1ca0427a0576295" } ])
95
95
  end
96
96
 
97
97
  it "should throw an exception if the name field is missing" do
98
- lambda { @resource.values [ { :type => :string, :data => 'carmen' } ] }.should raise_error(ArgumentError)
98
+ expect { @resource.values [ { :type => :string, :data => 'carmen' } ] }.to raise_error(ArgumentError)
99
99
  end
100
100
 
101
101
  it "should throw an exception if the type field is missing" do
102
- lambda { @resource.values [ { :name => 'poosh', :data => 'carmen' } ] }.should raise_error(ArgumentError)
102
+ expect { @resource.values [ { :name => 'poosh', :data => 'carmen' } ] }.to raise_error(ArgumentError)
103
103
  end
104
104
 
105
105
  it "should throw an exception if the data field is missing" do
106
- lambda { @resource.values [ { :name => 'poosh', :type => :string } ] }.should raise_error(ArgumentError)
106
+ expect { @resource.values [ { :name => 'poosh', :type => :string } ] }.to raise_error(ArgumentError)
107
107
  end
108
108
 
109
109
  it "should throw an exception if extra fields are present" do
110
- lambda { @resource.values [ { :name => 'poosh', :type => :string, :data => 'carmen', :screwdriver => 'sonic' } ] }.should raise_error(ArgumentError)
110
+ expect { @resource.values [ { :name => 'poosh', :type => :string, :data => 'carmen', :screwdriver => 'sonic' } ] }.to raise_error(ArgumentError)
111
111
  end
112
112
 
113
113
  it "should not allow a string" do
114
- lambda { @resource.send(:values, 'souffle') }.should raise_error(ArgumentError)
114
+ expect { @resource.send(:values, 'souffle') }.to raise_error(ArgumentError)
115
115
  end
116
116
 
117
117
  it "should not allow an integer" do
118
- lambda { @resource.send(:values, 100) }.should raise_error(ArgumentError)
118
+ expect { @resource.send(:values, 100) }.to raise_error(ArgumentError)
119
119
  end
120
120
  end
121
121
 
@@ -126,23 +126,23 @@ describe Chef::Resource::RegistryKey, "recursive" do
126
126
 
127
127
  it "should allow a boolean" do
128
128
  @resource.recursive(true)
129
- @resource.recursive.should eql(true)
129
+ expect(@resource.recursive).to eql(true)
130
130
  end
131
131
 
132
132
  it "should not allow a hash" do
133
- lambda { @resource.recursive({:sonic => :screwdriver}) }.should raise_error(ArgumentError)
133
+ expect { @resource.recursive({:sonic => :screwdriver}) }.to raise_error(ArgumentError)
134
134
  end
135
135
 
136
136
  it "should not allow an array" do
137
- lambda { @resource.recursive([:nose, :chin]) }.should raise_error(ArgumentError)
137
+ expect { @resource.recursive([:nose, :chin]) }.to raise_error(ArgumentError)
138
138
  end
139
139
 
140
140
  it "should not allow a string" do
141
- lambda { @resource.recursive('souffle') }.should raise_error(ArgumentError)
141
+ expect { @resource.recursive('souffle') }.to raise_error(ArgumentError)
142
142
  end
143
143
 
144
144
  it "should not allow an integer" do
145
- lambda { @resource.recursive(100) }.should raise_error(ArgumentError)
145
+ expect { @resource.recursive(100) }.to raise_error(ArgumentError)
146
146
  end
147
147
  end
148
148
 
@@ -154,24 +154,24 @@ describe Chef::Resource::RegistryKey, "architecture" do
154
154
  [ :i386, :x86_64, :machine ].each do |arch|
155
155
  it "should allow #{arch} as a symbol" do
156
156
  @resource.architecture(arch)
157
- @resource.architecture.should eql(arch)
157
+ expect(@resource.architecture).to eql(arch)
158
158
  end
159
159
  end
160
160
 
161
161
  it "should not allow a hash" do
162
- lambda { @resource.architecture({:sonic => :screwdriver}) }.should raise_error(ArgumentError)
162
+ expect { @resource.architecture({:sonic => :screwdriver}) }.to raise_error(ArgumentError)
163
163
  end
164
164
 
165
165
  it "should not allow an array" do
166
- lambda { @resource.architecture([:nose, :chin]) }.should raise_error(ArgumentError)
166
+ expect { @resource.architecture([:nose, :chin]) }.to raise_error(ArgumentError)
167
167
  end
168
168
 
169
169
  it "should not allow a string" do
170
- lambda { @resource.architecture('souffle') }.should raise_error(ArgumentError)
170
+ expect { @resource.architecture('souffle') }.to raise_error(ArgumentError)
171
171
  end
172
172
 
173
173
  it "should not allow an integer" do
174
- lambda { @resource.architecture(100) }.should raise_error(ArgumentError)
174
+ expect { @resource.architecture(100) }.to raise_error(ArgumentError)
175
175
  end
176
176
  end
177
177
 
@@ -183,7 +183,7 @@ describe Chef::Resource::RegistryKey, ":unscrubbed_values" do
183
183
  it "should return unsafe data as-is" do
184
184
  key_values = [ { :name => 'poosh', :type => :binary, :data => 255.chr * 1 } ]
185
185
  @resource.values(key_values)
186
- @resource.unscrubbed_values.should eql(key_values)
186
+ expect(@resource.unscrubbed_values).to eql(key_values)
187
187
  end
188
188
  end
189
189
 
@@ -194,6 +194,6 @@ describe Chef::Resource::RegistryKey, "state" do
194
194
 
195
195
  it "should return scrubbed values" do
196
196
  @resource.values([ { :name => 'poosh', :type => :binary, :data => 255.chr * 1 } ])
197
- @resource.state.should eql( { :values => [{ :name => 'poosh', :type => :binary, :data => "00594fd4f42ba43fc1ca0427a0576295" }] } )
197
+ expect(@resource.state).to eql( { :values => [{ :name => 'poosh', :type => :binary, :data => "00594fd4f42ba43fc1ca0427a0576295" }] } )
198
198
  end
199
199
  end
@@ -25,52 +25,52 @@ describe Chef::Resource::RemoteDirectory do
25
25
  end
26
26
 
27
27
  it "should create a new Chef::Resource::RemoteDirectory" do
28
- @resource.should be_a_kind_of(Chef::Resource)
29
- @resource.should be_a_kind_of(Chef::Resource::RemoteDirectory)
28
+ expect(@resource).to be_a_kind_of(Chef::Resource)
29
+ expect(@resource).to be_a_kind_of(Chef::Resource::RemoteDirectory)
30
30
  end
31
31
 
32
32
  it "should set the path to the first argument to new" do
33
- @resource.path.should eql("/etc/dunk")
33
+ expect(@resource.path).to eql("/etc/dunk")
34
34
  end
35
35
 
36
36
  it "should accept a string for the remote directory source" do
37
37
  @resource.source "foo"
38
- @resource.source.should eql("foo")
38
+ expect(@resource.source).to eql("foo")
39
39
  end
40
40
 
41
41
  it "should have the basename of the remote directory resource as the default source" do
42
- @resource.source.should eql("dunk")
42
+ expect(@resource.source).to eql("dunk")
43
43
  end
44
44
 
45
45
  it "should accept a number for the remote files backup" do
46
46
  @resource.files_backup 1
47
- @resource.files_backup.should eql(1)
47
+ expect(@resource.files_backup).to eql(1)
48
48
  end
49
49
 
50
50
  it "should accept false for the remote files backup" do
51
51
  @resource.files_backup false
52
- @resource.files_backup.should eql(false)
52
+ expect(@resource.files_backup).to eql(false)
53
53
  end
54
54
 
55
55
  it "should accept 3 or 4 digets for the files_mode" do
56
56
  @resource.files_mode 100
57
- @resource.files_mode.should eql(100)
57
+ expect(@resource.files_mode).to eql(100)
58
58
  @resource.files_mode 1000
59
- @resource.files_mode.should eql(1000)
59
+ expect(@resource.files_mode).to eql(1000)
60
60
  end
61
61
 
62
62
  it "should accept a string or number for the files group" do
63
63
  @resource.files_group "heart"
64
- @resource.files_group.should eql("heart")
64
+ expect(@resource.files_group).to eql("heart")
65
65
  @resource.files_group 1000
66
- @resource.files_group.should eql(1000)
66
+ expect(@resource.files_group).to eql(1000)
67
67
  end
68
68
 
69
69
  it "should accept a string or number for the files owner" do
70
70
  @resource.files_owner "heart"
71
- @resource.files_owner.should eql("heart")
71
+ expect(@resource.files_owner).to eql("heart")
72
72
  @resource.files_owner 1000
73
- @resource.files_owner.should eql(1000)
73
+ expect(@resource.files_owner).to eql(1000)
74
74
  end
75
75
 
76
76
  describe "when it has cookbook, files owner, files mode, and source" do
@@ -85,13 +85,13 @@ describe Chef::Resource::RemoteDirectory do
85
85
 
86
86
  it "describes its state" do
87
87
  state = @resource.state
88
- state[:files_owner].should == "root"
89
- state[:files_group].should == "supergroup"
90
- state[:files_mode].should == "0664"
88
+ expect(state[:files_owner]).to eq("root")
89
+ expect(state[:files_group]).to eq("supergroup")
90
+ expect(state[:files_mode]).to eq("0664")
91
91
  end
92
92
 
93
93
  it "returns the path as its identity" do
94
- @resource.identity.should == "/var/path/"
94
+ expect(@resource.identity).to eq("/var/path/")
95
95
  end
96
96
  end
97
97
  end
@@ -27,74 +27,74 @@ describe Chef::Resource::RemoteFile do
27
27
 
28
28
  describe "initialize" do
29
29
  it "should create a new Chef::Resource::RemoteFile" do
30
- @resource.should be_a_kind_of(Chef::Resource)
31
- @resource.should be_a_kind_of(Chef::Resource::File)
32
- @resource.should be_a_kind_of(Chef::Resource::RemoteFile)
30
+ expect(@resource).to be_a_kind_of(Chef::Resource)
31
+ expect(@resource).to be_a_kind_of(Chef::Resource::File)
32
+ expect(@resource).to be_a_kind_of(Chef::Resource::RemoteFile)
33
33
  end
34
34
  end
35
35
 
36
36
  it "says its provider is RemoteFile when the source is an absolute URI" do
37
37
  @resource.source("http://www.google.com/robots.txt")
38
- @resource.provider.should == Chef::Provider::RemoteFile
39
- Chef::Platform.find_provider(:noplatform, 'noversion', @resource).should == Chef::Provider::RemoteFile
38
+ expect(@resource.provider).to eq(Chef::Provider::RemoteFile)
39
+ expect(Chef::Platform.find_provider(:noplatform, 'noversion', @resource)).to eq(Chef::Provider::RemoteFile)
40
40
  end
41
41
 
42
42
 
43
43
  describe "source" do
44
44
  it "does not have a default value for 'source'" do
45
- @resource.source.should eql([])
45
+ expect(@resource.source).to eql([])
46
46
  end
47
47
 
48
48
  it "should accept a URI for the remote file source" do
49
49
  @resource.source "http://opscode.com/"
50
- @resource.source.should eql([ "http://opscode.com/" ])
50
+ expect(@resource.source).to eql([ "http://opscode.com/" ])
51
51
  end
52
52
 
53
53
  it "should accept a delayed evalutator (string) for the remote file source" do
54
54
  @resource.source Chef::DelayedEvaluator.new {"http://opscode.com/"}
55
- @resource.source.should eql([ "http://opscode.com/" ])
55
+ expect(@resource.source).to eql([ "http://opscode.com/" ])
56
56
  end
57
57
 
58
58
  it "should accept an array of URIs for the remote file source" do
59
59
  @resource.source([ "http://opscode.com/", "http://puppetlabs.com/" ])
60
- @resource.source.should eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
60
+ expect(@resource.source).to eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
61
61
  end
62
62
 
63
63
  it "should accept a delated evaluator (array) for the remote file source" do
64
64
  @resource.source Chef::DelayedEvaluator.new { [ "http://opscode.com/", "http://puppetlabs.com/" ] }
65
- @resource.source.should eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
65
+ expect(@resource.source).to eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
66
66
  end
67
67
 
68
68
  it "should accept an multiple URIs as arguments for the remote file source" do
69
69
  @resource.source("http://opscode.com/", "http://puppetlabs.com/")
70
- @resource.source.should eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
70
+ expect(@resource.source).to eql([ "http://opscode.com/", "http://puppetlabs.com/" ])
71
71
  end
72
72
 
73
73
  it "should only accept a single argument if a delayed evalutor is used" do
74
- lambda {
74
+ expect {
75
75
  @resource.source("http://opscode.com/", Chef::DelayedEvaluator.new {"http://opscode.com/"})
76
- }.should raise_error(Chef::Exceptions::InvalidRemoteFileURI)
76
+ }.to raise_error(Chef::Exceptions::InvalidRemoteFileURI)
77
77
  end
78
78
 
79
79
  it "should only accept a single array item if a delayed evalutor is used" do
80
- lambda {
80
+ expect {
81
81
  @resource.source(["http://opscode.com/", Chef::DelayedEvaluator.new {"http://opscode.com/"}])
82
- }.should raise_error(Chef::Exceptions::InvalidRemoteFileURI)
82
+ }.to raise_error(Chef::Exceptions::InvalidRemoteFileURI)
83
83
  end
84
84
 
85
85
  it "does not accept a non-URI as the source" do
86
- lambda { @resource.source("not-a-uri") }.should raise_error(Chef::Exceptions::InvalidRemoteFileURI)
86
+ expect { @resource.source("not-a-uri") }.to raise_error(Chef::Exceptions::InvalidRemoteFileURI)
87
87
  end
88
88
 
89
89
  it "does not accept a non-URI as the source when read from a delayed evaluator" do
90
- lambda {
90
+ expect {
91
91
  @resource.source(Chef::DelayedEvaluator.new {"not-a-uri"})
92
92
  @resource.source
93
- }.should raise_error(Chef::Exceptions::InvalidRemoteFileURI)
93
+ }.to raise_error(Chef::Exceptions::InvalidRemoteFileURI)
94
94
  end
95
95
 
96
96
  it "should raise an exception when source is an empty array" do
97
- lambda { @resource.source([]) }.should raise_error(ArgumentError)
97
+ expect { @resource.source([]) }.to raise_error(ArgumentError)
98
98
  end
99
99
 
100
100
  end
@@ -102,51 +102,51 @@ describe Chef::Resource::RemoteFile do
102
102
  describe "checksum" do
103
103
  it "should accept a string for the checksum object" do
104
104
  @resource.checksum "asdf"
105
- @resource.checksum.should eql("asdf")
105
+ expect(@resource.checksum).to eql("asdf")
106
106
  end
107
107
 
108
108
  it "should default to nil" do
109
- @resource.checksum.should == nil
109
+ expect(@resource.checksum).to eq(nil)
110
110
  end
111
111
  end
112
112
 
113
113
  describe "ftp_active_mode" do
114
114
  it "should accept a boolean for the ftp_active_mode object" do
115
115
  @resource.ftp_active_mode true
116
- @resource.ftp_active_mode.should be_true
116
+ expect(@resource.ftp_active_mode).to be_true
117
117
  end
118
118
 
119
119
  it "should default to false" do
120
- @resource.ftp_active_mode.should be_false
120
+ expect(@resource.ftp_active_mode).to be_false
121
121
  end
122
122
  end
123
123
 
124
124
  describe "conditional get options" do
125
125
  it "defaults to using etags and last modified" do
126
- @resource.use_etags.should be_true
127
- @resource.use_last_modified.should be_true
126
+ expect(@resource.use_etags).to be_true
127
+ expect(@resource.use_last_modified).to be_true
128
128
  end
129
129
 
130
130
  it "enable or disables etag and last modified options as a group" do
131
131
  @resource.use_conditional_get(false)
132
- @resource.use_etags.should be_false
133
- @resource.use_last_modified.should be_false
132
+ expect(@resource.use_etags).to be_false
133
+ expect(@resource.use_last_modified).to be_false
134
134
 
135
135
  @resource.use_conditional_get(true)
136
- @resource.use_etags.should be_true
137
- @resource.use_last_modified.should be_true
136
+ expect(@resource.use_etags).to be_true
137
+ expect(@resource.use_last_modified).to be_true
138
138
  end
139
139
 
140
140
  it "disables etags indivdually" do
141
141
  @resource.use_etags(false)
142
- @resource.use_etags.should be_false
143
- @resource.use_last_modified.should be_true
142
+ expect(@resource.use_etags).to be_false
143
+ expect(@resource.use_last_modified).to be_true
144
144
  end
145
145
 
146
146
  it "disables last modified individually" do
147
147
  @resource.use_last_modified(false)
148
- @resource.use_last_modified.should be_false
149
- @resource.use_etags.should be_true
148
+ expect(@resource.use_last_modified).to be_false
149
+ expect(@resource.use_etags).to be_true
150
150
  end
151
151
 
152
152
  end
@@ -171,21 +171,21 @@ describe Chef::Resource::RemoteFile do
171
171
  state = @resource.state
172
172
  if Chef::Platform.windows?
173
173
  puts state
174
- state[:rights].should == [{:permissions => :read, :principals => "Everyone"}]
175
- state[:deny_rights].should == [{:permissions => :full_control, :principals => "Clumsy_Sam"}]
174
+ expect(state[:rights]).to eq([{:permissions => :read, :principals => "Everyone"}])
175
+ expect(state[:deny_rights]).to eq([{:permissions => :full_control, :principals => "Clumsy_Sam"}])
176
176
  else
177
- state[:group].should == "pokemon"
178
- state[:mode].should == "0664"
179
- state[:owner].should == "root"
180
- state[:checksum].should == "1"*26
177
+ expect(state[:group]).to eq("pokemon")
178
+ expect(state[:mode]).to eq("0664")
179
+ expect(state[:owner]).to eq("root")
180
+ expect(state[:checksum]).to eq("1"*26)
181
181
  end
182
182
  end
183
183
 
184
184
  it "returns the path as its identity" do
185
185
  if Chef::Platform.windows?
186
- @resource.identity.should == "C:/temp/origin/file.txt"
186
+ expect(@resource.identity).to eq("C:/temp/origin/file.txt")
187
187
  else
188
- @resource.identity.should == "/this/path/"
188
+ expect(@resource.identity).to eq("/this/path/")
189
189
  end
190
190
  end
191
191
  end