chef 16.10.8-universal-mingw32 → 17.0.242-universal-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 (662) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -10
  3. data/README.md +1 -1
  4. data/Rakefile +13 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +7 -9
  7. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.Wrapper.dll +0 -0
  8. data/distro/ruby_bin_folder/AMD64/Chef.PowerShell.dll +0 -0
  9. data/distro/ruby_bin_folder/AMD64/Newtonsoft.Json.dll +0 -0
  10. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  11. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  12. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  13. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
  14. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  15. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  16. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  17. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  18. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  19. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  20. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  21. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  22. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  23. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  24. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  25. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  26. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  27. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  28. data/distro/ruby_bin_folder/AMD64/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  29. data/distro/ruby_bin_folder/x86/Chef.PowerShell.dll +0 -0
  30. data/distro/ruby_bin_folder/x86/Chef.Powershell.Wrapper.dll +0 -0
  31. data/distro/ruby_bin_folder/x86/Newtonsoft.Json.dll +0 -0
  32. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.PowerShell.Wrapper.Core.dll +0 -0
  33. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.dll +0 -0
  34. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Chef.Powershell.Core.pdb +0 -0
  35. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.NETCore.App.deps.json +153 -149
  36. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Diagnostics.dll +0 -0
  37. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Management.dll +0 -0
  38. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Commands.Utility.dll +0 -0
  39. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.ConsoleHost.dll +0 -0
  40. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.CoreCLR.Eventing.dll +0 -0
  41. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.MarkdownRender.dll +0 -0
  42. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.PowerShell.Security.dll +0 -0
  43. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Management.dll +0 -0
  44. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Microsoft.WSMan.Runtime.dll +0 -0
  45. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/Newtonsoft.Json.dll +0 -0
  46. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.Messages.dll +0 -0
  47. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Diagnostics.EventLog.dll +0 -0
  48. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Drawing.Common.dll +0 -0
  49. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Management.Automation.dll +0 -0
  50. data/distro/ruby_bin_folder/x86/shared/Microsoft.NETCore.App/5.0.0/System.Security.Cryptography.Pkcs.dll +0 -0
  51. data/lib/chef/application/base.rb +1 -1
  52. data/lib/chef/applications.rb +0 -1
  53. data/lib/chef/chef_fs/command_line.rb +5 -2
  54. data/lib/chef/chef_fs/file_system.rb +9 -10
  55. data/lib/chef/client.rb +2 -2
  56. data/lib/chef/compliance/default_attributes.rb +10 -5
  57. data/lib/chef/compliance/fetcher/automate.rb +15 -11
  58. data/lib/chef/compliance/reporter/automate.rb +17 -7
  59. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  60. data/lib/chef/compliance/reporter/cli.rb +77 -0
  61. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  62. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  63. data/lib/chef/compliance/runner.rb +71 -28
  64. data/lib/chef/cookbook/synchronizer.rb +3 -5
  65. data/lib/chef/cookbook_loader.rb +2 -4
  66. data/lib/chef/cookbook_uploader.rb +0 -1
  67. data/lib/chef/data_bag_item.rb +11 -2
  68. data/lib/chef/delayed_evaluator.rb +4 -0
  69. data/lib/chef/deprecated.rb +4 -0
  70. data/lib/chef/dsl/chef_vault.rb +6 -6
  71. data/lib/chef/dsl/reboot_pending.rb +1 -2
  72. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  73. data/lib/chef/group.rb +75 -0
  74. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  75. data/lib/chef/node/attribute.rb +6 -4
  76. data/lib/chef/node/immutable_collections.rb +13 -0
  77. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  78. data/lib/chef/org.rb +3 -2
  79. data/lib/chef/property.rb +18 -0
  80. data/lib/chef/provider.rb +1 -1
  81. data/lib/chef/provider/cron.rb +1 -1
  82. data/lib/chef/provider/execute.rb +2 -1
  83. data/lib/chef/provider/file.rb +2 -2
  84. data/lib/chef/provider/git.rb +5 -7
  85. data/lib/chef/provider/group/groupadd.rb +3 -3
  86. data/lib/chef/provider/group/groupmod.rb +3 -3
  87. data/lib/chef/provider/group/pw.rb +3 -3
  88. data/lib/chef/provider/ifconfig.rb +2 -2
  89. data/lib/chef/provider/link.rb +2 -2
  90. data/lib/chef/provider/mount.rb +12 -7
  91. data/lib/chef/provider/mount/aix.rb +3 -3
  92. data/lib/chef/provider/mount/mount.rb +6 -6
  93. data/lib/chef/provider/mount/windows.rb +1 -1
  94. data/lib/chef/provider/package.rb +17 -21
  95. data/lib/chef/provider/package/apt.rb +27 -1
  96. data/lib/chef/provider/package/deb.rb +3 -3
  97. data/lib/chef/provider/package/dnf/dnf_helper.py +5 -1
  98. data/lib/chef/provider/package/portage.rb +2 -2
  99. data/lib/chef/provider/package/rubygems.rb +11 -17
  100. data/lib/chef/provider/package/windows.rb +2 -4
  101. data/lib/chef/provider/package/yum/yum_helper.py +5 -1
  102. data/lib/chef/provider/route.rb +2 -2
  103. data/lib/chef/provider/service.rb +6 -6
  104. data/lib/chef/provider/service/aixinit.rb +1 -1
  105. data/lib/chef/provider/service/debian.rb +1 -1
  106. data/lib/chef/provider/service/freebsd.rb +15 -21
  107. data/lib/chef/provider/service/macosx.rb +7 -7
  108. data/lib/chef/provider/service/systemd.rb +43 -14
  109. data/lib/chef/provider/service/upstart.rb +2 -13
  110. data/lib/chef/provider/service/windows.rb +12 -12
  111. data/lib/chef/provider/subversion.rb +10 -12
  112. data/lib/chef/provider/systemd_unit.rb +36 -10
  113. data/lib/chef/provider/template/content.rb +2 -6
  114. data/lib/chef/provider/user.rb +2 -2
  115. data/lib/chef/provider/user/dscl.rb +1 -1
  116. data/lib/chef/provider/user/mac.rb +17 -20
  117. data/lib/chef/provider/user/pw.rb +1 -1
  118. data/lib/chef/provider/user/windows.rb +1 -1
  119. data/lib/chef/provider/zypper_repository.rb +2 -2
  120. data/lib/chef/providers.rb +0 -1
  121. data/lib/chef/resource/alternatives.rb +6 -6
  122. data/lib/chef/resource/apt_package.rb +1 -1
  123. data/lib/chef/resource/apt_preference.rb +2 -2
  124. data/lib/chef/resource/apt_repository.rb +6 -6
  125. data/lib/chef/resource/apt_update.rb +3 -2
  126. data/lib/chef/resource/archive_file.rb +2 -3
  127. data/lib/chef/resource/breakpoint.rb +1 -1
  128. data/lib/chef/resource/build_essential.rb +2 -6
  129. data/lib/chef/resource/chef_client_config.rb +2 -2
  130. data/lib/chef/resource/chef_client_cron.rb +5 -5
  131. data/lib/chef/resource/chef_client_launchd.rb +4 -4
  132. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  133. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  134. data/lib/chef/resource/chef_handler.rb +3 -7
  135. data/lib/chef/resource/chef_sleep.rb +1 -1
  136. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  137. data/lib/chef/resource/chocolatey_config.rb +2 -6
  138. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  139. data/lib/chef/resource/chocolatey_source.rb +4 -10
  140. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  141. data/lib/chef/resource/cron_access.rb +2 -4
  142. data/lib/chef/resource/dmg_package.rb +6 -10
  143. data/lib/chef/resource/dpkg_package.rb +1 -1
  144. data/lib/chef/resource/execute.rb +6 -1
  145. data/lib/chef/resource/file.rb +1 -1
  146. data/lib/chef/resource/group.rb +2 -2
  147. data/lib/chef/resource/homebrew_cask.rb +2 -6
  148. data/lib/chef/resource/homebrew_tap.rb +2 -6
  149. data/lib/chef/resource/hostname.rb +21 -17
  150. data/lib/chef/resource/http_request.rb +1 -1
  151. data/lib/chef/resource/kernel_module.rb +6 -17
  152. data/lib/chef/resource/locale.rb +2 -3
  153. data/lib/chef/resource/lwrp_base.rb +4 -0
  154. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  155. data/lib/chef/resource/mdadm.rb +53 -7
  156. data/lib/chef/resource/mount.rb +2 -1
  157. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  158. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  159. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  160. data/lib/chef/resource/plist.rb +7 -7
  161. data/lib/chef/resource/powershell_script.rb +1 -1
  162. data/lib/chef/resource/remote_file.rb +1 -1
  163. data/lib/chef/resource/rhsm_errata.rb +16 -1
  164. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  165. data/lib/chef/resource/rhsm_register.rb +12 -6
  166. data/lib/chef/resource/rhsm_repo.rb +2 -6
  167. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  168. data/lib/chef/resource/scm/git.rb +1 -1
  169. data/lib/chef/resource/sudo.rb +6 -6
  170. data/lib/chef/resource/sysctl.rb +2 -6
  171. data/lib/chef/resource/systemd_unit.rb +2 -2
  172. data/lib/chef/resource/template.rb +1 -1
  173. data/lib/chef/resource/timezone.rb +1 -3
  174. data/lib/chef/resource/user/mac_user.rb +1 -1
  175. data/lib/chef/resource/user_ulimit.rb +2 -2
  176. data/lib/chef/resource/windows_ad_join.rb +2 -6
  177. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  178. data/lib/chef/resource/windows_auto_run.rb +2 -5
  179. data/lib/chef/resource/windows_certificate.rb +207 -73
  180. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  181. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  182. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  183. data/lib/chef/resource/windows_dns_record.rb +2 -6
  184. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  185. data/lib/chef/resource/windows_env.rb +5 -4
  186. data/lib/chef/resource/windows_feature.rb +3 -9
  187. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  188. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  189. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  190. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  191. data/lib/chef/resource/windows_font.rb +2 -4
  192. data/lib/chef/resource/windows_pagefile.rb +2 -6
  193. data/lib/chef/resource/windows_path.rb +2 -2
  194. data/lib/chef/resource/windows_printer.rb +4 -4
  195. data/lib/chef/resource/windows_printer_port.rb +6 -6
  196. data/lib/chef/resource/windows_security_policy.rb +53 -40
  197. data/lib/chef/resource/windows_share.rb +14 -21
  198. data/lib/chef/resource/windows_shortcut.rb +4 -6
  199. data/lib/chef/resource/windows_task.rb +17 -5
  200. data/lib/chef/resource/windows_uac.rb +1 -1
  201. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  202. data/lib/chef/resource/windows_workgroup.rb +1 -2
  203. data/lib/chef/resources.rb +0 -1
  204. data/lib/chef/user.rb +0 -1
  205. data/lib/chef/user_v1.rb +3 -4
  206. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  207. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  208. data/lib/chef/version.rb +1 -1
  209. data/lib/chef/win32/registry.rb +4 -2
  210. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  211. data/spec/data/lwrp/resources/bar.rb +2 -0
  212. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  213. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  214. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  215. data/spec/data/lwrp/resources/foo.rb +2 -0
  216. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  217. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  218. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  219. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  220. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  221. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  222. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  223. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  224. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  225. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  226. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  227. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  228. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  229. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  230. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  231. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  232. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  233. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  234. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  235. data/spec/functional/resource/apt_package_spec.rb +1 -1
  236. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  237. data/spec/functional/resource/cron_spec.rb +1 -1
  238. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  239. data/spec/functional/resource/registry_spec.rb +8 -8
  240. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  241. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  242. data/spec/functional/version_spec.rb +1 -1
  243. data/spec/functional/win32/registry_spec.rb +1 -1
  244. data/spec/integration/client/client_spec.rb +5 -2
  245. data/spec/integration/client/exit_code_spec.rb +1 -1
  246. data/spec/integration/client/ipv6_spec.rb +1 -1
  247. data/spec/integration/compliance/compliance_spec.rb +3 -2
  248. data/spec/integration/ohai/ohai_spec.rb +7 -6
  249. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  250. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  251. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  252. data/spec/integration/recipes/notifies_spec.rb +15 -1
  253. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  254. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  255. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  256. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  257. data/spec/spec_helper.rb +11 -13
  258. data/spec/support/chef_helpers.rb +0 -16
  259. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  260. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  261. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  262. data/spec/support/matchers/leak.rb +7 -9
  263. data/spec/support/platform_helpers.rb +5 -8
  264. data/spec/support/shared/integration/integration_helper.rb +0 -1
  265. data/spec/support/shared/unit/provider/file.rb +14 -0
  266. data/spec/support/shared/unit/script_resource.rb +2 -2
  267. data/spec/unit/application/solo_spec.rb +2 -2
  268. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  269. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  270. data/spec/unit/compliance/fetcher/automate_spec.rb +5 -13
  271. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  272. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  273. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  274. data/spec/unit/compliance/runner_spec.rb +84 -9
  275. data/spec/unit/data_bag_item_spec.rb +1 -6
  276. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  277. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  278. data/spec/unit/lwrp_spec.rb +1 -1
  279. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  280. data/spec/unit/node/attribute_spec.rb +1 -1
  281. data/spec/unit/node_spec.rb +78 -0
  282. data/spec/unit/org_group_spec.rb +45 -0
  283. data/spec/unit/property_spec.rb +23 -22
  284. data/spec/unit/provider/cron_spec.rb +1 -1
  285. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  286. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  287. data/spec/unit/provider/group/pw_spec.rb +2 -2
  288. data/spec/unit/provider/group_spec.rb +1 -1
  289. data/spec/unit/provider/mount/mount_spec.rb +52 -0
  290. data/spec/unit/provider/package/apt_spec.rb +84 -18
  291. data/spec/unit/provider/package/deb_spec.rb +3 -3
  292. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  293. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  294. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  295. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  296. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  297. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  298. data/spec/unit/provider/service/windows_spec.rb +2 -2
  299. data/spec/unit/provider/subversion_spec.rb +2 -2
  300. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  301. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  302. data/spec/unit/provider_spec.rb +0 -8
  303. data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
  304. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  305. data/spec/unit/resource/windows_task_spec.rb +1 -1
  306. data/spec/unit/user_spec.rb +1 -1
  307. data/spec/unit/user_v1_spec.rb +6 -4
  308. data/tasks/rspec.rb +16 -8
  309. metadata +25 -386
  310. data/bin/knife +0 -24
  311. data/lib/chef/application/knife.rb +0 -234
  312. data/lib/chef/application/windows_service.rb +0 -338
  313. data/lib/chef/application/windows_service_manager.rb +0 -205
  314. data/lib/chef/chef_fs/knife.rb +0 -160
  315. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  316. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  317. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  318. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  319. data/lib/chef/knife.rb +0 -665
  320. data/lib/chef/knife/acl_add.rb +0 -57
  321. data/lib/chef/knife/acl_base.rb +0 -183
  322. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  323. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  324. data/lib/chef/knife/acl_remove.rb +0 -62
  325. data/lib/chef/knife/acl_show.rb +0 -56
  326. data/lib/chef/knife/bootstrap.rb +0 -1192
  327. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  328. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  329. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  330. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  331. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  332. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  333. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  334. data/lib/chef/knife/client_create.rb +0 -101
  335. data/lib/chef/knife/client_delete.rb +0 -62
  336. data/lib/chef/knife/client_edit.rb +0 -52
  337. data/lib/chef/knife/client_key_create.rb +0 -73
  338. data/lib/chef/knife/client_key_delete.rb +0 -80
  339. data/lib/chef/knife/client_key_edit.rb +0 -83
  340. data/lib/chef/knife/client_key_list.rb +0 -73
  341. data/lib/chef/knife/client_key_show.rb +0 -80
  342. data/lib/chef/knife/client_list.rb +0 -41
  343. data/lib/chef/knife/client_reregister.rb +0 -58
  344. data/lib/chef/knife/client_show.rb +0 -48
  345. data/lib/chef/knife/config_get.rb +0 -39
  346. data/lib/chef/knife/config_get_profile.rb +0 -37
  347. data/lib/chef/knife/config_list.rb +0 -139
  348. data/lib/chef/knife/config_list_profiles.rb +0 -37
  349. data/lib/chef/knife/config_show.rb +0 -127
  350. data/lib/chef/knife/config_use.rb +0 -61
  351. data/lib/chef/knife/config_use_profile.rb +0 -47
  352. data/lib/chef/knife/configure.rb +0 -150
  353. data/lib/chef/knife/configure_client.rb +0 -48
  354. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  355. data/lib/chef/knife/cookbook_delete.rb +0 -151
  356. data/lib/chef/knife/cookbook_download.rb +0 -142
  357. data/lib/chef/knife/cookbook_list.rb +0 -47
  358. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  359. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  360. data/lib/chef/knife/cookbook_show.rb +0 -98
  361. data/lib/chef/knife/cookbook_upload.rb +0 -292
  362. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  363. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  364. data/lib/chef/knife/core/formatting_options.rb +0 -49
  365. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  366. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  367. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  368. data/lib/chef/knife/core/node_editor.rb +0 -130
  369. data/lib/chef/knife/core/node_presenter.rb +0 -133
  370. data/lib/chef/knife/core/object_loader.rb +0 -115
  371. data/lib/chef/knife/core/status_presenter.rb +0 -147
  372. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  373. data/lib/chef/knife/core/text_formatter.rb +0 -85
  374. data/lib/chef/knife/core/ui.rb +0 -338
  375. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  376. data/lib/chef/knife/data_bag_create.rb +0 -81
  377. data/lib/chef/knife/data_bag_delete.rb +0 -49
  378. data/lib/chef/knife/data_bag_edit.rb +0 -74
  379. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  380. data/lib/chef/knife/data_bag_list.rb +0 -42
  381. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  382. data/lib/chef/knife/data_bag_show.rb +0 -69
  383. data/lib/chef/knife/delete.rb +0 -125
  384. data/lib/chef/knife/deps.rb +0 -156
  385. data/lib/chef/knife/diff.rb +0 -83
  386. data/lib/chef/knife/download.rb +0 -84
  387. data/lib/chef/knife/edit.rb +0 -88
  388. data/lib/chef/knife/environment_compare.rb +0 -128
  389. data/lib/chef/knife/environment_create.rb +0 -52
  390. data/lib/chef/knife/environment_delete.rb +0 -44
  391. data/lib/chef/knife/environment_edit.rb +0 -44
  392. data/lib/chef/knife/environment_from_file.rb +0 -84
  393. data/lib/chef/knife/environment_list.rb +0 -41
  394. data/lib/chef/knife/environment_show.rb +0 -47
  395. data/lib/chef/knife/exec.rb +0 -99
  396. data/lib/chef/knife/group_add.rb +0 -55
  397. data/lib/chef/knife/group_create.rb +0 -49
  398. data/lib/chef/knife/group_destroy.rb +0 -53
  399. data/lib/chef/knife/group_list.rb +0 -43
  400. data/lib/chef/knife/group_remove.rb +0 -56
  401. data/lib/chef/knife/group_show.rb +0 -49
  402. data/lib/chef/knife/key_create.rb +0 -112
  403. data/lib/chef/knife/key_create_base.rb +0 -50
  404. data/lib/chef/knife/key_delete.rb +0 -55
  405. data/lib/chef/knife/key_edit.rb +0 -118
  406. data/lib/chef/knife/key_edit_base.rb +0 -55
  407. data/lib/chef/knife/key_list.rb +0 -90
  408. data/lib/chef/knife/key_list_base.rb +0 -45
  409. data/lib/chef/knife/key_show.rb +0 -53
  410. data/lib/chef/knife/list.rb +0 -177
  411. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  412. data/lib/chef/knife/node_create.rb +0 -47
  413. data/lib/chef/knife/node_delete.rb +0 -46
  414. data/lib/chef/knife/node_edit.rb +0 -70
  415. data/lib/chef/knife/node_environment_set.rb +0 -53
  416. data/lib/chef/knife/node_from_file.rb +0 -51
  417. data/lib/chef/knife/node_list.rb +0 -44
  418. data/lib/chef/knife/node_policy_set.rb +0 -79
  419. data/lib/chef/knife/node_run_list_add.rb +0 -104
  420. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  421. data/lib/chef/knife/node_run_list_set.rb +0 -66
  422. data/lib/chef/knife/node_show.rb +0 -63
  423. data/lib/chef/knife/null.rb +0 -12
  424. data/lib/chef/knife/raw.rb +0 -123
  425. data/lib/chef/knife/recipe_list.rb +0 -32
  426. data/lib/chef/knife/rehash.rb +0 -50
  427. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  428. data/lib/chef/knife/role_create.rb +0 -53
  429. data/lib/chef/knife/role_delete.rb +0 -46
  430. data/lib/chef/knife/role_edit.rb +0 -45
  431. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  432. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  433. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  434. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  435. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  436. data/lib/chef/knife/role_from_file.rb +0 -51
  437. data/lib/chef/knife/role_list.rb +0 -42
  438. data/lib/chef/knife/role_run_list_add.rb +0 -87
  439. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  440. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  441. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  442. data/lib/chef/knife/role_run_list_set.rb +0 -69
  443. data/lib/chef/knife/role_show.rb +0 -48
  444. data/lib/chef/knife/search.rb +0 -194
  445. data/lib/chef/knife/serve.rb +0 -65
  446. data/lib/chef/knife/show.rb +0 -72
  447. data/lib/chef/knife/ssh.rb +0 -645
  448. data/lib/chef/knife/ssl_check.rb +0 -284
  449. data/lib/chef/knife/ssl_fetch.rb +0 -161
  450. data/lib/chef/knife/status.rb +0 -95
  451. data/lib/chef/knife/supermarket_download.rb +0 -121
  452. data/lib/chef/knife/supermarket_install.rb +0 -192
  453. data/lib/chef/knife/supermarket_list.rb +0 -76
  454. data/lib/chef/knife/supermarket_search.rb +0 -53
  455. data/lib/chef/knife/supermarket_share.rb +0 -166
  456. data/lib/chef/knife/supermarket_show.rb +0 -66
  457. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  458. data/lib/chef/knife/tag_create.rb +0 -52
  459. data/lib/chef/knife/tag_delete.rb +0 -60
  460. data/lib/chef/knife/tag_list.rb +0 -47
  461. data/lib/chef/knife/upload.rb +0 -86
  462. data/lib/chef/knife/user_create.rb +0 -107
  463. data/lib/chef/knife/user_delete.rb +0 -44
  464. data/lib/chef/knife/user_dissociate.rb +0 -42
  465. data/lib/chef/knife/user_edit.rb +0 -52
  466. data/lib/chef/knife/user_invite_add.rb +0 -43
  467. data/lib/chef/knife/user_invite_list.rb +0 -34
  468. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  469. data/lib/chef/knife/user_key_create.rb +0 -73
  470. data/lib/chef/knife/user_key_delete.rb +0 -80
  471. data/lib/chef/knife/user_key_edit.rb +0 -83
  472. data/lib/chef/knife/user_key_list.rb +0 -73
  473. data/lib/chef/knife/user_key_show.rb +0 -80
  474. data/lib/chef/knife/user_list.rb +0 -42
  475. data/lib/chef/knife/user_reregister.rb +0 -59
  476. data/lib/chef/knife/user_show.rb +0 -48
  477. data/lib/chef/knife/xargs.rb +0 -282
  478. data/lib/chef/knife/yaml_convert.rb +0 -91
  479. data/lib/chef/resource/user/dscl_user.rb +0 -35
  480. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  481. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  482. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  483. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  484. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  485. data/spec/functional/knife/configure_spec.rb +0 -33
  486. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  487. data/spec/functional/knife/exec_spec.rb +0 -55
  488. data/spec/functional/knife/rehash_spec.rb +0 -39
  489. data/spec/functional/knife/smoke_test.rb +0 -42
  490. data/spec/functional/knife/ssh_spec.rb +0 -352
  491. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  492. data/spec/functional/resource/windows_service_spec.rb +0 -105
  493. data/spec/functional/win32/service_manager_spec.rb +0 -220
  494. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  495. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  496. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  497. data/spec/integration/knife/chefignore_spec.rb +0 -301
  498. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  499. data/spec/integration/knife/client_create_spec.rb +0 -70
  500. data/spec/integration/knife/client_delete_spec.rb +0 -64
  501. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  502. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  503. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  504. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  505. data/spec/integration/knife/client_list_spec.rb +0 -49
  506. data/spec/integration/knife/client_show_spec.rb +0 -37
  507. data/spec/integration/knife/common_options_spec.rb +0 -174
  508. data/spec/integration/knife/config_list_spec.rb +0 -220
  509. data/spec/integration/knife/config_show_spec.rb +0 -192
  510. data/spec/integration/knife/config_use_spec.rb +0 -198
  511. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  512. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  513. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  514. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  515. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  516. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  517. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  518. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  519. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  520. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  521. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  522. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  523. data/spec/integration/knife/delete_spec.rb +0 -1018
  524. data/spec/integration/knife/deps_spec.rb +0 -703
  525. data/spec/integration/knife/diff_spec.rb +0 -605
  526. data/spec/integration/knife/download_spec.rb +0 -1336
  527. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  528. data/spec/integration/knife/environment_create_spec.rb +0 -41
  529. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  530. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  531. data/spec/integration/knife/environment_list_spec.rb +0 -42
  532. data/spec/integration/knife/environment_show_spec.rb +0 -77
  533. data/spec/integration/knife/list_spec.rb +0 -1060
  534. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  535. data/spec/integration/knife/node_create_spec.rb +0 -47
  536. data/spec/integration/knife/node_delete_spec.rb +0 -48
  537. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  538. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  539. data/spec/integration/knife/node_list_spec.rb +0 -45
  540. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  541. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  542. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  543. data/spec/integration/knife/node_show_spec.rb +0 -36
  544. data/spec/integration/knife/raw_spec.rb +0 -297
  545. data/spec/integration/knife/redirection_spec.rb +0 -64
  546. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  547. data/spec/integration/knife/role_create_spec.rb +0 -41
  548. data/spec/integration/knife/role_delete_spec.rb +0 -48
  549. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  550. data/spec/integration/knife/role_list_spec.rb +0 -45
  551. data/spec/integration/knife/role_show_spec.rb +0 -51
  552. data/spec/integration/knife/search_node_spec.rb +0 -40
  553. data/spec/integration/knife/serve_spec.rb +0 -92
  554. data/spec/integration/knife/show_spec.rb +0 -197
  555. data/spec/integration/knife/upload_spec.rb +0 -1617
  556. data/spec/support/shared/functional/knife.rb +0 -37
  557. data/spec/support/shared/functional/win32_service.rb +0 -57
  558. data/spec/support/shared/integration/knife_support.rb +0 -192
  559. data/spec/support/shared/unit/knife_shared.rb +0 -39
  560. data/spec/unit/application/knife_spec.rb +0 -241
  561. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  562. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  563. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  564. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  565. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  566. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  567. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  568. data/spec/unit/knife/client_create_spec.rb +0 -169
  569. data/spec/unit/knife/client_delete_spec.rb +0 -99
  570. data/spec/unit/knife/client_edit_spec.rb +0 -53
  571. data/spec/unit/knife/client_list_spec.rb +0 -34
  572. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  573. data/spec/unit/knife/client_show_spec.rb +0 -52
  574. data/spec/unit/knife/configure_client_spec.rb +0 -81
  575. data/spec/unit/knife/configure_spec.rb +0 -190
  576. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  577. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  578. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  579. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  580. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  581. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  582. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  583. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  584. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  585. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  586. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  587. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  588. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  589. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  590. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  591. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  592. data/spec/unit/knife/core/ui_spec.rb +0 -656
  593. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  594. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  595. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  596. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  597. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  598. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  599. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  600. data/spec/unit/knife/environment_create_spec.rb +0 -91
  601. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  602. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  603. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  604. data/spec/unit/knife/environment_list_spec.rb +0 -54
  605. data/spec/unit/knife/environment_show_spec.rb +0 -52
  606. data/spec/unit/knife/key_create_spec.rb +0 -223
  607. data/spec/unit/knife/key_delete_spec.rb +0 -133
  608. data/spec/unit/knife/key_edit_spec.rb +0 -264
  609. data/spec/unit/knife/key_helper.rb +0 -74
  610. data/spec/unit/knife/key_list_spec.rb +0 -216
  611. data/spec/unit/knife/key_show_spec.rb +0 -126
  612. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  613. data/spec/unit/knife/node_delete_spec.rb +0 -77
  614. data/spec/unit/knife/node_edit_spec.rb +0 -116
  615. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  616. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  617. data/spec/unit/knife/node_list_spec.rb +0 -62
  618. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  619. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  620. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  621. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  622. data/spec/unit/knife/node_show_spec.rb +0 -65
  623. data/spec/unit/knife/raw_spec.rb +0 -43
  624. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  625. data/spec/unit/knife/role_create_spec.rb +0 -80
  626. data/spec/unit/knife/role_delete_spec.rb +0 -67
  627. data/spec/unit/knife/role_edit_spec.rb +0 -77
  628. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  629. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  630. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  631. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  632. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  633. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  634. data/spec/unit/knife/role_list_spec.rb +0 -54
  635. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  636. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  637. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  638. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  639. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  640. data/spec/unit/knife/role_show_spec.rb +0 -59
  641. data/spec/unit/knife/ssh_spec.rb +0 -403
  642. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  643. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  644. data/spec/unit/knife/status_spec.rb +0 -112
  645. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  646. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  647. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  648. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  649. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  650. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  651. data/spec/unit/knife/tag_create_spec.rb +0 -23
  652. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  653. data/spec/unit/knife/tag_list_spec.rb +0 -23
  654. data/spec/unit/knife/user_create_spec.rb +0 -184
  655. data/spec/unit/knife/user_delete_spec.rb +0 -46
  656. data/spec/unit/knife/user_edit_spec.rb +0 -48
  657. data/spec/unit/knife/user_list_spec.rb +0 -36
  658. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  659. data/spec/unit/knife/user_show_spec.rb +0 -46
  660. data/spec/unit/knife_spec.rb +0 -634
  661. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  662. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,95 +0,0 @@
