chef 12.0.3-x86-mingw32 → 12.1.0.rc.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (653) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +4 -1
  3. data/README.md +42 -18
  4. data/distro/common/html/_sources/ctl_chef_client.txt +1 -1
  5. data/distro/common/html/_sources/ctl_chef_server.txt +53 -35
  6. data/distro/common/html/_sources/ctl_chef_solo.txt +1 -1
  7. data/distro/common/html/_sources/knife_bootstrap.txt +1 -1
  8. data/distro/common/html/_sources/knife_cookbook_site.txt +1 -1
  9. data/distro/common/html/_sources/knife_data_bag.txt +4 -4
  10. data/distro/common/html/_sources/knife_status.txt +1 -1
  11. data/distro/common/html/_static/searchtools.js +1 -1
  12. data/distro/common/html/ctl_chef_client.html +55 -7
  13. data/distro/common/html/ctl_chef_server.html +84 -41
  14. data/distro/common/html/ctl_chef_shell.html +45 -1
  15. data/distro/common/html/ctl_chef_solo.html +51 -5
  16. data/distro/common/html/index.html +2 -2
  17. data/distro/common/html/knife.html +1 -1
  18. data/distro/common/html/knife_bootstrap.html +30 -10
  19. data/distro/common/html/knife_cookbook_site.html +2 -0
  20. data/distro/common/html/knife_data_bag.html +4 -4
  21. data/distro/common/html/knife_node.html +2 -2
  22. data/distro/common/html/knife_raw.html +1 -1
  23. data/distro/common/html/knife_role.html +1 -1
  24. data/distro/common/html/knife_search.html +3 -3
  25. data/distro/common/html/knife_status.html +4 -0
  26. data/distro/common/html/searchindex.js +1 -1
  27. data/distro/common/man/man1/chef-shell.1 +72 -1
  28. data/distro/common/man/man1/knife-bootstrap.1 +71 -63
  29. data/distro/common/man/man1/knife-client.1 +1 -1
  30. data/distro/common/man/man1/knife-configure.1 +1 -1
  31. data/distro/common/man/man1/knife-cookbook-site.1 +4 -1
  32. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  33. data/distro/common/man/man1/knife-data-bag.1 +5 -5
  34. data/distro/common/man/man1/knife-delete.1 +1 -1
  35. data/distro/common/man/man1/knife-deps.1 +1 -1
  36. data/distro/common/man/man1/knife-diff.1 +1 -1
  37. data/distro/common/man/man1/knife-download.1 +1 -1
  38. data/distro/common/man/man1/knife-edit.1 +1 -1
  39. data/distro/common/man/man1/knife-environment.1 +1 -1
  40. data/distro/common/man/man1/knife-exec.1 +1 -1
  41. data/distro/common/man/man1/knife-index-rebuild.1 +1 -1
  42. data/distro/common/man/man1/knife-list.1 +1 -1
  43. data/distro/common/man/man1/knife-node.1 +3 -3
  44. data/distro/common/man/man1/knife-raw.1 +2 -2
  45. data/distro/common/man/man1/knife-recipe-list.1 +1 -1
  46. data/distro/common/man/man1/knife-role.1 +2 -2
  47. data/distro/common/man/man1/knife-search.1 +4 -4
  48. data/distro/common/man/man1/knife-serve.1 +1 -1
  49. data/distro/common/man/man1/knife-show.1 +1 -1
  50. data/distro/common/man/man1/knife-ssh.1 +1 -1
  51. data/distro/common/man/man1/knife-ssl-check.1 +1 -1
  52. data/distro/common/man/man1/knife-ssl-fetch.1 +1 -1
  53. data/distro/common/man/man1/knife-status.1 +1 -1
  54. data/distro/common/man/man1/knife-tag.1 +1 -1
  55. data/distro/common/man/man1/knife-upload.1 +1 -1
  56. data/distro/common/man/man1/knife-user.1 +1 -1
  57. data/distro/common/man/man1/knife-xargs.1 +1 -1
  58. data/distro/common/man/man1/knife.1 +1 -1
  59. data/distro/common/man/man8/chef-apply.8 +86 -0
  60. data/distro/common/man/man8/chef-client.8 +76 -5
  61. data/distro/common/man/man8/chef-solo.8 +79 -6
  62. data/distro/common/markdown/man1/knife-bootstrap.mkd +1 -1
  63. data/distro/common/markdown/man1/knife-cookbook-site.mkd +1 -1
  64. data/distro/common/markdown/man1/knife-data-bag.mkd +1 -1
  65. data/distro/common/markdown/man1/knife-environment.mkd +1 -1
  66. data/distro/common/markdown/man1/knife.mkd +1 -1
  67. data/lib/chef.rb +0 -7
  68. data/lib/chef/api_client.rb +10 -2
  69. data/lib/chef/api_client/registration.rb +7 -9
  70. data/lib/chef/application.rb +28 -12
  71. data/lib/chef/application/apply.rb +17 -1
  72. data/lib/chef/application/client.rb +74 -6
  73. data/lib/chef/application/knife.rb +1 -2
  74. data/lib/chef/application/solo.rb +30 -0
  75. data/lib/chef/application/windows_service.rb +1 -0
  76. data/lib/chef/application/windows_service_manager.rb +8 -2
  77. data/lib/chef/applications.rb +0 -1
  78. data/lib/chef/audit/audit_event_proxy.rb +93 -0
  79. data/lib/chef/audit/audit_reporter.rb +169 -0
  80. data/lib/chef/audit/control_group_data.rb +140 -0
  81. data/lib/chef/audit/rspec_formatter.rb +37 -0
  82. data/lib/chef/audit/runner.rb +178 -0
  83. data/lib/chef/chef_fs/chef_fs_data_store.rb +11 -2
  84. data/lib/chef/chef_fs/config.rb +25 -4
  85. data/lib/chef/chef_fs/data_handler/policy_data_handler.rb +15 -0
  86. data/lib/chef/chef_fs/data_handler/user_data_handler.rb +1 -0
  87. data/lib/chef/chef_fs/file_system.rb +1 -1
  88. data/lib/chef/chef_fs/file_system/base_fs_dir.rb +5 -0
  89. data/lib/chef/chef_fs/file_system/chef_repository_file_system_cookbook_entry.rb +3 -2
  90. data/lib/chef/{shef/ext.rb → chef_fs/file_system/chef_repository_file_system_policies_dir.rb} +22 -3
  91. data/lib/chef/chef_fs/file_system/chef_repository_file_system_root_dir.rb +4 -0
  92. data/lib/chef/client.rb +81 -52
  93. data/lib/chef/config.rb +35 -3
  94. data/lib/chef/cookbook/metadata.rb +3 -3
  95. data/lib/chef/cookbook_manifest.rb +275 -0
  96. data/lib/chef/cookbook_site_streaming_uploader.rb +24 -23
  97. data/lib/chef/cookbook_uploader.rb +11 -2
  98. data/lib/chef/cookbook_version.rb +71 -194
  99. data/lib/chef/data_bag.rb +5 -2
  100. data/lib/chef/data_bag_item.rb +6 -3
  101. data/lib/chef/deprecation/warnings.rb +5 -4
  102. data/lib/chef/dsl/audit.rb +51 -0
  103. data/lib/chef/dsl/include_recipe.rb +2 -3
  104. data/lib/chef/dsl/reboot_pending.rb +1 -1
  105. data/lib/chef/dsl/recipe.rb +49 -31
  106. data/lib/chef/encrypted_data_bag_item/assertions.rb +0 -3
  107. data/lib/chef/environment.rb +5 -2
  108. data/lib/chef/event_dispatch/base.rb +36 -1
  109. data/lib/chef/event_dispatch/dispatcher.rb +3 -5
  110. data/lib/chef/exceptions.rb +61 -2
  111. data/lib/chef/file_access_control/unix.rb +12 -0
  112. data/lib/chef/file_access_control/windows.rb +14 -0
  113. data/lib/chef/formatters/doc.rb +47 -1
  114. data/{spec/unit/monkey_patches/string_spec.rb → lib/chef/guard_interpreter.rb} +11 -16
  115. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +3 -2
  116. data/lib/chef/http.rb +1 -2
  117. data/lib/chef/knife.rb +5 -3
  118. data/lib/chef/knife/bootstrap.rb +84 -15
  119. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +165 -0
  120. data/lib/chef/knife/bootstrap/client_builder.rb +190 -0
  121. data/lib/chef/knife/bootstrap/{README.md → templates/README.md} +0 -0
  122. data/lib/chef/knife/bootstrap/{archlinux-gems.erb → templates/archlinux-gems.erb} +9 -0
  123. data/lib/chef/knife/bootstrap/{chef-aix.erb → templates/chef-aix.erb} +9 -0
  124. data/lib/chef/knife/bootstrap/{chef-full.erb → templates/chef-full.erb} +10 -1
  125. data/lib/chef/knife/client_create.rb +8 -7
  126. data/lib/chef/knife/cookbook_site_download.rb +1 -1
  127. data/lib/chef/knife/cookbook_site_install.rb +1 -1
  128. data/lib/chef/knife/cookbook_site_list.rb +1 -1
  129. data/lib/chef/knife/cookbook_site_search.rb +1 -1
  130. data/lib/chef/knife/cookbook_site_share.rb +39 -28
  131. data/lib/chef/knife/cookbook_site_show.rb +3 -3
  132. data/lib/chef/knife/cookbook_site_unshare.rb +1 -1
  133. data/lib/chef/knife/cookbook_test.rb +1 -0
  134. data/lib/chef/knife/cookbook_upload.rb +13 -8
  135. data/lib/chef/knife/core/bootstrap_context.rb +14 -3
  136. data/lib/chef/knife/core/generic_presenter.rb +5 -2
  137. data/lib/chef/knife/core/object_loader.rb +1 -1
  138. data/lib/chef/knife/core/subcommand_loader.rb +24 -0
  139. data/lib/chef/knife/core/ui.rb +9 -1
  140. data/lib/chef/knife/node_run_list_remove.rb +11 -3
  141. data/lib/chef/knife/raw.rb +14 -3
  142. data/lib/chef/knife/role_env_run_list_add.rb +86 -0
  143. data/lib/chef/knife/role_env_run_list_clear.rb +55 -0
  144. data/lib/chef/knife/role_env_run_list_remove.rb +57 -0
  145. data/lib/chef/knife/role_env_run_list_replace.rb +59 -0
  146. data/lib/chef/knife/role_env_run_list_set.rb +70 -0
  147. data/lib/chef/knife/role_run_list_add.rb +86 -0
  148. data/lib/chef/knife/role_run_list_clear.rb +55 -0
  149. data/lib/chef/knife/role_run_list_remove.rb +57 -0
  150. data/lib/chef/knife/role_run_list_replace.rb +59 -0
  151. data/lib/chef/knife/role_run_list_set.rb +70 -0
  152. data/lib/chef/knife/search.rb +4 -4
  153. data/lib/chef/knife/serve.rb +3 -0
  154. data/lib/chef/knife/ssh.rb +1 -1
  155. data/lib/chef/knife/ssl_check.rb +2 -2
  156. data/lib/chef/knife/ssl_fetch.rb +14 -1
  157. data/lib/chef/log.rb +10 -1
  158. data/lib/chef/mixin/command.rb +1 -1
  159. data/lib/chef/mixin/command/windows.rb +1 -5
  160. data/lib/chef/mixin/get_source_from_package.rb +1 -0
  161. data/lib/chef/mixin/params_validate.rb +2 -2
  162. data/lib/chef/mixin/securable.rb +1 -7
  163. data/lib/chef/mixin/shell_out.rb +7 -1
  164. data/lib/chef/mixin/template.rb +2 -14
  165. data/lib/chef/mixin/why_run.rb +1 -1
  166. data/lib/chef/monkey_patches/net_http.rb +4 -0
  167. data/lib/chef/monologger.rb +0 -2
  168. data/lib/chef/node.rb +5 -2
  169. data/lib/chef/node/attribute.rb +11 -9
  170. data/lib/chef/node/attribute_collections.rb +8 -12
  171. data/lib/chef/node/immutable_collections.rb +4 -10
  172. data/lib/chef/org.rb +148 -0
  173. data/lib/chef/platform/provider_mapping.rb +3 -2
  174. data/lib/chef/platform/provider_priority_map.rb +2 -0
  175. data/lib/chef/platform/query_helpers.rb +0 -3
  176. data/lib/chef/policy_builder/policyfile.rb +51 -8
  177. data/lib/chef/provider/deploy.rb +1 -2
  178. data/lib/chef/provider/directory.rb +3 -3
  179. data/lib/chef/provider/dsc_script.rb +13 -7
  180. data/lib/chef/provider/env.rb +8 -8
  181. data/lib/chef/provider/execute.rb +55 -36
  182. data/lib/chef/provider/file.rb +8 -0
  183. data/lib/chef/provider/group.rb +2 -0
  184. data/lib/chef/provider/group/dscl.rb +3 -4
  185. data/lib/chef/provider/ifconfig.rb +25 -25
  186. data/lib/chef/provider/ifconfig/aix.rb +25 -27
  187. data/lib/chef/provider/lwrp_base.rb +1 -1
  188. data/lib/chef/provider/mount.rb +2 -2
  189. data/lib/chef/provider/mount/mount.rb +3 -4
  190. data/lib/chef/provider/mount/solaris.rb +1 -1
  191. data/lib/chef/provider/package.rb +297 -48
  192. data/lib/chef/provider/package/aix.rb +25 -30
  193. data/lib/chef/provider/package/apt.rb +63 -19
  194. data/lib/chef/provider/package/dpkg.rb +15 -16
  195. data/lib/chef/provider/package/macports.rb +7 -7
  196. data/lib/chef/provider/package/openbsd.rb +107 -0
  197. data/lib/chef/provider/package/pacman.rb +13 -15
  198. data/lib/chef/provider/package/portage.rb +3 -4
  199. data/lib/chef/provider/package/rpm.rb +28 -17
  200. data/lib/chef/provider/package/rubygems.rb +9 -9
  201. data/lib/chef/provider/package/solaris.rb +17 -21
  202. data/lib/chef/provider/package/windows/msi.rb +1 -1
  203. data/lib/chef/provider/package/yum-dump.py +2 -2
  204. data/lib/chef/provider/package/yum.rb +117 -51
  205. data/lib/chef/provider/package/zypper.rb +17 -18
  206. data/lib/chef/provider/powershell_script.rb +4 -4
  207. data/lib/chef/provider/registry_key.rb +2 -2
  208. data/lib/chef/provider/remote_directory.rb +1 -1
  209. data/lib/chef/provider/script.rb +25 -16
  210. data/lib/chef/provider/service.rb +1 -1
  211. data/lib/chef/provider/service/freebsd.rb +1 -1
  212. data/lib/chef/provider/service/openbsd.rb +216 -0
  213. data/lib/chef/provider/service/upstart.rb +1 -1
  214. data/lib/chef/provider/service/windows.rb +99 -1
  215. data/lib/chef/provider/user.rb +1 -1
  216. data/lib/chef/provider/user/dscl.rb +19 -4
  217. data/lib/chef/providers.rb +2 -0
  218. data/lib/chef/recipe.rb +11 -5
  219. data/lib/chef/request_id.rb +1 -1
  220. data/lib/chef/resource.rb +839 -444
  221. data/lib/chef/resource/chef_gem.rb +20 -3
  222. data/lib/chef/resource/conditional.rb +3 -14
  223. data/lib/chef/resource/dsc_script.rb +14 -0
  224. data/lib/chef/resource/execute.rb +14 -7
  225. data/lib/chef/resource/file.rb +14 -0
  226. data/lib/chef/resource/file/verification.rb +122 -0
  227. data/lib/chef/resource/ips_package.rb +1 -1
  228. data/lib/chef/resource/lwrp_base.rb +2 -11
  229. data/lib/chef/resource/macports_package.rb +2 -1
  230. data/lib/chef/resource/openbsd_package.rb +51 -0
  231. data/lib/chef/resource/package.rb +2 -2
  232. data/lib/chef/resource/paludis_package.rb +1 -1
  233. data/lib/chef/resource/reboot.rb +1 -1
  234. data/lib/chef/resource/remote_file.rb +1 -0
  235. data/lib/chef/resource/rpm_package.rb +9 -0
  236. data/lib/chef/resource/script.rb +11 -0
  237. data/lib/chef/resource/template.rb +2 -3
  238. data/lib/chef/resource/windows_package.rb +1 -1
  239. data/lib/chef/resource/windows_service.rb +18 -0
  240. data/lib/chef/resource_builder.rb +137 -0
  241. data/lib/chef/resource_definition.rb +1 -1
  242. data/lib/chef/resource_reporter.rb +1 -1
  243. data/lib/chef/resources.rb +1 -0
  244. data/lib/chef/role.rb +17 -4
  245. data/lib/chef/run_context.rb +10 -6
  246. data/lib/chef/search/query.rb +66 -87
  247. data/lib/chef/shell/ext.rb +2 -2
  248. data/lib/chef/util/diff.rb +1 -4
  249. data/lib/chef/util/dsc/configuration_generator.rb +30 -6
  250. data/lib/chef/util/dsc/lcm_output_parser.rb +7 -3
  251. data/lib/chef/util/dsc/local_configuration_manager.rb +8 -8
  252. data/lib/chef/util/file_edit.rb +2 -2
  253. data/lib/chef/util/path_helper.rb +1 -4
  254. data/lib/chef/util/windows/net_use.rb +3 -3
  255. data/lib/chef/version.rb +1 -1
  256. data/lib/chef/win32/api.rb +1 -0
  257. data/lib/chef/win32/api/security.rb +26 -0
  258. data/lib/chef/win32/file.rb +21 -0
  259. data/lib/chef/win32/security.rb +46 -0
  260. data/lib/chef/win32/security/token.rb +8 -0
  261. data/lib/chef/win32/version.rb +0 -4
  262. data/spec/data/recipes.tgz +0 -0
  263. data/spec/functional/application_spec.rb +1 -1
  264. data/spec/functional/audit/rspec_formatter_spec.rb +54 -0
  265. data/spec/functional/audit/runner_spec.rb +137 -0
  266. data/spec/functional/dsl/reboot_pending_spec.rb +10 -10
  267. data/spec/functional/dsl/registry_helper_spec.rb +6 -6
  268. data/spec/functional/event_loggers/windows_eventlog_spec.rb +5 -5
  269. data/spec/functional/file_content_management/deploy_strategies_spec.rb +12 -21
  270. data/spec/functional/http/simple_spec.rb +1 -1
  271. data/spec/functional/knife/cookbook_delete_spec.rb +24 -24
  272. data/spec/functional/knife/exec_spec.rb +2 -4
  273. data/spec/functional/knife/smoke_test.rb +1 -1
  274. data/spec/functional/knife/ssh_spec.rb +23 -23
  275. data/spec/functional/provider/remote_file/cache_control_data_spec.rb +8 -8
  276. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +2 -2
  277. data/spec/functional/rebooter_spec.rb +1 -1
  278. data/spec/functional/resource/aix_service_spec.rb +3 -0
  279. data/spec/functional/resource/aixinit_service_spec.rb +3 -3
  280. data/spec/functional/resource/bash_spec.rb +88 -0
  281. data/spec/functional/resource/deploy_revision_spec.rb +99 -100
  282. data/spec/functional/resource/env_spec.rb +3 -3
  283. data/spec/functional/resource/execute_spec.rb +97 -63
  284. data/spec/functional/resource/file_spec.rb +7 -7
  285. data/spec/functional/resource/git_spec.rb +13 -13
  286. data/spec/functional/resource/group_spec.rb +28 -25
  287. data/spec/functional/resource/ifconfig_spec.rb +2 -2
  288. data/spec/functional/resource/link_spec.rb +77 -78
  289. data/spec/functional/resource/mount_spec.rb +5 -5
  290. data/spec/functional/resource/ohai_spec.rb +1 -1
  291. data/spec/functional/resource/package_spec.rb +22 -22
  292. data/spec/functional/resource/powershell_spec.rb +57 -42
  293. data/spec/functional/resource/reboot_spec.rb +2 -2
  294. data/spec/functional/resource/registry_spec.rb +91 -91
  295. data/spec/functional/resource/remote_directory_spec.rb +19 -19
  296. data/spec/functional/resource/remote_file_spec.rb +18 -18
  297. data/spec/functional/resource/template_spec.rb +4 -4
  298. data/spec/functional/resource/user/dscl_spec.rb +4 -4
  299. data/spec/functional/resource/user/useradd_spec.rb +64 -51
  300. data/spec/functional/resource/windows_service_spec.rb +98 -0
  301. data/spec/functional/run_lock_spec.rb +9 -9
  302. data/spec/functional/shell_spec.rb +3 -3
  303. data/spec/functional/tiny_server_spec.rb +12 -12
  304. data/spec/functional/util/path_helper_spec.rb +1 -1
  305. data/spec/functional/version_spec.rb +1 -1
  306. data/spec/functional/win32/registry_helper_spec.rb +125 -125
  307. data/spec/functional/win32/security_spec.rb +65 -2
  308. data/spec/functional/win32/service_manager_spec.rb +30 -84
  309. data/spec/functional/win32/versions_spec.rb +6 -6
  310. data/spec/integration/client/client_spec.rb +102 -9
  311. data/spec/integration/knife/chef_fs_data_store_spec.rb +12 -8
  312. data/spec/integration/knife/common_options_spec.rb +3 -3
  313. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +2 -2
  314. data/spec/integration/knife/deps_spec.rb +4 -4
  315. data/spec/integration/knife/diff_spec.rb +6 -6
  316. data/spec/integration/knife/download_spec.rb +6 -6
  317. data/spec/integration/knife/list_spec.rb +2 -2
  318. data/spec/integration/knife/raw_spec.rb +5 -5
  319. data/spec/integration/knife/serve_spec.rb +3 -3
  320. data/spec/integration/knife/show_spec.rb +3 -3
  321. data/spec/integration/knife/upload_spec.rb +18 -18
  322. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
  323. data/spec/integration/solo/solo_spec.rb +11 -12
  324. data/spec/spec_helper.rb +27 -15
  325. data/spec/stress/win32/file_spec.rb +4 -4
  326. data/spec/stress/win32/security_spec.rb +4 -4
  327. data/spec/support/chef_helpers.rb +3 -3
  328. data/spec/support/matchers/leak.rb +2 -2
  329. data/spec/support/mock/platform.rb +1 -1
  330. data/spec/support/pedant/Gemfile +3 -0
  331. data/spec/support/pedant/pedant_config.rb +9 -2
  332. data/spec/support/pedant/run_pedant.rb +15 -16
  333. data/spec/support/platform_helpers.rb +8 -12
  334. data/spec/support/shared/functional/directory_resource.rb +13 -13
  335. data/spec/support/shared/functional/file_resource.rb +83 -83
  336. data/spec/support/shared/functional/http.rb +1 -1
  337. data/spec/support/shared/functional/securable_resource.rb +64 -64
  338. data/spec/support/shared/functional/securable_resource_with_reporting.rb +43 -41
  339. data/spec/support/shared/functional/win32_service.rb +60 -0
  340. data/spec/support/shared/functional/windows_script.rb +8 -8
  341. data/spec/support/shared/integration/knife_support.rb +8 -5
  342. data/spec/support/shared/matchers/exit_with_code.rb +6 -2
  343. data/spec/support/shared/unit/api_error_inspector.rb +8 -8
  344. data/spec/support/shared/unit/execute_resource.rb +24 -20
  345. data/spec/support/shared/unit/file_system_support.rb +2 -2
  346. data/spec/support/shared/unit/platform_introspector.rb +21 -21
  347. data/spec/support/shared/unit/provider/file.rb +239 -210
  348. data/spec/support/shared/unit/provider/useradd_based_user_provider.rb +69 -69
  349. data/spec/support/shared/unit/script_resource.rb +40 -32
  350. data/spec/support/shared/unit/windows_script_resource.rb +8 -8
  351. data/spec/unit/api_client/registration_spec.rb +47 -47
  352. data/spec/unit/api_client_spec.rb +107 -69
  353. data/spec/unit/application/apply_spec.rb +31 -15
  354. data/spec/unit/application/client_spec.rb +146 -45
  355. data/spec/unit/application/knife_spec.rb +31 -31
  356. data/spec/unit/application/solo_spec.rb +59 -43
  357. data/spec/unit/application_spec.rb +109 -74
  358. data/spec/unit/audit/audit_event_proxy_spec.rb +311 -0
  359. data/spec/unit/audit/audit_reporter_spec.rb +393 -0
  360. data/spec/unit/audit/control_group_data_spec.rb +478 -0
  361. data/{lib/chef/monkey_patches/file.rb → spec/unit/audit/rspec_formatter_spec.rb} +11 -8
  362. data/spec/unit/audit/runner_spec.rb +135 -0
  363. data/spec/unit/chef_fs/config_spec.rb +52 -0
  364. data/spec/unit/chef_fs/diff_spec.rb +12 -12
  365. data/spec/unit/chef_fs/file_pattern_spec.rb +276 -277
  366. data/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb +6 -6
  367. data/spec/unit/chef_fs/file_system_spec.rb +26 -13
  368. data/spec/unit/chef_fs/parallelizer.rb +87 -87
  369. data/spec/unit/chef_spec.rb +1 -1
  370. data/spec/unit/client_spec.rb +263 -97
  371. data/spec/unit/config_fetcher_spec.rb +13 -13
  372. data/spec/unit/config_spec.rb +105 -66
  373. data/spec/unit/cookbook/chefignore_spec.rb +6 -6
  374. data/spec/unit/cookbook/cookbook_version_loader_spec.rb +3 -3
  375. data/spec/unit/cookbook/metadata_spec.rb +149 -149
  376. data/spec/unit/cookbook/syntax_check_spec.rb +36 -31
  377. data/spec/unit/cookbook_loader_spec.rb +62 -58
  378. data/spec/unit/cookbook_manifest_spec.rb +141 -468
  379. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +27 -27
  380. data/spec/unit/cookbook_spec.rb +15 -15
  381. data/spec/unit/cookbook_uploader_spec.rb +37 -3
  382. data/spec/unit/cookbook_version_file_specificity_spec.rb +554 -0
  383. data/spec/unit/cookbook_version_spec.rb +98 -240
  384. data/spec/unit/daemon_spec.rb +31 -31
  385. data/spec/unit/data_bag_item_spec.rb +121 -89
  386. data/spec/unit/data_bag_spec.rb +35 -35
  387. data/spec/unit/deprecation_spec.rb +27 -14
  388. data/spec/unit/digester_spec.rb +3 -3
  389. data/spec/unit/dsl/audit_spec.rb +43 -0
  390. data/spec/unit/dsl/data_query_spec.rb +1 -1
  391. data/spec/unit/dsl/platform_introspection_spec.rb +14 -14
  392. data/spec/unit/dsl/reboot_pending_spec.rb +18 -18
  393. data/spec/unit/dsl/regsitry_helper_spec.rb +6 -6
  394. data/spec/unit/encrypted_data_bag_item_spec.rb +58 -82
  395. data/spec/unit/environment_spec.rb +105 -105
  396. data/spec/unit/exceptions_spec.rb +47 -1
  397. data/spec/unit/file_access_control_spec.rb +62 -56
  398. data/spec/unit/file_cache_spec.rb +11 -11
  399. data/spec/unit/file_content_management/deploy/cp_spec.rb +2 -2
  400. data/spec/unit/file_content_management/deploy/mv_unix_spec.rb +10 -10
  401. data/spec/unit/file_content_management/deploy/mv_windows_spec.rb +23 -23
  402. data/spec/unit/formatters/error_inspectors/compile_error_inspector_spec.rb +14 -14
  403. data/spec/unit/formatters/error_inspectors/cookbook_resolve_error_inspector_spec.rb +12 -12
  404. data/spec/unit/formatters/error_inspectors/cookbook_sync_error_inspector_spec.rb +1 -1
  405. data/spec/unit/formatters/error_inspectors/resource_failure_inspector_spec.rb +16 -16
  406. data/spec/unit/formatters/error_inspectors/run_list_expansion_error_inspector_spec.rb +4 -4
  407. data/spec/unit/guard_interpreter/resource_guard_interpreter_spec.rb +103 -13
  408. data/spec/unit/guard_interpreter_spec.rb +41 -0
  409. data/spec/unit/handler/json_file_spec.rb +10 -10
  410. data/spec/unit/handler_spec.rb +39 -39
  411. data/spec/unit/http/basic_client_spec.rb +3 -3
  412. data/spec/unit/http/http_request_spec.rb +10 -10
  413. data/spec/unit/http/simple_spec.rb +3 -3
  414. data/spec/unit/http/ssl_policies_spec.rb +15 -15
  415. data/spec/unit/http/validate_content_length_spec.rb +18 -13
  416. data/spec/unit/http_spec.rb +16 -9
  417. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +153 -0
  418. data/spec/unit/knife/bootstrap/client_builder_spec.rb +178 -0
  419. data/spec/unit/knife/bootstrap_spec.rb +144 -91
  420. data/spec/unit/knife/client_bulk_delete_spec.rb +24 -24
  421. data/spec/unit/knife/client_create_spec.rb +57 -43
  422. data/spec/unit/knife/client_delete_spec.rb +15 -15
  423. data/spec/unit/knife/client_edit_spec.rb +4 -4
  424. data/spec/unit/knife/client_list_spec.rb +2 -2
  425. data/spec/unit/knife/client_reregister_spec.rb +9 -9
  426. data/spec/unit/knife/configure_client_spec.rb +20 -20
  427. data/spec/unit/knife/configure_spec.rb +85 -85
  428. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +15 -15
  429. data/spec/unit/knife/cookbook_create_spec.rb +59 -59
  430. data/spec/unit/knife/cookbook_delete_spec.rb +49 -49
  431. data/spec/unit/knife/cookbook_download_spec.rb +56 -56
  432. data/spec/unit/knife/cookbook_list_spec.rb +9 -9
  433. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +8 -8
  434. data/spec/unit/knife/cookbook_metadata_spec.rb +44 -44
  435. data/spec/unit/knife/cookbook_show_spec.rb +29 -29
  436. data/spec/unit/knife/cookbook_site_download_spec.rb +26 -26
  437. data/spec/unit/knife/cookbook_site_install_spec.rb +5 -1
  438. data/spec/unit/knife/cookbook_site_share_spec.rb +68 -59
  439. data/spec/unit/knife/cookbook_site_unshare_spec.rb +15 -15
  440. data/spec/unit/knife/cookbook_test_spec.rb +16 -16
  441. data/spec/unit/knife/cookbook_upload_spec.rb +105 -71
  442. data/spec/unit/knife/core/bootstrap_context_spec.rb +37 -22
  443. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +36 -36
  444. data/spec/unit/knife/core/object_loader_spec.rb +3 -3
  445. data/spec/unit/knife/core/subcommand_loader_spec.rb +107 -33
  446. data/spec/unit/knife/core/ui_spec.rb +84 -72
  447. data/spec/unit/knife/data_bag_from_file_spec.rb +1 -1
  448. data/spec/unit/knife/environment_compare_spec.rb +12 -12
  449. data/spec/unit/knife/environment_create_spec.rb +16 -16
  450. data/spec/unit/knife/environment_delete_spec.rb +14 -14
  451. data/spec/unit/knife/environment_edit_spec.rb +15 -15
  452. data/spec/unit/knife/environment_from_file_spec.rb +17 -17
  453. data/spec/unit/knife/environment_list_spec.rb +7 -7
  454. data/spec/unit/knife/environment_show_spec.rb +10 -10
  455. data/spec/unit/knife/index_rebuild_spec.rb +17 -17
  456. data/spec/unit/knife/knife_help.rb +24 -24
  457. data/spec/unit/knife/node_bulk_delete_spec.rb +14 -14
  458. data/spec/unit/knife/node_delete_spec.rb +11 -11
  459. data/spec/unit/knife/node_edit_spec.rb +17 -17
  460. data/spec/unit/knife/node_environment_set_spec.rb +12 -12
  461. data/spec/unit/knife/node_from_file_spec.rb +8 -8
  462. data/spec/unit/knife/node_list_spec.rb +9 -9
  463. data/spec/unit/knife/node_run_list_add_spec.rb +29 -29
  464. data/spec/unit/knife/node_run_list_remove_spec.rb +28 -13
  465. data/spec/unit/knife/node_run_list_set_spec.rb +27 -27
  466. data/spec/unit/knife/raw_spec.rb +43 -0
  467. data/spec/unit/knife/role_bulk_delete_spec.rb +12 -12
  468. data/spec/unit/knife/role_create_spec.rb +12 -12
  469. data/spec/unit/knife/role_delete_spec.rb +10 -10
  470. data/spec/unit/knife/role_edit_spec.rb +13 -13
  471. data/spec/unit/knife/role_env_run_list_add_spec.rb +217 -0
  472. data/spec/unit/knife/role_env_run_list_clear_spec.rb +100 -0
  473. data/spec/unit/knife/role_env_run_list_remove_spec.rb +108 -0
  474. data/spec/unit/knife/role_env_run_list_replace_spec.rb +108 -0
  475. data/spec/unit/knife/role_env_run_list_set_spec.rb +102 -0
  476. data/spec/unit/knife/role_from_file_spec.rb +10 -10
  477. data/spec/unit/knife/role_list_spec.rb +7 -7
  478. data/spec/unit/knife/role_run_list_add_spec.rb +179 -0
  479. data/spec/unit/knife/role_run_list_clear_spec.rb +90 -0
  480. data/spec/unit/knife/role_run_list_remove_spec.rb +98 -0
  481. data/spec/unit/knife/role_run_list_replace_spec.rb +101 -0
  482. data/spec/unit/knife/role_run_list_set_spec.rb +92 -0
  483. data/spec/unit/knife/ssh_spec.rb +66 -66
  484. data/spec/unit/knife/ssl_check_spec.rb +27 -27
  485. data/spec/unit/knife/ssl_fetch_spec.rb +45 -12
  486. data/spec/unit/knife/status_spec.rb +5 -5
  487. data/spec/unit/knife/tag_create_spec.rb +5 -5
  488. data/spec/unit/knife/tag_delete_spec.rb +6 -6
  489. data/spec/unit/knife/tag_list_spec.rb +4 -4
  490. data/spec/unit/knife/user_create_spec.rb +18 -18
  491. data/spec/unit/knife/user_delete_spec.rb +4 -4
  492. data/spec/unit/knife/user_edit_spec.rb +7 -7
  493. data/spec/unit/knife/user_list_spec.rb +2 -2
  494. data/spec/unit/knife/user_reregister_spec.rb +10 -10
  495. data/spec/unit/knife/user_show_spec.rb +5 -5
  496. data/spec/unit/knife_spec.rb +36 -36
  497. data/spec/unit/lwrp_spec.rb +63 -39
  498. data/spec/unit/mash_spec.rb +6 -6
  499. data/spec/unit/mixin/checksum_spec.rb +2 -2
  500. data/spec/unit/mixin/command_spec.rb +13 -13
  501. data/spec/unit/mixin/convert_to_class_name_spec.rb +6 -6
  502. data/spec/unit/mixin/deep_merge_spec.rb +49 -49
  503. data/spec/unit/mixin/deprecation_spec.rb +5 -5
  504. data/spec/unit/mixin/enforce_ownership_and_permissions_spec.rb +14 -14
  505. data/spec/unit/mixin/homebrew_user_spec.rb +3 -3
  506. data/spec/unit/mixin/params_validate_spec.rb +71 -71
  507. data/spec/unit/mixin/path_sanity_spec.rb +14 -14
  508. data/spec/unit/mixin/securable_spec.rb +177 -177
  509. data/spec/unit/mixin/shell_out_spec.rb +56 -27
  510. data/spec/unit/mixin/template_spec.rb +31 -31
  511. data/spec/unit/mixin/windows_architecture_helper_spec.rb +5 -5
  512. data/spec/unit/mixin/xml_escape_spec.rb +7 -7
  513. data/spec/unit/monkey_patches/uri_spec.rb +1 -1
  514. data/spec/unit/monologger_spec.rb +3 -3
  515. data/spec/unit/node/attribute_spec.rb +185 -136
  516. data/spec/unit/node/immutable_collections_spec.rb +22 -22
  517. data/spec/unit/node_spec.rb +210 -179
  518. data/spec/unit/org_spec.rb +196 -0
  519. data/spec/unit/platform/query_helpers_spec.rb +5 -5
  520. data/spec/unit/platform_spec.rb +46 -46
  521. data/spec/unit/policy_builder/expand_node_object_spec.rb +17 -18
  522. data/spec/unit/policy_builder/policyfile_spec.rb +159 -71
  523. data/spec/unit/provider/directory_spec.rb +5 -5
  524. data/spec/unit/provider/dsc_script_spec.rb +6 -6
  525. data/spec/unit/provider/env_spec.rb +27 -14
  526. data/spec/unit/provider/execute_spec.rb +139 -68
  527. data/spec/unit/provider/file/content_spec.rb +8 -8
  528. data/spec/unit/provider/git_spec.rb +10 -5
  529. data/spec/unit/provider/group/dscl_spec.rb +8 -11
  530. data/spec/unit/provider/group_spec.rb +13 -13
  531. data/spec/unit/provider/ifconfig/aix_spec.rb +3 -2
  532. data/spec/unit/provider/ifconfig/debian_spec.rb +19 -19
  533. data/spec/unit/provider/ifconfig_spec.rb +2 -2
  534. data/spec/unit/provider/mdadm_spec.rb +2 -2
  535. data/spec/unit/provider/mount/aix_spec.rb +5 -5
  536. data/spec/unit/provider/mount/mount_spec.rb +22 -22
  537. data/spec/unit/provider/mount/solaris_spec.rb +20 -20
  538. data/spec/unit/provider/package/aix_spec.rb +23 -22
  539. data/spec/unit/provider/package/apt_spec.rb +23 -4
  540. data/spec/unit/provider/package/dpkg_spec.rb +14 -15
  541. data/spec/unit/provider/package/freebsd/pkgng_spec.rb +1 -1
  542. data/spec/unit/provider/package/freebsd/port_spec.rb +1 -1
  543. data/spec/unit/provider/package/ips_spec.rb +1 -2
  544. data/spec/unit/provider/package/macports_spec.rb +14 -14
  545. data/spec/unit/provider/package/openbsd_spec.rb +66 -0
  546. data/spec/unit/provider/package/pacman_spec.rb +15 -14
  547. data/spec/unit/provider/package/portage_spec.rb +11 -11
  548. data/spec/unit/provider/package/rpm_spec.rb +132 -84
  549. data/spec/unit/provider/package/rubygems_spec.rb +54 -25
  550. data/spec/unit/provider/package/solaris_spec.rb +22 -25
  551. data/spec/unit/provider/package/yum_spec.rb +237 -36
  552. data/spec/unit/provider/package/zypper_spec.rb +9 -12
  553. data/spec/unit/provider/package_spec.rb +276 -2
  554. data/spec/unit/provider/package_spec.rbe +0 -0
  555. data/spec/unit/provider/remote_directory_spec.rb +25 -25
  556. data/spec/unit/provider/remote_file/ftp_spec.rb +3 -3
  557. data/spec/unit/provider/route_spec.rb +3 -3
  558. data/spec/unit/provider/script_spec.rb +61 -43
  559. data/spec/unit/provider/service/aix_service_spec.rb +5 -5
  560. data/spec/unit/provider/service/arch_service_spec.rb +5 -5
  561. data/spec/unit/provider/service/debian_service_spec.rb +8 -8
  562. data/spec/unit/provider/service/freebsd_service_spec.rb +16 -2
  563. data/spec/unit/provider/service/gentoo_service_spec.rb +8 -8
  564. data/spec/unit/provider/service/init_service_spec.rb +5 -5
  565. data/spec/unit/provider/service/insserv_service_spec.rb +2 -2
  566. data/spec/unit/provider/service/invokercd_service_spec.rb +5 -5
  567. data/spec/unit/provider/service/macosx_spec.rb +7 -7
  568. data/spec/unit/provider/service/openbsd_service_spec.rb +543 -0
  569. data/spec/unit/provider/service/redhat_spec.rb +4 -4
  570. data/spec/unit/provider/service/simple_service_spec.rb +2 -2
  571. data/spec/unit/provider/service/solaris_smf_service_spec.rb +14 -14
  572. data/spec/unit/provider/service/systemd_service_spec.rb +15 -7
  573. data/spec/unit/provider/service/upstart_service_spec.rb +4 -4
  574. data/spec/unit/provider/service/windows_spec.rb +119 -25
  575. data/spec/unit/provider/service_spec.rb +1 -1
  576. data/spec/unit/provider/user/dscl_spec.rb +38 -30
  577. data/spec/unit/provider/user_spec.rb +1 -1
  578. data/spec/unit/provider_resolver_spec.rb +7 -7
  579. data/spec/unit/provider_spec.rb +23 -23
  580. data/spec/unit/recipe_spec.rb +194 -83
  581. data/spec/unit/registry_helper_spec.rb +143 -143
  582. data/spec/unit/resource/chef_gem_spec.rb +117 -3
  583. data/spec/unit/resource/conditional_action_not_nothing_spec.rb +2 -2
  584. data/spec/unit/resource/conditional_spec.rb +56 -15
  585. data/spec/unit/resource/deploy_spec.rb +2 -2
  586. data/spec/unit/resource/dsc_script_spec.rb +32 -0
  587. data/spec/unit/resource/execute_spec.rb +4 -0
  588. data/spec/unit/resource/file/verification_spec.rb +111 -0
  589. data/spec/unit/resource/file_spec.rb +14 -0
  590. data/spec/unit/resource/openbsd_package_spec.rb +49 -0
  591. data/spec/unit/resource/remote_file_spec.rb +12 -12
  592. data/spec/unit/resource/resource_notification_spec.rb +18 -18
  593. data/spec/unit/resource/rpm_package_spec.rb +12 -0
  594. data/spec/unit/resource/scm_spec.rb +4 -4
  595. data/spec/unit/resource/script_spec.rb +3 -5
  596. data/spec/unit/resource/subversion_spec.rb +1 -1
  597. data/spec/unit/resource_builder_spec.rb +1 -0
  598. data/spec/unit/resource_collection/resource_list_spec.rb +2 -2
  599. data/spec/unit/resource_collection/resource_set_spec.rb +3 -3
  600. data/spec/unit/resource_collection/stepable_iterator_spec.rb +24 -24
  601. data/spec/unit/resource_collection_spec.rb +52 -52
  602. data/spec/unit/resource_definition_spec.rb +1 -1
  603. data/spec/unit/resource_reporter_spec.rb +118 -118
  604. data/spec/unit/resource_spec.rb +131 -125
  605. data/spec/unit/rest/auth_credentials_spec.rb +73 -73
  606. data/spec/unit/rest_spec.rb +12 -12
  607. data/spec/unit/role_spec.rb +85 -84
  608. data/spec/unit/run_context/cookbook_compiler_spec.rb +18 -18
  609. data/spec/unit/run_context_spec.rb +39 -68
  610. data/spec/unit/run_list/run_list_expansion_spec.rb +21 -21
  611. data/spec/unit/run_list/run_list_item_spec.rb +28 -28
  612. data/spec/unit/run_list/versioned_recipe_list_spec.rb +14 -14
  613. data/spec/unit/run_list_spec.rb +55 -55
  614. data/spec/unit/run_lock_spec.rb +14 -14
  615. data/spec/unit/run_status_spec.rb +24 -24
  616. data/spec/unit/scan_access_control_spec.rb +23 -23
  617. data/spec/unit/search/query_spec.rb +54 -66
  618. data/spec/unit/shell/model_wrapper_spec.rb +13 -13
  619. data/spec/unit/shell/shell_ext_spec.rb +32 -32
  620. data/spec/unit/shell/shell_session_spec.rb +24 -24
  621. data/spec/unit/shell_out_spec.rb +4 -4
  622. data/spec/unit/shell_spec.rb +27 -27
  623. data/spec/unit/user_spec.rb +50 -50
  624. data/spec/unit/util/backup_spec.rb +32 -32
  625. data/spec/unit/util/diff_spec.rb +31 -31
  626. data/spec/unit/util/dsc/configuration_generator_spec.rb +38 -16
  627. data/spec/unit/util/dsc/lcm_output_parser_spec.rb +21 -26
  628. data/spec/unit/util/dsc/local_configuration_manager_spec.rb +10 -10
  629. data/spec/unit/util/editor_spec.rb +10 -10
  630. data/spec/unit/util/file_edit_spec.rb +10 -10
  631. data/spec/unit/util/path_helper_spec.rb +38 -46
  632. data/spec/unit/util/powershell/cmdlet_spec.rb +9 -9
  633. data/spec/unit/util/selinux_spec.rb +30 -30
  634. data/spec/unit/util/threaded_job_queue_spec.rb +6 -6
  635. data/spec/unit/version/platform_spec.rb +5 -5
  636. data/spec/unit/version_class_spec.rb +15 -15
  637. data/spec/unit/version_constraint/platform_spec.rb +7 -7
  638. data/spec/unit/version_constraint_spec.rb +43 -43
  639. data/spec/unit/windows_service_spec.rb +15 -15
  640. data/spec/unit/workstation_config_loader_spec.rb +2 -2
  641. data/tasks/rspec.rb +16 -18
  642. metadata +126 -49
  643. data/bin/shef +0 -35
  644. data/lib/chef/application/agent.rb +0 -18
  645. data/lib/chef/monkey_patches/fileutils.rb +0 -65
  646. data/lib/chef/monkey_patches/numeric.rb +0 -15
  647. data/lib/chef/monkey_patches/object.rb +0 -9
  648. data/lib/chef/monkey_patches/pathname.rb +0 -32
  649. data/lib/chef/monkey_patches/regexp.rb +0 -34
  650. data/lib/chef/monkey_patches/securerandom.rb +0 -44
  651. data/lib/chef/monkey_patches/string.rb +0 -49
  652. data/lib/chef/monkey_patches/tempfile.rb +0 -64
  653. data/lib/chef/monkey_patches/uri.rb +0 -70
@@ -0,0 +1,90 @@
1
+ #
2
+ # Author:: Adam Jacob (<adam@opscode.com>)
3
+ # Author:: Will Albenzi (<walbenzi@gmail.com>)
4
+ # Copyright:: Copyright (c) 2008 Opscode, Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'spec_helper'
21
+
22
+ describe Chef::Knife::RoleRunListClear do
23
+ before(:each) do
24
+ Chef::Config[:role_name] = "will"
25
+ @setup = Chef::Knife::RoleRunListAdd.new
26
+ @setup.name_args = [ "will", "role[monkey]", "role[person]" ]
27
+
28
+ @knife = Chef::Knife::RoleRunListClear.new
29
+ @knife.config = {
30
+ :print_after => nil
31
+ }
32
+ @knife.name_args = [ "will" ]
33
+ allow(@knife).to receive(:output).and_return(true)
34
+
35
+ @role = Chef::Role.new()
36
+ @role.name("will")
37
+ allow(@role).to receive(:save).and_return(true)
38
+
39
+ allow(@knife.ui).to receive(:confirm).and_return(true)
40
+ allow(Chef::Role).to receive(:load).and_return(@role)
41
+
42
+ end
43
+
44
+
45
+
46
+ describe "run" do
47
+
48
+
49
+ # it "should display all the things" do
50
+ # @knife.run
51
+ # @role.to_json.should == 'show all the things'
52
+ # end
53
+
54
+ it "should load the node" do
55
+ expect(Chef::Role).to receive(:load).with("will").and_return(@role)
56
+ @knife.run
57
+ end
58
+
59
+ it "should remove the item from the run list" do
60
+ @setup.run
61
+ @knife.run
62
+ expect(@role.run_list[0]).to be_nil
63
+ end
64
+
65
+ it "should save the node" do
66
+ expect(@role).to receive(:save).and_return(true)
67
+ @knife.run
68
+ end
69
+
70
+ it "should print the run list" do
71
+ expect(@knife).to receive(:output).and_return(true)
72
+ @knife.config[:print_after] = true
73
+ @setup.run
74
+ @knife.run
75
+ end
76
+
77
+ describe "should clear an environmental run list of roles and recipes" do
78
+ it "should remove the items from the run list" do
79
+ @setup.name_args = [ "will", "recipe[orange::chicken]", "role[monkey]", "recipe[duck::type]", "role[person]", "role[bird]", "role[town]" ]
80
+ @setup.run
81
+ @knife.name_args = [ 'will' ]
82
+ @knife.run
83
+ expect(@role.run_list[0]).to be_nil
84
+ end
85
+ end
86
+ end
87
+ end
88
+
89
+
90
+
@@ -0,0 +1,98 @@
1
+ #
2
+ # Author:: Adam Jacob (<adam@opscode.com>)
3
+ # Author:: Will Albenzi (<walbenzi@gmail.com>)
4
+ # Copyright:: Copyright (c) 2008 Opscode, Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'spec_helper'
21
+
22
+ describe Chef::Knife::RoleRunListRemove do
23
+ before(:each) do
24
+ Chef::Config[:role_name] = "will"
25
+ @setup = Chef::Knife::RoleRunListAdd.new
26
+ @setup.name_args = [ "will", "role[monkey]", "role[person]" ]
27
+
28
+ @knife = Chef::Knife::RoleRunListRemove.new
29
+ @knife.config = {
30
+ :print_after => nil
31
+ }
32
+ @knife.name_args = [ "will", "role[monkey]" ]
33
+ allow(@knife).to receive(:output).and_return(true)
34
+
35
+ @role = Chef::Role.new()
36
+ @role.name("will")
37
+ allow(@role).to receive(:save).and_return(true)
38
+
39
+ allow(@knife.ui).to receive(:confirm).and_return(true)
40
+ allow(Chef::Role).to receive(:load).and_return(@role)
41
+
42
+ end
43
+
44
+
45
+
46
+ describe "run" do
47
+
48
+
49
+ # it "should display all the things" do
50
+ # @knife.run
51
+ # @role.to_json.should == 'show all the things'
52
+ # end
53
+
54
+ it "should load the node" do
55
+ expect(Chef::Role).to receive(:load).with("will").and_return(@role)
56
+ @knife.run
57
+ end
58
+
59
+ it "should remove the item from the run list" do
60
+ @setup.run
61
+ @knife.run
62
+ expect(@role.run_list[0]).to eq('role[person]')
63
+ expect(@role.run_list[1]).to be_nil
64
+ end
65
+
66
+ it "should save the node" do
67
+ expect(@role).to receive(:save).and_return(true)
68
+ @knife.run
69
+ end
70
+
71
+ it "should print the run list" do
72
+ expect(@knife).to receive(:output).and_return(true)
73
+ @knife.config[:print_after] = true
74
+ @setup.run
75
+ @knife.run
76
+ end
77
+
78
+ describe "run with a list of roles and recipes" do
79
+ it "should remove the items from the run list" do
80
+ @setup.name_args = [ "will", "recipe[orange::chicken]", "role[monkey]", "recipe[duck::type]", "role[person]", "role[bird]", "role[town]" ]
81
+ @setup.run
82
+ @knife.name_args = [ 'will', 'role[monkey]' ]
83
+ @knife.run
84
+ @knife.name_args = [ 'will', 'recipe[duck::type]' ]
85
+ @knife.run
86
+ expect(@role.run_list).not_to include('role[monkey]')
87
+ expect(@role.run_list).not_to include('recipe[duck::type]')
88
+ expect(@role.run_list[0]).to eq('recipe[orange::chicken]')
89
+ expect(@role.run_list[1]).to eq('role[person]')
90
+ expect(@role.run_list[2]).to eq('role[bird]')
91
+ expect(@role.run_list[3]).to eq('role[town]')
92
+ end
93
+ end
94
+ end
95
+ end
96
+
97
+
98
+
@@ -0,0 +1,101 @@
1
+ #
2
+ # Author:: Adam Jacob (<adam@opscode.com>)
3
+ # Author:: Will Albenzi (<walbenzi@gmail.com>)
4
+ # Copyright:: Copyright (c) 2008 Opscode, Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'spec_helper'
21
+
22
+ describe Chef::Knife::RoleRunListReplace do
23
+ before(:each) do
24
+ Chef::Config[:role_name] = "will"
25
+ @setup = Chef::Knife::RoleRunListAdd.new
26
+ @setup.name_args = [ "will", "role[monkey]", "role[dude]", "role[fixer]" ]
27
+
28
+ @knife = Chef::Knife::RoleRunListReplace.new
29
+ @knife.config = {
30
+ :print_after => nil
31
+ }
32
+ @knife.name_args = [ "will", "role[dude]", "role[person]" ]
33
+ allow(@knife).to receive(:output).and_return(true)
34
+
35
+ @role = Chef::Role.new()
36
+ @role.name("will")
37
+ allow(@role).to receive(:save).and_return(true)
38
+
39
+ allow(@knife.ui).to receive(:confirm).and_return(true)
40
+ allow(Chef::Role).to receive(:load).and_return(@role)
41
+
42
+ end
43
+
44
+
45
+
46
+ describe "run" do
47
+
48
+
49
+ # it "should display all the things" do
50
+ # @knife.run
51
+ # @role.to_json.should == 'show all the things'
52
+ # end
53
+
54
+ it "should load the node" do
55
+ expect(Chef::Role).to receive(:load).with("will").and_return(@role)
56
+ @knife.run
57
+ end
58
+
59
+ it "should remove the item from the run list" do
60
+ @setup.run
61
+ @knife.run
62
+ expect(@role.run_list[0]).to eq('role[monkey]')
63
+ expect(@role.run_list[1]).not_to eq('role[dude]')
64
+ expect(@role.run_list[1]).to eq('role[person]')
65
+ expect(@role.run_list[2]).to eq('role[fixer]')
66
+ expect(@role.run_list[3]).to be_nil
67
+ end
68
+
69
+ it "should save the node" do
70
+ expect(@role).to receive(:save).and_return(true)
71
+ @knife.run
72
+ end
73
+
74
+ it "should print the run list" do
75
+ expect(@knife).to receive(:output).and_return(true)
76
+ @knife.config[:print_after] = true
77
+ @setup.run
78
+ @knife.run
79
+ end
80
+
81
+ describe "run with a list of roles and recipes" do
82
+ it "should replace the items from the run list" do
83
+ @setup.name_args = [ "will", "recipe[orange::chicken]", "role[monkey]", "recipe[duck::type]", "role[person]", "role[bird]", "role[town]" ]
84
+ @setup.run
85
+ @knife.name_args = [ 'will', 'role[monkey]', 'role[gibbon]' ]
86
+ @knife.run
87
+ @knife.name_args = [ 'will', 'recipe[duck::type]', 'recipe[duck::mallard]' ]
88
+ @knife.run
89
+ expect(@role.run_list).not_to include('role[monkey]')
90
+ expect(@role.run_list).not_to include('recipe[duck::type]')
91
+ expect(@role.run_list[0]).to eq('recipe[orange::chicken]')
92
+ expect(@role.run_list[1]).to eq('role[gibbon]')
93
+ expect(@role.run_list[2]).to eq('recipe[duck::mallard]')
94
+ expect(@role.run_list[3]).to eq('role[person]')
95
+ expect(@role.run_list[4]).to eq('role[bird]')
96
+ expect(@role.run_list[5]).to eq('role[town]')
97
+ expect(@role.run_list[6]).to be_nil
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,92 @@
1
+ #
2
+ # Author:: Adam Jacob (<adam@opscode.com>)
3
+ # Author:: Will Albenzi (<walbenzi@gmail.com>)
4
+ # Copyright:: Copyright (c) 2008 Opscode, Inc.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ require 'spec_helper'
21
+
22
+ describe Chef::Knife::RoleRunListSet do
23
+ before(:each) do
24
+ Chef::Config[:role_name] = "will"
25
+ @setup = Chef::Knife::RoleRunListAdd.new
26
+ @setup.name_args = [ "will", "role[monkey]", "role[person]", "role[bucket]" ]
27
+
28
+ @knife = Chef::Knife::RoleRunListSet.new
29
+ @knife.config = {
30
+ :print_after => nil
31
+ }
32
+ @knife.name_args = [ "will", "role[owen]", "role[mauntel]" ]
33
+ allow(@knife).to receive(:output).and_return(true)
34
+
35
+ @role = Chef::Role.new()
36
+ @role.name("will")
37
+ allow(@role).to receive(:save).and_return(true)
38
+
39
+ allow(@knife.ui).to receive(:confirm).and_return(true)
40
+ allow(Chef::Role).to receive(:load).and_return(@role)
41
+
42
+ end
43
+
44
+
45
+
46
+ describe "run" do
47
+
48
+
49
+ # it "should display all the things" do
50
+ # @knife.run
51
+ # @role.to_json.should == 'show all the things'
52
+ # end
53
+
54
+ it "should load the node" do
55
+ expect(Chef::Role).to receive(:load).with("will").and_return(@role)
56
+ @knife.run
57
+ end
58
+
59
+ it "should replace all the items in the runlist with what is specified" do
60
+ @setup.run
61
+ @knife.run
62
+ expect(@role.run_list[0]).to eq("role[owen]")
63
+ expect(@role.run_list[1]).to eq("role[mauntel]")
64
+ expect(@role.run_list[2]).to be_nil
65
+ end
66
+
67
+ it "should save the node" do
68
+ expect(@role).to receive(:save).and_return(true)
69
+ @knife.run
70
+ end
71
+
72
+ it "should print the run list" do
73
+ expect(@knife).to receive(:output).and_return(true)
74
+ @knife.config[:print_after] = true
75
+ @setup.run
76
+ @knife.run
77
+ end
78
+
79
+ describe "should clear an environmental run list of roles and recipes" do
80
+ it "should remove the items from the run list" do
81
+ @setup.name_args = [ "will", "recipe[orange::chicken]", "role[monkey]", "recipe[duck::type]", "role[person]", "role[bird]", "role[town]" ]
82
+ @setup.run
83
+ @knife.name_args = [ "will", "role[coke]", "role[pepsi]" ]
84
+ @knife.run
85
+ expect(@role.run_list[0]).to eq("role[coke]")
86
+ expect(@role.run_list[1]).to eq("role[pepsi]")
87
+ expect(@role.run_list[2]).to be_nil
88
+ expect(@role.run_list[3]).to be_nil
89
+ end
90
+ end
91
+ end
92
+ end
@@ -45,8 +45,8 @@ describe Chef::Knife::Ssh do
45
45
  end