1
- #
2
- # Copyright:: Copyright (c) Chef Software Inc.
3
- # License:: Apache License, Version 2.0
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- require "spec_helper"
18
- require "support/shared/integration/integration_helper"
19
- require "support/shared/context/config"
20
- require "chef/knife/data_bag_show"
21
-
22
- describe "knife data bag show", :workstation do
23
- include IntegrationSupport
24
- include KnifeSupport
25
-
26
- include_context "default config options"
27
-
28
- when_the_chef_server "is empty" do
29
- it "raises error if try to retrieve it" do
30
- expect { knife("data bag show bag") }.to raise_error(Net::HTTPClientException)
31
- end
32
- end
33
-
34
- when_the_chef_server "contains data bags" do
35
- let(:right_secret) { "abc" }
36
- let(:wrong_secret) { "ab" }
37
- let(:err) { "Encrypted data bag detected, decrypting with provided secret.\n" }
38
- before do
39
- data_bag "x", {}
40
- data_bag "canteloupe", {}
41
- data_bag "rocket", { "falcon9" => { heavy: "true" }, "atlas" => {}, "ariane" => {} }
42
- data_bag "encrypt", { "box" => { id: "box", foo: { "encrypted_data": "J8N0pJ+LFDQF3XvhzWgkSBOuZZn8Og==\n", "iv": "4S1sb4zLnMt71SXV\n", "auth_tag": "4ChINhxz4WmqOizvZNoPPg==\n", "version": 3, "cipher": "aes-256-gcm" } } }
43
- end
44
-
45
- context "with encrypted data" do
46
- context "provided secret key" do
47
- it "shows data if secret key is correct" do
48
- knife("data bag show encrypt box --secret #{right_secret}").should_succeed stderr: err, stdout: <<~EOM
49
- foo: bar
50
- id: box
51
- EOM
52
- end
53
-
54
- it "raises error if secret key is incorrect" do
55
- expect { knife("data bag show encrypt box --secret #{wrong_secret}") }.to raise_error(Chef::EncryptedDataBagItem::DecryptionFailure)
56
- end
57
- end
58
-
59
- context "not provided secret key" do
60
- it "shows encrypted data with a warning" do
61
- expect(knife("data bag show encrypt box").stderr).to eq("WARNING: Encrypted data bag detected, but no secret provided for decoding. Displaying encrypted data.\n")
62
- end
63
- end
64
- end
65
-
66
- context "with unencrypted data" do
67
- context "provided secret key" do
68
- it "shows unencrypted data with a warning" do
69
- expect(knife("data bag show rocket falcon9 --secret #{right_secret}").stderr).to eq("WARNING: Unencrypted data bag detected, ignoring any provided secret options.\n")
70
- end
71
- end
72
-
73
- context "not provided secret key" do
74
- it "shows null with an empty data bag" do
75
- knife("data bag show canteloupe").should_succeed "\n"
76
- end
77
-
78
- it "show list of items in a bag" do
79
- knife("data bag show rocket").should_succeed <<~EOM
80
- ariane
81
- atlas
82
- falcon9
83
- EOM
84
- end
85
-
86
- it "show data of the item" do
87
- knife("data bag show rocket falcon9").should_succeed <<~EOM
88
- heavy: true
89
- id: falcon9
90
- EOM
91
- end
92
- end
93
- end
94
- end
95
- end
@@ -1,1018 +0,0 @@
1
- #
2
- # Author:: John Keiser (<jkeiser@chef.io>)
3
- # Copyright:: Copyright (c) Chef Software Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
-
18
- require "spec_helper"
19
- require "support/shared/integration/integration_helper"
20
- require "chef/knife/delete"
21
- require "chef/knife/list"
22
- require "chef/knife/raw"
23
-
24
- describe "knife delete", :workstation do
25
- include IntegrationSupport
26
- include KnifeSupport
27
-
28
- let :everything do
29
- <<~EOM
30
- /clients
31
- /clients/x.json
32
- /cookbooks
33
- /cookbooks/x
34
- /cookbooks/x/metadata.rb
35
- /data_bags
36
- /data_bags/x
37
- /data_bags/x/y.json
38
- /environments
39
- /environments/_default.json
40
- /environments/x.json
41
- /nodes
42
- /nodes/x.json
43
- /roles
44
- /roles/x.json
45
- /users
46
- /users/x.json
47
- EOM
48
- end
49
-
50
- let :server_everything do
51
- <<~EOM
52
- /clients
53
- /clients/chef-validator.json
54
- /clients/chef-webui.json
55
- /clients/x.json
56
- /cookbooks
57
- /cookbooks/x
58
- /cookbooks/x/metadata.rb
59
- /data_bags
60
- /data_bags/x
61
- /data_bags/x/y.json
62
- /environments
63
- /environments/_default.json
64
- /environments/x.json
65
- /nodes
66
- /nodes/x.json
67
- /roles
68
- /roles/x.json
69
- /users
70
- /users/admin.json
71
- /users/x.json
72
- EOM
73
- end
74
- let :server_nothing do
75
- <<~EOM
76
- /clients
77
- /clients/chef-validator.json
78
- /clients/chef-webui.json
79
- /cookbooks
80
- /data_bags
81
- /environments
82
- /environments/_default.json
83
- /nodes
84
- /roles
85
- /users
86
- /users/admin.json
87
- EOM
88
- end
89
-
90
- let :nothing do
91
- <<~EOM
92
- /clients
93
- /cookbooks
94
- /data_bags
95
- /environments
96
- /nodes
97
- /roles
98
- /users
99
- EOM
100
- end
101
-
102
- when_the_chef_server "has one of each thing" do
103
- before do
104
- client "x", "{}"
105
- cookbook "x", "1.0.0"
106
- data_bag "x", { "y" => "{}" }
107
- environment "x", "{}"
108
- node "x", "{}"
109
- role "x", "{}"
110
- user "x", "{}"
111
- end
112
-
113
- when_the_repository "also has one of each thing" do
114
- before do
115
- file "clients/x.json", {}
116
- file "cookbooks/x/metadata.rb", ""
117
- file "data_bags/x/y.json", {}
118
- file "environments/_default.json", {}
119
- file "environments/x.json", {}
120
- file "nodes/x.json", {}
121
- file "roles/x.json", {}
122
- file "users/x.json", {}
123
- end
124
-
125
- it "knife delete --both /cookbooks/x fails" do
126
- knife("delete --both /cookbooks/x").should_fail <<~EOM
127
- ERROR: /cookbooks/x (remote) must be deleted recursively! Pass -r to knife delete.
128
- ERROR: /cookbooks/x (local) must be deleted recursively! Pass -r to knife delete.
129
- EOM
130
- knife("list -Rf /").should_succeed server_everything
131
- knife("list -Rf --local /").should_succeed everything
132
- end
133
-
134
- it "knife delete --both -r /cookbooks/x deletes x" do
135
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
136
- knife("list -Rf /").should_succeed <<~EOM
137
- /clients
138
- /clients/chef-validator.json
139
- /clients/chef-webui.json
140
- /clients/x.json
141
- /cookbooks
142
- /data_bags
143
- /data_bags/x
144
- /data_bags/x/y.json
145
- /environments
146
- /environments/_default.json
147
- /environments/x.json
148
- /nodes
149
- /nodes/x.json
150
- /roles
151
- /roles/x.json
152
- /users
153
- /users/admin.json
154
- /users/x.json
155
- EOM
156
- knife("list -Rf --local /").should_succeed <<~EOM
157
- /clients
158
- /clients/x.json
159
- /cookbooks
160
- /data_bags
161
- /data_bags/x
162
- /data_bags/x/y.json
163
- /environments
164
- /environments/_default.json
165
- /environments/x.json
166
- /nodes
167
- /nodes/x.json
168
- /roles
169
- /roles/x.json
170
- /users
171
- /users/x.json
172
- EOM
173
- end
174
-
175
- it "knife delete -r --local /cookbooks/x deletes x locally but not remotely" do
176
- knife("delete -r --local /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
177
- knife("list -Rf /").should_succeed server_everything
178
- knife("list -Rf --local /").should_succeed <<~EOM
179
- /clients
180
- /clients/x.json
181
- /cookbooks
182
- /data_bags
183
- /data_bags/x
184
- /data_bags/x/y.json
185
- /environments
186
- /environments/_default.json
187
- /environments/x.json
188
- /nodes
189
- /nodes/x.json
190
- /roles
191
- /roles/x.json
192
- /users
193
- /users/x.json
194
- EOM
195
- end
196
-
197
- it "knife delete -r /cookbooks/x deletes x remotely but not locally" do
198
- knife("delete -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
199
- knife("list -Rf /").should_succeed <<~EOM
200
- /clients
201
- /clients/chef-validator.json
202
- /clients/chef-webui.json
203
- /clients/x.json
204
- /cookbooks
205
- /data_bags
206
- /data_bags/x
207
- /data_bags/x/y.json
208
- /environments
209
- /environments/_default.json
210
- /environments/x.json
211
- /nodes
212
- /nodes/x.json
213
- /roles
214
- /roles/x.json
215
- /users
216
- /users/admin.json
217
- /users/x.json
218
- EOM
219
- knife("list -Rf --local /").should_succeed everything
220
- end
221
-
222
- # TODO delete empty data bag (particularly different on local side)
223
- context "with an empty data bag on both" do
224
- before do
225
- data_bag "empty", {}
226
- directory "data_bags/empty"
227
- end
228
-
229
- it "knife delete --both /data_bags/empty fails but deletes local version" do
230
- knife("delete --both /data_bags/empty").should_fail <<~EOM
231
- ERROR: /data_bags/empty (remote) must be deleted recursively! Pass -r to knife delete.
232
- ERROR: /data_bags/empty (local) must be deleted recursively! Pass -r to knife delete.
233
- EOM
234
- knife("list -Rf /").should_succeed <<~EOM
235
- /clients
236
- /clients/chef-validator.json
237
- /clients/chef-webui.json
238
- /clients/x.json
239
- /cookbooks
240
- /cookbooks/x
241
- /cookbooks/x/metadata.rb
242
- /data_bags
243
- /data_bags/empty
244
- /data_bags/x
245
- /data_bags/x/y.json
246
- /environments
247
- /environments/_default.json
248
- /environments/x.json
249
- /nodes
250
- /nodes/x.json
251
- /roles
252
- /roles/x.json
253
- /users
254
- /users/admin.json
255
- /users/x.json
256
- EOM
257
- knife("list -Rf --local /").should_succeed <<~EOM
258
- /clients
259
- /clients/x.json
260
- /cookbooks
261
- /cookbooks/x
262
- /cookbooks/x/metadata.rb
263
- /data_bags
264
- /data_bags/empty
265
- /data_bags/x
266
- /data_bags/x/y.json
267
- /environments
268
- /environments/_default.json
269
- /environments/x.json
270
- /nodes
271
- /nodes/x.json
272
- /roles
273
- /roles/x.json
274
- /users
275
- /users/x.json
276
- EOM
277
- end
278
- end
279
-
280
- it "knife delete --both /data_bags/x fails" do
281
- knife("delete --both /data_bags/x").should_fail <<~EOM
282
- ERROR: /data_bags/x (remote) must be deleted recursively! Pass -r to knife delete.
283
- ERROR: /data_bags/x (local) must be deleted recursively! Pass -r to knife delete.
284
- EOM
285
- knife("list -Rf /").should_succeed server_everything
286
- knife("list -Rf --local /").should_succeed everything
287
- end
288
-
289
- it "knife delete --both -r /data_bags/x deletes x" do
290
- knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
291
- knife("list -Rf /").should_succeed <<~EOM
292
- /clients
293
- /clients/chef-validator.json
294
- /clients/chef-webui.json
295
- /clients/x.json
296
- /cookbooks
297
- /cookbooks/x
298
- /cookbooks/x/metadata.rb
299
- /data_bags
300
- /environments
301
- /environments/_default.json
302
- /environments/x.json
303
- /nodes
304
- /nodes/x.json
305
- /roles
306
- /roles/x.json
307
- /users
308
- /users/admin.json
309
- /users/x.json
310
- EOM
311
- knife("list -Rf --local /").should_succeed <<~EOM
312
- /clients
313
- /clients/x.json
314
- /cookbooks
315
- /cookbooks/x
316
- /cookbooks/x/metadata.rb
317
- /data_bags
318
- /environments
319
- /environments/_default.json
320
- /environments/x.json
321
- /nodes
322
- /nodes/x.json
323
- /roles
324
- /roles/x.json
325
- /users
326
- /users/x.json
327
- EOM
328
- end
329
-
330
- it "knife delete --both /environments/x.json deletes x" do
331
- knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
332
- knife("list -Rf /").should_succeed <<~EOM
333
- /clients
334
- /clients/chef-validator.json
335
- /clients/chef-webui.json
336
- /clients/x.json
337
- /cookbooks
338
- /cookbooks/x
339
- /cookbooks/x/metadata.rb
340
- /data_bags
341
- /data_bags/x
342
- /data_bags/x/y.json
343
- /environments
344
- /environments/_default.json
345
- /nodes
346
- /nodes/x.json
347
- /roles
348
- /roles/x.json
349
- /users
350
- /users/admin.json
351
- /users/x.json
352
- EOM
353
- knife("list -Rf --local /").should_succeed <<~EOM
354
- /clients
355
- /clients/x.json
356
- /cookbooks
357
- /cookbooks/x
358
- /cookbooks/x/metadata.rb
359
- /data_bags
360
- /data_bags/x
361
- /data_bags/x/y.json
362
- /environments
363
- /environments/_default.json
364
- /nodes
365
- /nodes/x.json
366
- /roles
367
- /roles/x.json
368
- /users
369
- /users/x.json
370
- EOM
371
- end
372
-
373
- it "knife delete --both /roles/x.json deletes x" do
374
- knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
375
- knife("list -Rf /").should_succeed <<~EOM
376
- /clients
377
- /clients/chef-validator.json
378
- /clients/chef-webui.json
379
- /clients/x.json
380
- /cookbooks
381
- /cookbooks/x
382
- /cookbooks/x/metadata.rb
383
- /data_bags
384
- /data_bags/x
385
- /data_bags/x/y.json
386
- /environments
387
- /environments/_default.json
388
- /environments/x.json
389
- /nodes
390
- /nodes/x.json
391
- /roles
392
- /users
393
- /users/admin.json
394
- /users/x.json
395
- EOM
396
- knife("list -Rf --local /").should_succeed <<~EOM
397
- /clients
398
- /clients/x.json
399
- /cookbooks
400
- /cookbooks/x
401
- /cookbooks/x/metadata.rb
402
- /data_bags
403
- /data_bags/x
404
- /data_bags/x/y.json
405
- /environments
406
- /environments/_default.json
407
- /environments/x.json
408
- /nodes
409
- /nodes/x.json
410
- /roles
411
- /users
412
- /users/x.json
413
- EOM
414
- end
415
-
416
- it "knife delete --both /environments/_default.json fails but still deletes the local copy" do
417
- knife("delete --both /environments/_default.json").should_fail stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n", stdout: "Deleted /environments/_default.json\n"
418
- knife("list -Rf /").should_succeed server_everything
419
- knife("list -Rf --local /").should_succeed <<~EOM
420
- /clients
421
- /clients/x.json
422
- /cookbooks
423
- /cookbooks/x
424
- /cookbooks/x/metadata.rb
425
- /data_bags
426
- /data_bags/x
427
- /data_bags/x/y.json
428
- /environments
429
- /environments/x.json
430
- /nodes
431
- /nodes/x.json
432
- /roles
433
- /roles/x.json
434
- /users
435
- /users/x.json
436
- EOM
437
- end
438
-
439
- it "knife delete --both /environments/nonexistent.json fails" do
440
- knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
441
- knife("list -Rf /").should_succeed server_everything
442
- knife("list -Rf --local /").should_succeed everything
443
- end
444
-
445
- it "knife delete --both / fails" do
446
- knife("delete --both /").should_fail <<~EOM
447
- ERROR: / (remote) cannot be deleted.
448
- ERROR: / (local) cannot be deleted.
449
- EOM
450
- knife("list -Rf /").should_succeed server_everything
451
- knife("list -Rf --local /").should_succeed everything
452
- end
453
-
454
- it "knife delete --both -r /* fails" do
455
- knife("delete --both -r /*").should_fail <<~EOM
456
- ERROR: / (remote) cannot be deleted.
457
- ERROR: / (local) cannot be deleted.
458
- ERROR: /clients (remote) cannot be deleted.
459
- ERROR: /clients (local) cannot be deleted.
460
- ERROR: /cookbooks (remote) cannot be deleted.
461
- ERROR: /cookbooks (local) cannot be deleted.
462
- ERROR: /data_bags (remote) cannot be deleted.
463
- ERROR: /data_bags (local) cannot be deleted.
464
- ERROR: /environments (remote) cannot be deleted.
465
- ERROR: /environments (local) cannot be deleted.
466
- ERROR: /nodes (remote) cannot be deleted.
467
- ERROR: /nodes (local) cannot be deleted.
468
- ERROR: /roles (remote) cannot be deleted.
469
- ERROR: /roles (local) cannot be deleted.
470
- ERROR: /users (remote) cannot be deleted.
471
- ERROR: /users (local) cannot be deleted.
472
- EOM
473
- knife("list -Rf /").should_succeed server_everything
474
- knife("list -Rf --local /").should_succeed everything
475
- end
476
- end
477
-
478
- when_the_repository "has only top-level directories" do
479
- before do
480
- directory "clients"
481
- directory "cookbooks"
482
- directory "data_bags"
483
- directory "environments"
484
- directory "nodes"
485
- directory "roles"
486
- directory "users"
487
- end
488
-
489
- it "knife delete --both /cookbooks/x fails" do
490
- knife("delete --both /cookbooks/x").should_fail "ERROR: /cookbooks/x (remote) must be deleted recursively! Pass -r to knife delete.\n"
491
- knife("list -Rf /").should_succeed server_everything
492
- knife("list -Rf --local /").should_succeed nothing
493
- end
494
-
495
- it "knife delete --both -r /cookbooks/x deletes x" do
496
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
497
- knife("list -Rf /").should_succeed <<~EOM
498
- /clients
499
- /clients/chef-validator.json
500
- /clients/chef-webui.json
501
- /clients/x.json
502
- /cookbooks
503
- /data_bags
504
- /data_bags/x
505
- /data_bags/x/y.json
506
- /environments
507
- /environments/_default.json
508
- /environments/x.json
509
- /nodes
510
- /nodes/x.json
511
- /roles
512
- /roles/x.json
513
- /users
514
- /users/admin.json
515
- /users/x.json
516
- EOM
517
- knife("list -Rf --local /").should_succeed nothing
518
- end
519
-
520
- it "knife delete --both /data_bags/x fails" do
521
- knife("delete --both /data_bags/x").should_fail "ERROR: /data_bags/x (remote) must be deleted recursively! Pass -r to knife delete.\n"
522
- knife("list -Rf /").should_succeed server_everything
523
- knife("list -Rf --local /").should_succeed nothing
524
- end
525
-
526
- it "knife delete --both -r /data_bags/x deletes x" do
527
- knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
528
- knife("list -Rf /").should_succeed <<~EOM
529
- /clients
530
- /clients/chef-validator.json
531
- /clients/chef-webui.json
532
- /clients/x.json
533
- /cookbooks
534
- /cookbooks/x
535
- /cookbooks/x/metadata.rb
536
- /data_bags
537
- /environments
538
- /environments/_default.json
539
- /environments/x.json
540
- /nodes
541
- /nodes/x.json
542
- /roles
543
- /roles/x.json
544
- /users
545
- /users/admin.json
546
- /users/x.json
547
- EOM
548
- knife("list -Rf --local /").should_succeed nothing
549
- end
550
-
551
- it "knife delete --both /environments/x.json deletes x" do
552
- knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
553
- knife("list -Rf /").should_succeed <<~EOM
554
- /clients
555
- /clients/chef-validator.json
556
- /clients/chef-webui.json
557
- /clients/x.json
558
- /cookbooks
559
- /cookbooks/x
560
- /cookbooks/x/metadata.rb
561
- /data_bags
562
- /data_bags/x
563
- /data_bags/x/y.json
564
- /environments
565
- /environments/_default.json
566
- /nodes
567
- /nodes/x.json
568
- /roles
569
- /roles/x.json
570
- /users
571
- /users/admin.json
572
- /users/x.json
573
- EOM
574
- knife("list -Rf --local /").should_succeed nothing
575
- end
576
-
577
- it "knife delete --both /roles/x.json deletes x" do
578
- knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
579
- knife("list -Rf /").should_succeed <<~EOM
580
- /clients
581
- /clients/chef-validator.json
582
- /clients/chef-webui.json
583
- /clients/x.json
584
- /cookbooks
585
- /cookbooks/x
586
- /cookbooks/x/metadata.rb
587
- /data_bags
588
- /data_bags/x
589
- /data_bags/x/y.json
590
- /environments
591
- /environments/_default.json
592
- /environments/x.json
593
- /nodes
594
- /nodes/x.json
595
- /roles
596
- /users
597
- /users/admin.json
598
- /users/x.json
599
- EOM
600
- knife("list -Rf --local /").should_succeed nothing
601
- end
602
-
603
- it "knife delete --both /environments/_default.json fails" do
604
- knife("delete --both /environments/_default.json").should_fail "", stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n"
605
- knife("list -Rf /").should_succeed server_everything
606
- knife("list -Rf --local /").should_succeed nothing
607
- end
608
-
609
- it "knife delete --both / fails" do
610
- knife("delete --both /").should_fail "ERROR: / (remote) cannot be deleted.\nERROR: / (local) cannot be deleted.\n"
611
- knife("list -Rf /").should_succeed server_everything
612
- knife("list -Rf --local /").should_succeed nothing
613
- end
614
-
615
- it "knife delete --both -r /* fails" do
616
- knife("delete --both -r /*").should_fail <<~EOM
617
- ERROR: / (remote) cannot be deleted.
618
- ERROR: / (local) cannot be deleted.
619
- ERROR: /clients (remote) cannot be deleted.
620
- ERROR: /clients (local) cannot be deleted.
621
- ERROR: /cookbooks (remote) cannot be deleted.
622
- ERROR: /cookbooks (local) cannot be deleted.
623
- ERROR: /data_bags (remote) cannot be deleted.
624
- ERROR: /data_bags (local) cannot be deleted.
625
- ERROR: /environments (remote) cannot be deleted.
626
- ERROR: /environments (local) cannot be deleted.
627
- ERROR: /nodes (remote) cannot be deleted.
628
- ERROR: /nodes (local) cannot be deleted.
629
- ERROR: /roles (remote) cannot be deleted.
630
- ERROR: /roles (local) cannot be deleted.
631
- ERROR: /users (remote) cannot be deleted.
632
- ERROR: /users (local) cannot be deleted.
633
- EOM
634
- knife("list -Rf /").should_succeed server_everything
635
- knife("list -Rf --local /").should_succeed nothing
636
- end
637
-
638
- it "knife delete --both /environments/nonexistent.json fails" do
639
- knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
640
- knife("list -Rf /").should_succeed server_everything
641
- knife("list -Rf --local /").should_succeed nothing
642
- end
643
-
644
- context "and cwd is at the top level" do
645
- before { cwd "." }
646
- it "knife delete fails" do
647
- knife("delete").should_fail "FATAL: You must specify at least one argument. If you want to delete everything in this directory, run \"knife delete --recurse .\"\n", stdout: /USAGE/
648
- knife("list -Rf /").should_succeed <<~EOM
649
- clients
650
- clients/chef-validator.json
651
- clients/chef-webui.json
652
- clients/x.json
653
- cookbooks
654
- cookbooks/x
655
- cookbooks/x/metadata.rb
656
- data_bags
657
- data_bags/x
658
- data_bags/x/y.json
659
- environments
660
- environments/_default.json
661
- environments/x.json
662
- nodes
663
- nodes/x.json
664
- roles
665
- roles/x.json
666
- users
667
- users/admin.json
668
- users/x.json
669
- EOM
670
- knife("list -Rf --local /").should_succeed <<~EOM
671
- clients
672
- cookbooks
673
- data_bags
674
- environments
675
- nodes
676
- roles
677
- users
678
- EOM
679
- end
680
- end
681
- end
682
- end
683
-
684
- when_the_chef_server "is empty" do
685
- when_the_repository "has one of each thing" do
686
- before do
687
- file "clients/x.json", {}
688
- file "cookbooks/x/metadata.rb", ""
689
- file "data_bags/x/y.json", {}
690
- file "environments/_default.json", {}
691
- file "environments/x.json", {}
692
- file "nodes/x.json", {}
693
- file "roles/x.json", {}
694
- file "users/x.json", {}
695
- end
696
-
697
- it "knife delete --both /cookbooks/x fails" do
698
- knife("delete --both /cookbooks/x").should_fail "ERROR: /cookbooks/x (local) must be deleted recursively! Pass -r to knife delete.\n"
699
- knife("list -Rf /").should_succeed server_nothing
700
- knife("list -Rf --local /").should_succeed everything
701
- end
702
-
703
- it "knife delete --both -r /cookbooks/x deletes x" do
704
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
705
- knife("list -Rf /").should_succeed server_nothing
706
- knife("list -Rf --local /").should_succeed <<~EOM
707
- /clients
708
- /clients/x.json
709
- /cookbooks
710
- /data_bags
711
- /data_bags/x
712
- /data_bags/x/y.json
713
- /environments
714
- /environments/_default.json
715
- /environments/x.json
716
- /nodes
717
- /nodes/x.json
718
- /roles
719
- /roles/x.json
720
- /users
721
- /users/x.json
722
- EOM
723
- end
724
-
725
- it "knife delete --both /data_bags/x fails" do
726
- knife("delete --both /data_bags/x").should_fail "ERROR: /data_bags/x (local) must be deleted recursively! Pass -r to knife delete.\n"
727
- knife("list -Rf /").should_succeed server_nothing
728
- knife("list -Rf --local /").should_succeed everything
729
- end
730
-
731
- it "knife delete --both -r /data_bags/x deletes x" do
732
- knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
733
- knife("list -Rf /").should_succeed server_nothing
734
- knife("list -Rf --local /").should_succeed <<~EOM
735
- /clients
736
- /clients/x.json
737
- /cookbooks
738
- /cookbooks/x
739
- /cookbooks/x/metadata.rb
740
- /data_bags
741
- /environments
742
- /environments/_default.json
743
- /environments/x.json
744
- /nodes
745
- /nodes/x.json
746
- /roles
747
- /roles/x.json
748
- /users
749
- /users/x.json
750
- EOM
751
- end
752
-
753
- it "knife delete --both /environments/x.json deletes x" do
754
- knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
755
- knife("list -Rf /").should_succeed server_nothing
756
- knife("list -Rf --local /").should_succeed <<~EOM
757
- /clients
758
- /clients/x.json
759
- /cookbooks
760
- /cookbooks/x
761
- /cookbooks/x/metadata.rb
762
- /data_bags
763
- /data_bags/x
764
- /data_bags/x/y.json
765
- /environments
766
- /environments/_default.json
767
- /nodes
768
- /nodes/x.json
769
- /roles
770
- /roles/x.json
771
- /users
772
- /users/x.json
773
- EOM
774
- end
775
-
776
- it "knife delete --both /roles/x.json deletes x" do
777
- knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
778
- knife("list -Rf /").should_succeed server_nothing
779
- knife("list -Rf --local /").should_succeed <<~EOM
780
- /clients
781
- /clients/x.json
782
- /cookbooks
783
- /cookbooks/x
784
- /cookbooks/x/metadata.rb
785
- /data_bags
786
- /data_bags/x
787
- /data_bags/x/y.json
788
- /environments
789
- /environments/_default.json
790
- /environments/x.json
791
- /nodes
792
- /nodes/x.json
793
- /roles
794
- /users
795
- /users/x.json
796
- EOM
797
- end
798
-
799
- it "knife delete --both /environments/_default.json fails but still deletes the local copy" do
800
- knife("delete --both /environments/_default.json").should_fail stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n", stdout: "Deleted /environments/_default.json\n"
801
- knife("list -Rf /").should_succeed server_nothing
802
- knife("list -Rf --local /").should_succeed <<~EOM
803
- /clients
804
- /clients/x.json
805
- /cookbooks
806
- /cookbooks/x
807
- /cookbooks/x/metadata.rb
808
- /data_bags
809
- /data_bags/x
810
- /data_bags/x/y.json
811
- /environments
812
- /environments/x.json
813
- /nodes
814
- /nodes/x.json
815
- /roles
816
- /roles/x.json
817
- /users
818
- /users/x.json
819
- EOM
820
- end
821
-
822
- it "knife delete --both / fails" do
823
- knife("delete --both /").should_fail "ERROR: / (remote) cannot be deleted.\nERROR: / (local) cannot be deleted.\n"
824
- knife("list -Rf /").should_succeed server_nothing
825
- knife("list -Rf --local /").should_succeed everything
826
- end
827
-
828
- it "knife delete --both -r /* fails" do
829
- knife("delete --both -r /*").should_fail <<~EOM
830
- ERROR: / (remote) cannot be deleted.
831
- ERROR: / (local) cannot be deleted.
832
- ERROR: /clients (remote) cannot be deleted.
833
- ERROR: /clients (local) cannot be deleted.
834
- ERROR: /cookbooks (remote) cannot be deleted.
835
- ERROR: /cookbooks (local) cannot be deleted.
836
- ERROR: /data_bags (remote) cannot be deleted.
837
- ERROR: /data_bags (local) cannot be deleted.
838
- ERROR: /environments (remote) cannot be deleted.
839
- ERROR: /environments (local) cannot be deleted.
840
- ERROR: /nodes (remote) cannot be deleted.
841
- ERROR: /nodes (local) cannot be deleted.
842
- ERROR: /roles (remote) cannot be deleted.
843
- ERROR: /roles (local) cannot be deleted.
844
- ERROR: /users (remote) cannot be deleted.
845
- ERROR: /users (local) cannot be deleted.
846
- EOM
847
- knife("list -Rf /").should_succeed server_nothing
848
- knife("list -Rf --local /").should_succeed everything
849
- end
850
-
851
- it "knife delete --both /environments/nonexistent.json fails" do
852
- knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
853
- knife("list -Rf /").should_succeed server_nothing
854
- knife("list -Rf --local /").should_succeed everything
855
- end
856
-
857
- context "and cwd is at the top level" do
858
- before { cwd "." }
859
- it "knife delete fails" do
860
- knife("delete").should_fail "FATAL: You must specify at least one argument. If you want to delete everything in this directory, run \"knife delete --recurse .\"\n", stdout: /USAGE/
861
- knife("list -Rf /").should_succeed <<~EOM
862
- clients
863
- clients/chef-validator.json
864
- clients/chef-webui.json
865
- cookbooks
866
- data_bags
867
- environments
868
- environments/_default.json
869
- nodes
870
- roles
871
- users
872
- users/admin.json
873
- EOM
874
- knife("list -Rf --local /").should_succeed <<~EOM
875
- clients
876
- clients/x.json
877
- cookbooks
878
- cookbooks/x
879
- cookbooks/x/metadata.rb
880
- data_bags
881
- data_bags/x
882
- data_bags/x/y.json
883
- environments
884
- environments/_default.json
885
- environments/x.json
886
- nodes
887
- nodes/x.json
888
- roles
889
- roles/x.json
890
- users
891
- users/x.json
892
- EOM
893
- end
894
- end
895
- end
896
- end
897
-
898
- when_the_repository "has a cookbook" do
899
- before do
900
- file "cookbooks/x/metadata.rb", 'version "1.0.0"'
901
- file "cookbooks/x/onlyin1.0.0.rb", "old_text"
902
- end
903
-
904
- when_the_chef_server "has a later version for the cookbook" do
905
- before do
906
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
907
- cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
908
- end
909
-
910
- # TODO this seems wrong
911
- it "knife delete --both -r /cookbooks/x deletes the latest version on the server and the local version" do
912
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
913
- knife("raw /cookbooks/x").should_succeed(/1.0.0/)
914
- knife("list --local /cookbooks").should_succeed ""
915
- end
916
- end
917
-
918
- when_the_chef_server "has an earlier version for the cookbook" do
919
- before do
920
- cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
921
- cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
922
- end
923
-
924
- it "knife delete --both /cookbooks/x deletes the latest version on the server and the local version" do
925
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
926
- knife("raw /cookbooks/x").should_succeed(/0.9.9/)
927
- knife("list --local /cookbooks").should_succeed ""
928
- end
929
- end
930
-
931
- when_the_chef_server "has a later version for the cookbook, and no current version" do
932
- before { cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" } }
933
-
934
- it "knife delete --both /cookbooks/x deletes the server and client version of the cookbook" do
935
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
936
- knife("raw /cookbooks/x").should_fail(/404/)
937
- knife("list --local /cookbooks").should_succeed ""
938
- end
939
- end
940
-
941
- when_the_chef_server "has an earlier version for the cookbook, and no current version" do
942
- before { cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" } }
943
-
944
- it "knife delete --both /cookbooks/x deletes the server and client version of the cookbook" do
945
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
946
- knife("raw /cookbooks/x").should_fail(/404/)
947
- knife("list --local /cookbooks").should_succeed ""
948
- end
949
- end
950
- end
951
-
952
- when_the_repository "is empty" do
953
- when_the_chef_server "has two versions of a cookbook" do
954
- before do
955
- cookbook "x", "2.0.11"
956
- cookbook "x", "11.0.0"
957
- end
958
-
959
- it "knife delete deletes the latest version" do
960
- knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
961
- knife("raw /cookbooks/x").should_succeed( /2.0.11/ )
962
- end
963
- end
964
- end
965
-
966
- when_the_chef_server "is in Enterprise mode", osc_compat: false, single_org: false do
967
- before do
968
- organization "foo" do
969
- container "x", {}
970
- group "x", {}
971
- policy "x", "1.2.3", {}
972
- policy_group "x", { "policies" => { "x" => { "revision_id" => "1.2.3" } } }
973
- end
974
- end
975
-
976
- before :each do
977
- Chef::Config.chef_server_url = URI.join(Chef::Config.chef_server_url, "/organizations/foo")
978
- end
979
-
980
- it "knife delete /acls/containers/environments.json fails with a reasonable error" do
981
- knife("delete /acls/containers/environments.json").should_fail "ERROR: /acls/containers/environments.json (remote) ACLs cannot be deleted.\n"
982
- end
983
-
984
- it "knife delete /containers/x.json succeeds" do
985
- knife("delete /containers/x.json").should_succeed "Deleted /containers/x.json\n"
986
- knife("raw /containers/x.json").should_fail(/404/)
987
- end
988
-
989
- it "knife delete /groups/x.json succeeds" do
990
- knife("delete /groups/x.json").should_succeed "Deleted /groups/x.json\n"
991
- knife("raw /groups/x.json").should_fail(/404/)
992
- end
993
-
994
- it "knife delete /policies/x-1.2.3.json succeeds" do
995
- knife("raw /policies/x/revisions/1.2.3").should_succeed "{\n \"name\": \"x\",\n \"revision_id\": \"1.2.3\",\n \"run_list\": [\n\n ],\n \"cookbook_locks\": {\n\n }\n}\n"
996
- knife("delete /policies/x-1.2.3.json").should_succeed "Deleted /policies/x-1.2.3.json\n"
997
- knife("raw /policies/x/revisions/1.2.3").should_fail(/404/)
998
- end
999
-
1000
- it "knife delete /policy_groups/x.json succeeds" do
1001
- knife("raw /policy_groups/x").should_succeed "{\n \"uri\": \"http://127.0.0.1:8900/organizations/foo/policy_groups/x\",\n \"policies\": {\n \"x\": {\n \"revision_id\": \"1.2.3\"\n }\n }\n}\n"
1002
- knife("delete /policy_groups/x.json").should_succeed "Deleted /policy_groups/x.json\n"
1003
- knife("raw /policy_groups/x").should_fail(/404/)
1004
- end
1005
-
1006
- it "knife delete /org.json fails with a reasonable error" do
1007
- knife("delete /org.json").should_fail "ERROR: /org.json (remote) cannot be deleted.\n"
1008
- end
1009
-
1010
- it "knife delete /invitations.json fails with a reasonable error" do
1011
- knife("delete /invitations.json").should_fail "ERROR: /invitations.json (remote) cannot be deleted.\n"
1012
- end
1013
-
1014
- it "knife delete /members.json fails with a reasonable error" do
1015
- knife("delete /members.json").should_fail "ERROR: /members.json (remote) cannot be deleted.\n"
1016
- end
1017
- end
1018
- end