46
46
 
47
47
  def configure_query(node_array)
48
- @query.stub(:search).and_return([node_array])
49
- Chef::Search::Query.stub(:new).and_return(@query)
48
+ allow(@query).to receive(:search).and_return([node_array])
49
+ allow(Chef::Search::Query).to receive(:new).and_return(@query)
50
50
  end
51
51
 
52
52
  def self.should_return_specified_attributes
@@ -54,7 +54,7 @@ describe Chef::Knife::Ssh do
54
54
  @knife.config[:attribute] = "ipaddress"
55
55
  @knife.config[:attribute_from_cli] = "ipaddress"
56
56
  configure_query([@node_foo, @node_bar])
57
- @knife.should_receive(:session_from_list).with([['10.0.0.1', nil], ['10.0.0.2', nil]])
57
+ expect(@knife).to receive(:session_from_list).with([['10.0.0.1', nil], ['10.0.0.2', nil]])
58
58
  @knife.configure_session
59
59
  end
60
60
 
@@ -62,14 +62,14 @@ describe Chef::Knife::Ssh do
62
62
  @knife.config[:attribute] = "config_file" # this value will be the config file
63
63
  @knife.config[:attribute_from_cli] = "ipaddress" # this is the value of the command line via #configure_attribute
64
64
  configure_query([@node_foo, @node_bar])
65
- @knife.should_receive(:session_from_list).with([['10.0.0.1', nil], ['10.0.0.2', nil]])
65
+ expect(@knife).to receive(:session_from_list).with([['10.0.0.1', nil], ['10.0.0.2', nil]])
66
66
  @knife.configure_session
67
67
  end
68
68
  end
69
69
 
70
70
  it "searchs for and returns an array of fqdns" do
71
71
  configure_query([@node_foo, @node_bar])
72
- @knife.should_receive(:session_from_list).with([
72
+ expect(@knife).to receive(:session_from_list).with([
73
73
  ['foo.example.org', nil],
74
74
  ['bar.example.org', nil]
75
75
  ])
@@ -86,7 +86,7 @@ describe Chef::Knife::Ssh do
86
86
 
87
87
  it "returns an array of cloud public hostnames" do
88
88
  configure_query([@node_foo, @node_bar])
89
- @knife.should_receive(:session_from_list).with([
89
+ expect(@knife).to receive(:session_from_list).with([
90
90
  ['ec2-10-0-0-1.compute-1.amazonaws.com', nil],
91
91
  ['ec2-10-0-0-2.compute-1.amazonaws.com', nil]
92
92
  ])
@@ -98,22 +98,22 @@ describe Chef::Knife::Ssh do
98
98
 
99
99
  it "should raise an error if no host are found" do
100
100
  configure_query([ ])
101
- @knife.ui.should_receive(:fatal)
102
- @knife.should_receive(:exit).with(10)
101
+ expect(@knife.ui).to receive(:fatal)
102
+ expect(@knife).to receive(:exit).with(10)
103
103
  @knife.configure_session
104
104
  end
105
105
 
106
106
  context "when there are some hosts found but they do not have an attribute to connect with" do
107
107
  before do
108
- @query.stub(:search).and_return([[@node_foo, @node_bar]])
108
+ allow(@query).to receive(:search).and_return([[@node_foo, @node_bar]])
109
109
  @node_foo.automatic_attrs[:fqdn] = nil
110
110
  @node_bar.automatic_attrs[:fqdn] = nil
111
- Chef::Search::Query.stub(:new).and_return(@query)
111
+ allow(Chef::Search::Query).to receive(:new).and_return(@query)
112
112
  end
113
113
 
114
114
  it "should raise a specific error (CHEF-3402)" do
115
- @knife.ui.should_receive(:fatal).with(/^2 nodes found/)
116
- @knife.should_receive(:exit).with(10)
115
+ expect(@knife.ui).to receive(:fatal).with(/^2 nodes found/)
116
+ expect(@knife).to receive(:exit).with(10)
117
117
  @knife.configure_session
118
118
  end
119
119
  end
@@ -126,7 +126,7 @@ describe Chef::Knife::Ssh do
126
126
 
127
127
  it "returns an array of provided values" do
128
128
  @knife.instance_variable_set(:@name_args, ["foo.example.org bar.example.org"])
129
- @knife.should_receive(:session_from_list).with(['foo.example.org', 'bar.example.org'])
129
+ expect(@knife).to receive(:session_from_list).with(['foo.example.org', 'bar.example.org'])
130
130
  @knife.configure_session
131
131
  end
132
132
  end
@@ -140,34 +140,34 @@ describe Chef::Knife::Ssh do
140
140
 
141
141
  it "should return fqdn by default" do
142
142
  @knife.configure_attribute
143
- @knife.config[:attribute].should == "fqdn"
143
+ expect(@knife.config[:attribute]).to eq("fqdn")
144
144
  end
145
145
 
146
146
  it "should return the value set in the configuration file" do
147
147
  Chef::Config[:knife][:ssh_attribute] = "config_file"
148
148
  @knife.configure_attribute
149
- @knife.config[:attribute].should == "config_file"
149
+ expect(@knife.config[:attribute]).to eq("config_file")
150
150
  end
151
151
 
152
152
  it "should return the value set on the command line" do
153
153
  @knife.config[:attribute] = "command_line"
154
154
  @knife.configure_attribute
155
- @knife.config[:attribute].should == "command_line"
155
+ expect(@knife.config[:attribute]).to eq("command_line")
156
156
  end
157
157
 
158
158
  it "should set attribute_from_cli to the value of attribute from the command line" do
159
159
  @knife.config[:attribute] = "command_line"
160
160
  @knife.configure_attribute
161
- @knife.config[:attribute].should == "command_line"
162
- @knife.config[:attribute_from_cli].should == "command_line"
161
+ expect(@knife.config[:attribute]).to eq("command_line")
162
+ expect(@knife.config[:attribute_from_cli]).to eq("command_line")
163
163
  end
164
164
 
165
165
  it "should prefer the command line over the config file for the value of attribute_from_cli" do
166
166
  Chef::Config[:knife][:ssh_attribute] = "config_file"
167
167
  @knife.config[:attribute] = "command_line"
168
168
  @knife.configure_attribute
169
- @knife.config[:attribute].should == "command_line"
170
- @knife.config[:attribute_from_cli].should == "command_line"
169
+ expect(@knife.config[:attribute]).to eq("command_line")
170
+ expect(@knife.config[:attribute_from_cli]).to eq("command_line")
171
171
  end
172
172
  end
173
173
 
@@ -175,22 +175,22 @@ describe Chef::Knife::Ssh do
175
175
  before :each do
176
176
  @knife.instance_variable_set(:@longest, 0)
177
177
  ssh_config = {:timeout => 50, :user => "locutus", :port => 23 }
178
- Net::SSH.stub(:configuration_for).with('the.b.org').and_return(ssh_config)
178
+ allow(Net::SSH).to receive(:configuration_for).with('the.b.org').and_return(ssh_config)
179
179
  end
180
180
 
181
181
  it "uses the port from an ssh config file" do
182
182
  @knife.session_from_list([['the.b.org', nil]])
183
- @knife.session.servers[0].port.should == 23
183
+ expect(@knife.session.servers[0].port).to eq(23)
184
184
  end
185
185
 
186
186
  it "uses the port from a cloud attr" do
187
187
  @knife.session_from_list([['the.b.org', 123]])
188
- @knife.session.servers[0].port.should == 123
188
+ expect(@knife.session.servers[0].port).to eq(123)
189
189
  end
190
190
 
191
191
  it "uses the user from an ssh config file" do
192
192
  @knife.session_from_list([['the.b.org', 123]])
193
- @knife.session.servers[0].user.should == "locutus"
193
+ expect(@knife.session.servers[0].user).to eq("locutus")
194
194
  end
195
195
  end
196
196
 
@@ -206,26 +206,26 @@ describe Chef::Knife::Ssh do
206
206
  let(:command) { "false" }
207
207
 
208
208
  before do
209
- execution_channel.
210
- should_receive(:on_request).
209
+ expect(execution_channel).
210
+ to receive(:on_request).
211
211
  and_yield(nil, double(:data_stream, :read_long => exit_status))
212
212
 
213
- session_channel.
214
- should_receive(:exec).
213
+ expect(session_channel).
214
+ to receive(:exec).
215
215
  with(command).
216
216
  and_yield(execution_channel, true)
217
217
 
218
- execution_channel2.
219
- should_receive(:on_request).
218
+ expect(execution_channel2).
219
+ to receive(:on_request).
220
220
  and_yield(nil, double(:data_stream, :read_long => exit_status2))
221
221
 
222
- session_channel2.
223
- should_receive(:exec).
222
+ expect(session_channel2).
223
+ to receive(:exec).
224
224
  with(command).
225
225
  and_yield(execution_channel2, true)
226
226
 
227
- session.
228
- should_receive(:open_channel).
227
+ expect(session).
228
+ to receive(:open_channel).
229
229
  and_yield(session_channel).
230
230
  and_yield(session_channel2)
231
231
  end
@@ -235,7 +235,7 @@ describe Chef::Knife::Ssh do
235
235
  let(:exit_status2) { 0 }
236
236
 
237
237
  it "returns a 0 exit code" do
238
- @knife.ssh_command(command, session).should == 0
238
+ expect(@knife.ssh_command(command, session)).to eq(0)
239
239
  end
240
240
  end
241
241
 
@@ -244,7 +244,7 @@ describe Chef::Knife::Ssh do
244
244
  let(:exit_status2) { 0 }
245
245
 
246
246
  it "returns a non-zero exit code" do
247
- @knife.ssh_command(command, session).should == 1
247
+ expect(@knife.ssh_command(command, session)).to eq(1)
248
248
  end
249
249
  end
250
250
 
@@ -253,7 +253,7 @@ describe Chef::Knife::Ssh do
253
253
  let(:exit_status2) { 2 }
254
254
 
255
255
  it "returns a non-zero exit code" do
256
- @knife.ssh_command(command, session).should == 2
256
+ expect(@knife.ssh_command(command, session)).to eq(2)
257
257
  end
258
258
  end
259
259
  end
@@ -261,9 +261,9 @@ describe Chef::Knife::Ssh do
261
261
  describe "#run" do
262
262
  before do
263
263
  @query = Chef::Search::Query.new
264
- @query.should_receive(:search).and_return([[@node_foo]])
265
- Chef::Search::Query.stub(:new).and_return(@query)
266
- @knife.stub(:ssh_command).and_return(exit_code)
264
+ expect(@query).to receive(:search).and_return([[@node_foo]])
265
+ allow(Chef::Search::Query).to receive(:new).and_return(@query)
266
+ allow(@knife).to receive(:ssh_command).and_return(exit_code)
267
267
  @knife.name_args = ['*:*', 'false']
268
268
  end
269
269
 
@@ -271,7 +271,7 @@ describe Chef::Knife::Ssh do
271
271
  let(:exit_code) { 1 }
272
272
 
273
273
  it "should exit with a non-zero exit code" do
274
- @knife.should_receive(:exit).with(exit_code)
274
+ expect(@knife).to receive(:exit).with(exit_code)
275
275
  @knife.run
276
276
  end
277
277
  end
@@ -280,7 +280,7 @@ describe Chef::Knife::Ssh do
280
280
  let(:exit_code) { 0 }
281
281
 
282
282
  it "should not exit" do
283
- @knife.should_not_receive(:exit)
283
+ expect(@knife).not_to receive(:exit)
284
284
  @knife.run
285
285
  end
286
286
  end
@@ -296,23 +296,23 @@ describe Chef::Knife::Ssh do
296
296
  # in this case ssh_password_ng exists, but ssh_password does not
297
297
  it "should prompt for a password when ssh_passsword_ng is nil" do
298
298
  @knife.config[:ssh_password_ng] = nil
299
- @knife.should_receive(:get_password).and_return("mysekretpassw0rd")
299
+ expect(@knife).to receive(:get_password).and_return("mysekretpassw0rd")
300
300
  @knife.configure_password
301
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
301
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
302
302
  end
303
303
 
304
304
  it "should set ssh_password to false if ssh_password_ng is false" do
305
305
  @knife.config[:ssh_password_ng] = false
306
- @knife.should_not_receive(:get_password)
306
+ expect(@knife).not_to receive(:get_password)
307
307
  @knife.configure_password
308
- @knife.config[:ssh_password].should be_false
308
+ expect(@knife.config[:ssh_password]).to be_falsey
309
309
  end
310
310
 
311
311
  it "should set ssh_password to ssh_password_ng if we set a password" do
312
312
  @knife.config[:ssh_password_ng] = "mysekretpassw0rd"
313
- @knife.should_not_receive(:get_password)
313
+ expect(@knife).not_to receive(:get_password)
314
314
  @knife.configure_password
315
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
315
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
316
316
  end
317
317
  end
318
318
 
@@ -320,23 +320,23 @@ describe Chef::Knife::Ssh do
320
320
  # in this case ssh_password exists, but ssh_password_ng does not
321
321
  it "should set ssh_password to nil when ssh_password is nil" do
322
322
  @knife.config[:ssh_password] = nil
323
- @knife.should_not_receive(:get_password)
323
+ expect(@knife).not_to receive(:get_password)
324
324
  @knife.configure_password
325
- @knife.config[:ssh_password].should be_nil
325
+ expect(@knife.config[:ssh_password]).to be_nil
326
326
  end
327
327
 
328
328
  it "should set ssh_password to false when ssh_password is false" do
329
329
  @knife.config[:ssh_password] = false
330
- @knife.should_not_receive(:get_password)
330
+ expect(@knife).not_to receive(:get_password)
331
331
  @knife.configure_password
332
- @knife.config[:ssh_password].should be_false
332
+ expect(@knife.config[:ssh_password]).to be_falsey
333
333
  end
334
334
 
335
335
  it "should set ssh_password to ssh_password if we set a password" do
336
336
  @knife.config[:ssh_password] = "mysekretpassw0rd"
337
- @knife.should_not_receive(:get_password)
337
+ expect(@knife).not_to receive(:get_password)
338
338
  @knife.configure_password
339
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
339
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
340
340
  end
341
341
  end
342
342
  context "when setting ssh_password in the config variable" do
@@ -347,23 +347,23 @@ describe Chef::Knife::Ssh do
347
347
  # in this case ssh_password_ng exists, but ssh_password does not
348
348
  it "should prompt for a password when ssh_passsword_ng is nil" do
349
349
  @knife.config[:ssh_password_ng] = nil
350
- @knife.should_receive(:get_password).and_return("mysekretpassw0rd")
350
+ expect(@knife).to receive(:get_password).and_return("mysekretpassw0rd")
351
351
  @knife.configure_password
352
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
352
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
353
353
  end
354
354
 
355
355
  it "should set ssh_password to the configured knife.rb value if ssh_password_ng is false" do
356
356
  @knife.config[:ssh_password_ng] = false
357
- @knife.should_not_receive(:get_password)
357
+ expect(@knife).not_to receive(:get_password)
358
358
  @knife.configure_password
359
- @knife.config[:ssh_password].should == "my_knife_passw0rd"
359
+ expect(@knife.config[:ssh_password]).to eq("my_knife_passw0rd")
360
360
  end
361
361
 
362
362
  it "should set ssh_password to ssh_password_ng if we set a password" do
363
363
  @knife.config[:ssh_password_ng] = "mysekretpassw0rd"
364
- @knife.should_not_receive(:get_password)
364
+ expect(@knife).not_to receive(:get_password)
365
365
  @knife.configure_password
366
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
366
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
367
367
  end
368
368
  end
369
369
 
@@ -371,23 +371,23 @@ describe Chef::Knife::Ssh do
371
371
  # in this case ssh_password exists, but ssh_password_ng does not
372
372
  it "should set ssh_password to the configured knife.rb value when ssh_password is nil" do
373
373
  @knife.config[:ssh_password] = nil
374
- @knife.should_not_receive(:get_password)
374
+ expect(@knife).not_to receive(:get_password)
375
375
  @knife.configure_password
376
- @knife.config[:ssh_password].should == "my_knife_passw0rd"
376
+ expect(@knife.config[:ssh_password]).to eq("my_knife_passw0rd")
377
377
  end
378
378
 
379
379
  it "should set ssh_password to the configured knife.rb value when ssh_password is false" do
380
380
  @knife.config[:ssh_password] = false
381
- @knife.should_not_receive(:get_password)
381
+ expect(@knife).not_to receive(:get_password)
382
382
  @knife.configure_password
383
- @knife.config[:ssh_password].should == "my_knife_passw0rd"
383
+ expect(@knife.config[:ssh_password]).to eq("my_knife_passw0rd")
384
384
  end
385
385
 
386
386
  it "should set ssh_password to ssh_password if we set a password" do
387
387
  @knife.config[:ssh_password] = "mysekretpassw0rd"
388
- @knife.should_not_receive(:get_password)
388
+ expect(@knife).not_to receive(:get_password)
389
389
  @knife.configure_password
390
- @knife.config[:ssh_password].should == "mysekretpassw0rd"
390
+ expect(@knife.config[:ssh_password]).to eq("mysekretpassw0rd")
391
391
  end
392
392
  end
393
393
  end