chef 16.10.17-universal-mingw32 → 17.1.35-universal-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (694) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -21
  3. data/README.md +1 -1
  4. data/Rakefile +13 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +11 -24
  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_pattern.rb +2 -2
  55. data/lib/chef/chef_fs/file_system.rb +9 -10
  56. data/lib/chef/client.rb +2 -2
  57. data/lib/chef/compliance/default_attributes.rb +11 -6
  58. data/lib/chef/compliance/fetcher/automate.rb +0 -7
  59. data/lib/chef/compliance/reporter/automate.rb +17 -7
  60. data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
  61. data/lib/chef/compliance/reporter/cli.rb +77 -0
  62. data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
  63. data/lib/chef/compliance/reporter/json_file.rb +8 -1
  64. data/lib/chef/compliance/runner.rb +71 -28
  65. data/lib/chef/cookbook/cookbook_version_loader.rb +3 -3
  66. data/lib/chef/cookbook/gem_installer.rb +5 -1
  67. data/lib/chef/cookbook/synchronizer.rb +3 -5
  68. data/lib/chef/cookbook_loader.rb +2 -4
  69. data/lib/chef/cookbook_uploader.rb +0 -1
  70. data/lib/chef/data_bag_item.rb +11 -2
  71. data/lib/chef/delayed_evaluator.rb +4 -0
  72. data/lib/chef/deprecated.rb +4 -0
  73. data/lib/chef/dsl/chef_vault.rb +6 -6
  74. data/lib/chef/dsl/declare_resource.rb +5 -10
  75. data/lib/chef/dsl/reboot_pending.rb +1 -2
  76. data/lib/chef/formatters/doc.rb +2 -1
  77. data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
  78. data/lib/chef/group.rb +75 -0
  79. data/lib/chef/mixin/get_source_from_package.rb +1 -1
  80. data/lib/chef/node.rb +1 -1
  81. data/lib/chef/node/attribute.rb +6 -4
  82. data/lib/chef/node/immutable_collections.rb +13 -0
  83. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  84. data/lib/chef/org.rb +3 -2
  85. data/lib/chef/property.rb +18 -0
  86. data/lib/chef/provider.rb +1 -1
  87. data/lib/chef/provider/cron.rb +1 -1
  88. data/lib/chef/provider/directory.rb +6 -6
  89. data/lib/chef/provider/execute.rb +2 -1
  90. data/lib/chef/provider/file.rb +2 -2
  91. data/lib/chef/provider/git.rb +5 -7
  92. data/lib/chef/provider/group/groupadd.rb +3 -3
  93. data/lib/chef/provider/group/groupmod.rb +3 -3
  94. data/lib/chef/provider/group/pw.rb +3 -3
  95. data/lib/chef/provider/ifconfig.rb +2 -2
  96. data/lib/chef/provider/link.rb +3 -3
  97. data/lib/chef/provider/mount.rb +12 -7
  98. data/lib/chef/provider/mount/aix.rb +3 -3
  99. data/lib/chef/provider/mount/mount.rb +5 -5
  100. data/lib/chef/provider/mount/windows.rb +1 -1
  101. data/lib/chef/provider/package.rb +17 -21
  102. data/lib/chef/provider/package/apt.rb +27 -1
  103. data/lib/chef/provider/package/deb.rb +3 -3
  104. data/lib/chef/provider/package/dnf/dnf_helper.py +16 -11
  105. data/lib/chef/provider/package/dnf/python_helper.rb +9 -8
  106. data/lib/chef/provider/package/portage.rb +2 -2
  107. data/lib/chef/provider/package/rubygems.rb +11 -17
  108. data/lib/chef/provider/package/windows.rb +2 -4
  109. data/lib/chef/provider/package/yum.rb +1 -4
  110. data/lib/chef/provider/package/yum/python_helper.rb +15 -10
  111. data/lib/chef/provider/package/yum/yum_helper.py +51 -63
  112. data/lib/chef/provider/registry_key.rb +1 -1
  113. data/lib/chef/provider/route.rb +2 -2
  114. data/lib/chef/provider/service.rb +6 -6
  115. data/lib/chef/provider/service/aixinit.rb +1 -1
  116. data/lib/chef/provider/service/debian.rb +1 -1
  117. data/lib/chef/provider/service/freebsd.rb +15 -21
  118. data/lib/chef/provider/service/macosx.rb +7 -7
  119. data/lib/chef/provider/service/systemd.rb +43 -14
  120. data/lib/chef/provider/service/upstart.rb +2 -13
  121. data/lib/chef/provider/service/windows.rb +12 -12
  122. data/lib/chef/provider/subversion.rb +10 -12
  123. data/lib/chef/provider/systemd_unit.rb +36 -10
  124. data/lib/chef/provider/template/content.rb +3 -7
  125. data/lib/chef/provider/user.rb +2 -2
  126. data/lib/chef/provider/user/dscl.rb +1 -1
  127. data/lib/chef/provider/user/mac.rb +17 -20
  128. data/lib/chef/provider/user/pw.rb +1 -1
  129. data/lib/chef/provider/user/windows.rb +1 -1
  130. data/lib/chef/provider/windows_script.rb +1 -1
  131. data/lib/chef/provider/zypper_repository.rb +2 -2
  132. data/lib/chef/providers.rb +0 -1
  133. data/lib/chef/resource.rb +6 -7
  134. data/lib/chef/resource/alternatives.rb +6 -6
  135. data/lib/chef/resource/apt_package.rb +1 -1
  136. data/lib/chef/resource/apt_preference.rb +2 -2
  137. data/lib/chef/resource/apt_repository.rb +6 -6
  138. data/lib/chef/resource/apt_update.rb +3 -2
  139. data/lib/chef/resource/archive_file.rb +2 -3
  140. data/lib/chef/resource/breakpoint.rb +1 -1
  141. data/lib/chef/resource/build_essential.rb +2 -6
  142. data/lib/chef/resource/chef_client_config.rb +2 -2
  143. data/lib/chef/resource/chef_client_cron.rb +5 -5
  144. data/lib/chef/resource/chef_client_launchd.rb +4 -4
  145. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  146. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  147. data/lib/chef/resource/chef_handler.rb +3 -7
  148. data/lib/chef/resource/chef_sleep.rb +1 -1
  149. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  150. data/lib/chef/resource/chocolatey_config.rb +2 -6
  151. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  152. data/lib/chef/resource/chocolatey_source.rb +4 -10
  153. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  154. data/lib/chef/resource/cron_access.rb +2 -4
  155. data/lib/chef/resource/dmg_package.rb +6 -10
  156. data/lib/chef/resource/dpkg_package.rb +1 -1
  157. data/lib/chef/resource/execute.rb +8 -3
  158. data/lib/chef/resource/file.rb +1 -1
  159. data/lib/chef/resource/group.rb +2 -2
  160. data/lib/chef/resource/homebrew_cask.rb +2 -6
  161. data/lib/chef/resource/homebrew_tap.rb +2 -6
  162. data/lib/chef/resource/hostname.rb +21 -17
  163. data/lib/chef/resource/http_request.rb +1 -1
  164. data/lib/chef/resource/inspec_waiver_file_entry.rb +155 -0
  165. data/lib/chef/resource/kernel_module.rb +6 -17
  166. data/lib/chef/resource/locale.rb +2 -3
  167. data/lib/chef/resource/lwrp_base.rb +19 -0
  168. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  169. data/lib/chef/resource/mdadm.rb +53 -7
  170. data/lib/chef/resource/mount.rb +2 -1
  171. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  172. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  173. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  174. data/lib/chef/resource/plist.rb +7 -7
  175. data/lib/chef/resource/powershell_script.rb +1 -1
  176. data/lib/chef/resource/remote_file.rb +3 -3
  177. data/lib/chef/resource/rhsm_errata.rb +16 -1
  178. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  179. data/lib/chef/resource/rhsm_register.rb +12 -6
  180. data/lib/chef/resource/rhsm_repo.rb +2 -6
  181. data/lib/chef/resource/rhsm_subscription.rb +2 -6
  182. data/lib/chef/resource/scm/git.rb +1 -1
  183. data/lib/chef/resource/sudo.rb +6 -6
  184. data/lib/chef/resource/sysctl.rb +2 -6
  185. data/lib/chef/resource/systemd_unit.rb +2 -2
  186. data/lib/chef/resource/template.rb +1 -1
  187. data/lib/chef/resource/timezone.rb +1 -3
  188. data/lib/chef/resource/user/mac_user.rb +1 -1
  189. data/lib/chef/resource/user_ulimit.rb +2 -2
  190. data/lib/chef/resource/windows_ad_join.rb +2 -6
  191. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  192. data/lib/chef/resource/windows_auto_run.rb +2 -5
  193. data/lib/chef/resource/windows_certificate.rb +207 -73
  194. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  195. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  196. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  197. data/lib/chef/resource/windows_dns_record.rb +2 -6
  198. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  199. data/lib/chef/resource/windows_env.rb +6 -5
  200. data/lib/chef/resource/windows_feature.rb +3 -9
  201. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  202. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  203. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  204. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  205. data/lib/chef/resource/windows_font.rb +3 -5
  206. data/lib/chef/resource/windows_pagefile.rb +4 -8
  207. data/lib/chef/resource/windows_path.rb +4 -4
  208. data/lib/chef/resource/windows_printer.rb +4 -4
  209. data/lib/chef/resource/windows_printer_port.rb +6 -6
  210. data/lib/chef/resource/windows_security_policy.rb +56 -40
  211. data/lib/chef/resource/windows_share.rb +14 -21
  212. data/lib/chef/resource/windows_shortcut.rb +4 -6
  213. data/lib/chef/resource/windows_task.rb +18 -6
  214. data/lib/chef/resource/windows_uac.rb +1 -1
  215. data/lib/chef/resource/windows_user_privilege.rb +4 -4
  216. data/lib/chef/resource/windows_workgroup.rb +1 -2
  217. data/lib/chef/resource_builder.rb +8 -2
  218. data/lib/chef/resources.rb +1 -1
  219. data/lib/chef/run_lock.rb +1 -1
  220. data/lib/chef/runner.rb +1 -1
  221. data/lib/chef/shell/ext.rb +3 -3
  222. data/lib/chef/user.rb +0 -1
  223. data/lib/chef/user_v1.rb +3 -4
  224. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  225. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  226. data/lib/chef/version.rb +1 -1
  227. data/lib/chef/win32/api.rb +9 -2
  228. data/lib/chef/win32/registry.rb +4 -2
  229. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  230. data/spec/data/lwrp/resources/bar.rb +2 -0
  231. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  232. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  233. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  234. data/spec/data/lwrp/resources/foo.rb +2 -0
  235. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  236. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  237. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  238. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  239. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  240. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  241. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  242. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  243. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  244. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  245. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  246. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  247. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  248. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  249. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  250. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  251. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  252. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  253. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  254. data/spec/functional/resource/apt_package_spec.rb +1 -1
  255. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  256. data/spec/functional/resource/cron_spec.rb +1 -1
  257. data/spec/functional/resource/dnf_package_spec.rb +857 -534
  258. data/spec/functional/resource/group_spec.rb +1 -1
  259. data/spec/functional/resource/link_spec.rb +1 -1
  260. data/spec/functional/resource/registry_spec.rb +8 -8
  261. data/spec/functional/resource/remote_file_spec.rb +1 -1
  262. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  263. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  264. data/spec/functional/resource/windows_env_spec.rb +2 -2
  265. data/spec/functional/resource/yum_package_spec.rb +495 -428
  266. data/spec/functional/version_spec.rb +1 -1
  267. data/spec/functional/win32/registry_spec.rb +1 -1
  268. data/spec/integration/client/client_spec.rb +5 -22
  269. data/spec/integration/client/exit_code_spec.rb +1 -1
  270. data/spec/integration/client/ipv6_spec.rb +1 -1
  271. data/spec/integration/compliance/compliance_spec.rb +3 -2
  272. data/spec/integration/ohai/ohai_spec.rb +7 -6
  273. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  274. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  275. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  276. data/spec/integration/recipes/notifies_spec.rb +15 -1
  277. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  278. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  279. data/spec/integration/recipes/unified_mode_spec.rb +71 -1
  280. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  281. data/spec/spec_helper.rb +14 -13
  282. data/spec/support/chef_helpers.rb +1 -17
  283. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  284. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  285. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  286. data/spec/support/matchers/leak.rb +7 -9
  287. data/spec/support/platform_helpers.rb +5 -8
  288. data/spec/support/shared/functional/execute_resource.rb +1 -1
  289. data/spec/support/shared/integration/integration_helper.rb +0 -1
  290. data/spec/support/shared/unit/provider/file.rb +15 -1
  291. data/spec/support/shared/unit/script_resource.rb +2 -2
  292. data/spec/unit/application/solo_spec.rb +2 -2
  293. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  294. data/spec/unit/chef_fs/file_system/repository/directory_spec.rb +1 -1
  295. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  296. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  297. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  298. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  299. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  300. data/spec/unit/compliance/runner_spec.rb +85 -10
  301. data/spec/unit/data_bag_item_spec.rb +1 -6
  302. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  303. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  304. data/spec/unit/lwrp_spec.rb +1 -1
  305. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  306. data/spec/unit/node/attribute_spec.rb +1 -1
  307. data/spec/unit/node_spec.rb +78 -0
  308. data/spec/unit/org_group_spec.rb +45 -0
  309. data/spec/unit/property_spec.rb +23 -22
  310. data/spec/unit/provider/cron_spec.rb +1 -1
  311. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  312. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  313. data/spec/unit/provider/group/pw_spec.rb +2 -2
  314. data/spec/unit/provider/group_spec.rb +1 -1
  315. data/spec/unit/provider/link_spec.rb +1 -1
  316. data/spec/unit/provider/mount/mount_spec.rb +51 -0
  317. data/spec/unit/provider/package/apt_spec.rb +84 -18
  318. data/spec/unit/provider/package/deb_spec.rb +3 -3
  319. data/spec/unit/provider/package/dnf/python_helper_spec.rb +1 -0
  320. data/spec/unit/provider/package/rubygems_spec.rb +21 -33
  321. data/spec/unit/provider/package/yum/python_helper_spec.rb +1 -0
  322. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  323. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  324. data/spec/unit/provider/service/macosx_spec.rb +5 -5
  325. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  326. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  327. data/spec/unit/provider/service/windows_spec.rb +2 -2
  328. data/spec/unit/provider/subversion_spec.rb +2 -2
  329. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  330. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  331. data/spec/unit/provider_spec.rb +0 -8
  332. data/spec/unit/resource/chef_client_cron_spec.rb +8 -8
  333. data/spec/unit/resource/inspec_waiver_file_entry_spec.rb +80 -0
  334. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  335. data/spec/unit/resource/windows_task_spec.rb +1 -1
  336. data/spec/unit/user_spec.rb +1 -1
  337. data/spec/unit/user_v1_spec.rb +6 -4
  338. data/tasks/rspec.rb +9 -6
  339. metadata +23 -528
  340. data/bin/knife +0 -24
  341. data/lib/chef/application/knife.rb +0 -234
  342. data/lib/chef/application/windows_service.rb +0 -338
  343. data/lib/chef/application/windows_service_manager.rb +0 -205
  344. data/lib/chef/chef_fs/knife.rb +0 -160
  345. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  346. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  347. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  348. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  349. data/lib/chef/knife.rb +0 -665
  350. data/lib/chef/knife/acl_add.rb +0 -57
  351. data/lib/chef/knife/acl_base.rb +0 -183
  352. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  353. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  354. data/lib/chef/knife/acl_remove.rb +0 -62
  355. data/lib/chef/knife/acl_show.rb +0 -56
  356. data/lib/chef/knife/bootstrap.rb +0 -1192
  357. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  358. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  359. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  360. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  361. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  362. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  363. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  364. data/lib/chef/knife/client_create.rb +0 -101
  365. data/lib/chef/knife/client_delete.rb +0 -62
  366. data/lib/chef/knife/client_edit.rb +0 -52
  367. data/lib/chef/knife/client_key_create.rb +0 -73
  368. data/lib/chef/knife/client_key_delete.rb +0 -80
  369. data/lib/chef/knife/client_key_edit.rb +0 -83
  370. data/lib/chef/knife/client_key_list.rb +0 -73
  371. data/lib/chef/knife/client_key_show.rb +0 -80
  372. data/lib/chef/knife/client_list.rb +0 -41
  373. data/lib/chef/knife/client_reregister.rb +0 -58
  374. data/lib/chef/knife/client_show.rb +0 -48
  375. data/lib/chef/knife/config_get.rb +0 -39
  376. data/lib/chef/knife/config_get_profile.rb +0 -37
  377. data/lib/chef/knife/config_list.rb +0 -139
  378. data/lib/chef/knife/config_list_profiles.rb +0 -37
  379. data/lib/chef/knife/config_show.rb +0 -127
  380. data/lib/chef/knife/config_use.rb +0 -61
  381. data/lib/chef/knife/config_use_profile.rb +0 -47
  382. data/lib/chef/knife/configure.rb +0 -150
  383. data/lib/chef/knife/configure_client.rb +0 -48
  384. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  385. data/lib/chef/knife/cookbook_delete.rb +0 -151
  386. data/lib/chef/knife/cookbook_download.rb +0 -142
  387. data/lib/chef/knife/cookbook_list.rb +0 -47
  388. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  389. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  390. data/lib/chef/knife/cookbook_show.rb +0 -98
  391. data/lib/chef/knife/cookbook_upload.rb +0 -292
  392. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  393. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  394. data/lib/chef/knife/core/formatting_options.rb +0 -49
  395. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  396. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  397. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  398. data/lib/chef/knife/core/node_editor.rb +0 -130
  399. data/lib/chef/knife/core/node_presenter.rb +0 -133
  400. data/lib/chef/knife/core/object_loader.rb +0 -115
  401. data/lib/chef/knife/core/status_presenter.rb +0 -147
  402. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  403. data/lib/chef/knife/core/text_formatter.rb +0 -85
  404. data/lib/chef/knife/core/ui.rb +0 -338
  405. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
  406. data/lib/chef/knife/data_bag_create.rb +0 -81
  407. data/lib/chef/knife/data_bag_delete.rb +0 -49
  408. data/lib/chef/knife/data_bag_edit.rb +0 -74
  409. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  410. data/lib/chef/knife/data_bag_list.rb +0 -42
  411. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  412. data/lib/chef/knife/data_bag_show.rb +0 -69
  413. data/lib/chef/knife/delete.rb +0 -125
  414. data/lib/chef/knife/deps.rb +0 -156
  415. data/lib/chef/knife/diff.rb +0 -83
  416. data/lib/chef/knife/download.rb +0 -84
  417. data/lib/chef/knife/edit.rb +0 -88
  418. data/lib/chef/knife/environment_compare.rb +0 -128
  419. data/lib/chef/knife/environment_create.rb +0 -52
  420. data/lib/chef/knife/environment_delete.rb +0 -44
  421. data/lib/chef/knife/environment_edit.rb +0 -44
  422. data/lib/chef/knife/environment_from_file.rb +0 -84
  423. data/lib/chef/knife/environment_list.rb +0 -41
  424. data/lib/chef/knife/environment_show.rb +0 -47
  425. data/lib/chef/knife/exec.rb +0 -99
  426. data/lib/chef/knife/group_add.rb +0 -55
  427. data/lib/chef/knife/group_create.rb +0 -49
  428. data/lib/chef/knife/group_destroy.rb +0 -53
  429. data/lib/chef/knife/group_list.rb +0 -43
  430. data/lib/chef/knife/group_remove.rb +0 -56
  431. data/lib/chef/knife/group_show.rb +0 -49
  432. data/lib/chef/knife/key_create.rb +0 -112
  433. data/lib/chef/knife/key_create_base.rb +0 -50
  434. data/lib/chef/knife/key_delete.rb +0 -55
  435. data/lib/chef/knife/key_edit.rb +0 -118
  436. data/lib/chef/knife/key_edit_base.rb +0 -55
  437. data/lib/chef/knife/key_list.rb +0 -90
  438. data/lib/chef/knife/key_list_base.rb +0 -45
  439. data/lib/chef/knife/key_show.rb +0 -53
  440. data/lib/chef/knife/list.rb +0 -177
  441. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  442. data/lib/chef/knife/node_create.rb +0 -47
  443. data/lib/chef/knife/node_delete.rb +0 -46
  444. data/lib/chef/knife/node_edit.rb +0 -70
  445. data/lib/chef/knife/node_environment_set.rb +0 -53
  446. data/lib/chef/knife/node_from_file.rb +0 -51
  447. data/lib/chef/knife/node_list.rb +0 -44
  448. data/lib/chef/knife/node_policy_set.rb +0 -79
  449. data/lib/chef/knife/node_run_list_add.rb +0 -104
  450. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  451. data/lib/chef/knife/node_run_list_set.rb +0 -66
  452. data/lib/chef/knife/node_show.rb +0 -63
  453. data/lib/chef/knife/null.rb +0 -12
  454. data/lib/chef/knife/raw.rb +0 -123
  455. data/lib/chef/knife/recipe_list.rb +0 -32
  456. data/lib/chef/knife/rehash.rb +0 -50
  457. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  458. data/lib/chef/knife/role_create.rb +0 -53
  459. data/lib/chef/knife/role_delete.rb +0 -46
  460. data/lib/chef/knife/role_edit.rb +0 -45
  461. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  462. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  463. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  464. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  465. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  466. data/lib/chef/knife/role_from_file.rb +0 -51
  467. data/lib/chef/knife/role_list.rb +0 -42
  468. data/lib/chef/knife/role_run_list_add.rb +0 -87
  469. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  470. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  471. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  472. data/lib/chef/knife/role_run_list_set.rb +0 -69
  473. data/lib/chef/knife/role_show.rb +0 -48
  474. data/lib/chef/knife/search.rb +0 -194
  475. data/lib/chef/knife/serve.rb +0 -65
  476. data/lib/chef/knife/show.rb +0 -72
  477. data/lib/chef/knife/ssh.rb +0 -645
  478. data/lib/chef/knife/ssl_check.rb +0 -284
  479. data/lib/chef/knife/ssl_fetch.rb +0 -161
  480. data/lib/chef/knife/status.rb +0 -95
  481. data/lib/chef/knife/supermarket_download.rb +0 -121
  482. data/lib/chef/knife/supermarket_install.rb +0 -192
  483. data/lib/chef/knife/supermarket_list.rb +0 -76
  484. data/lib/chef/knife/supermarket_search.rb +0 -53
  485. data/lib/chef/knife/supermarket_share.rb +0 -166
  486. data/lib/chef/knife/supermarket_show.rb +0 -66
  487. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  488. data/lib/chef/knife/tag_create.rb +0 -52
  489. data/lib/chef/knife/tag_delete.rb +0 -60
  490. data/lib/chef/knife/tag_list.rb +0 -47
  491. data/lib/chef/knife/upload.rb +0 -86
  492. data/lib/chef/knife/user_create.rb +0 -107
  493. data/lib/chef/knife/user_delete.rb +0 -44
  494. data/lib/chef/knife/user_dissociate.rb +0 -42
  495. data/lib/chef/knife/user_edit.rb +0 -52
  496. data/lib/chef/knife/user_invite_add.rb +0 -43
  497. data/lib/chef/knife/user_invite_list.rb +0 -34
  498. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  499. data/lib/chef/knife/user_key_create.rb +0 -73
  500. data/lib/chef/knife/user_key_delete.rb +0 -80
  501. data/lib/chef/knife/user_key_edit.rb +0 -83
  502. data/lib/chef/knife/user_key_list.rb +0 -73
  503. data/lib/chef/knife/user_key_show.rb +0 -80
  504. data/lib/chef/knife/user_list.rb +0 -42
  505. data/lib/chef/knife/user_reregister.rb +0 -59
  506. data/lib/chef/knife/user_show.rb +0 -48
  507. data/lib/chef/knife/xargs.rb +0 -282
  508. data/lib/chef/knife/yaml_convert.rb +0 -91
  509. data/lib/chef/provider/package/yum/simplejson/LICENSE.txt +0 -79
  510. data/lib/chef/provider/package/yum/simplejson/__init__.py +0 -318
  511. data/lib/chef/provider/package/yum/simplejson/__init__.pyc +0 -0
  512. data/lib/chef/provider/package/yum/simplejson/decoder.py +0 -354
  513. data/lib/chef/provider/package/yum/simplejson/decoder.pyc +0 -0
  514. data/lib/chef/provider/package/yum/simplejson/encoder.py +0 -440
  515. data/lib/chef/provider/package/yum/simplejson/encoder.pyc +0 -0
  516. data/lib/chef/provider/package/yum/simplejson/scanner.py +0 -65
  517. data/lib/chef/provider/package/yum/simplejson/scanner.pyc +0 -0
  518. data/lib/chef/provider/package/yum/simplejson/tool.py +0 -37
  519. data/lib/chef/resource/user/dscl_user.rb +0 -35
  520. data/spec/functional/knife/configure_spec.rb +0 -33
  521. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  522. data/spec/functional/knife/exec_spec.rb +0 -55
  523. data/spec/functional/knife/rehash_spec.rb +0 -39
  524. data/spec/functional/knife/smoke_test.rb +0 -42
  525. data/spec/functional/knife/ssh_spec.rb +0 -352
  526. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  527. data/spec/functional/resource/windows_service_spec.rb +0 -105
  528. data/spec/functional/win32/service_manager_spec.rb +0 -220
  529. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  530. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  531. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  532. data/spec/integration/knife/chefignore_spec.rb +0 -301
  533. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  534. data/spec/integration/knife/client_create_spec.rb +0 -70
  535. data/spec/integration/knife/client_delete_spec.rb +0 -64
  536. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  537. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  538. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  539. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  540. data/spec/integration/knife/client_list_spec.rb +0 -49
  541. data/spec/integration/knife/client_show_spec.rb +0 -37
  542. data/spec/integration/knife/common_options_spec.rb +0 -174
  543. data/spec/integration/knife/config_list_spec.rb +0 -220
  544. data/spec/integration/knife/config_show_spec.rb +0 -192
  545. data/spec/integration/knife/config_use_spec.rb +0 -198
  546. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  547. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  548. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  549. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  550. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  551. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  552. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  553. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  554. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  555. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  556. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  557. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  558. data/spec/integration/knife/delete_spec.rb +0 -1018
  559. data/spec/integration/knife/deps_spec.rb +0 -703
  560. data/spec/integration/knife/diff_spec.rb +0 -605
  561. data/spec/integration/knife/download_spec.rb +0 -1336
  562. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  563. data/spec/integration/knife/environment_create_spec.rb +0 -41
  564. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  565. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  566. data/spec/integration/knife/environment_list_spec.rb +0 -42
  567. data/spec/integration/knife/environment_show_spec.rb +0 -77
  568. data/spec/integration/knife/list_spec.rb +0 -1060
  569. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  570. data/spec/integration/knife/node_create_spec.rb +0 -47
  571. data/spec/integration/knife/node_delete_spec.rb +0 -48
  572. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  573. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  574. data/spec/integration/knife/node_list_spec.rb +0 -45
  575. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  576. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  577. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  578. data/spec/integration/knife/node_show_spec.rb +0 -36
  579. data/spec/integration/knife/raw_spec.rb +0 -297
  580. data/spec/integration/knife/redirection_spec.rb +0 -64
  581. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  582. data/spec/integration/knife/role_create_spec.rb +0 -41
  583. data/spec/integration/knife/role_delete_spec.rb +0 -48
  584. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  585. data/spec/integration/knife/role_list_spec.rb +0 -45
  586. data/spec/integration/knife/role_show_spec.rb +0 -51
  587. data/spec/integration/knife/search_node_spec.rb +0 -40
  588. data/spec/integration/knife/serve_spec.rb +0 -92
  589. data/spec/integration/knife/show_spec.rb +0 -197
  590. data/spec/integration/knife/upload_spec.rb +0 -1617
  591. data/spec/support/shared/functional/win32_service.rb +0 -57
  592. data/spec/unit/application/knife_spec.rb +0 -241
  593. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  594. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  595. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  596. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  597. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  598. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  599. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  600. data/spec/unit/knife/client_create_spec.rb +0 -169
  601. data/spec/unit/knife/client_delete_spec.rb +0 -99
  602. data/spec/unit/knife/client_edit_spec.rb +0 -53
  603. data/spec/unit/knife/client_list_spec.rb +0 -34
  604. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  605. data/spec/unit/knife/client_show_spec.rb +0 -52
  606. data/spec/unit/knife/configure_client_spec.rb +0 -81
  607. data/spec/unit/knife/configure_spec.rb +0 -190
  608. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  609. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  610. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  611. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  612. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  613. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  614. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  615. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  616. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  617. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  618. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  619. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  620. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  621. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  622. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  623. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  624. data/spec/unit/knife/core/ui_spec.rb +0 -656
  625. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  626. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  627. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  628. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  629. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  630. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  631. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  632. data/spec/unit/knife/environment_create_spec.rb +0 -91
  633. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  634. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  635. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  636. data/spec/unit/knife/environment_list_spec.rb +0 -54
  637. data/spec/unit/knife/environment_show_spec.rb +0 -52
  638. data/spec/unit/knife/key_create_spec.rb +0 -223
  639. data/spec/unit/knife/key_delete_spec.rb +0 -133
  640. data/spec/unit/knife/key_edit_spec.rb +0 -264
  641. data/spec/unit/knife/key_helper.rb +0 -74
  642. data/spec/unit/knife/key_list_spec.rb +0 -216
  643. data/spec/unit/knife/key_show_spec.rb +0 -126
  644. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  645. data/spec/unit/knife/node_delete_spec.rb +0 -77
  646. data/spec/unit/knife/node_edit_spec.rb +0 -116
  647. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  648. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  649. data/spec/unit/knife/node_list_spec.rb +0 -62
  650. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  651. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  652. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  653. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  654. data/spec/unit/knife/node_show_spec.rb +0 -65
  655. data/spec/unit/knife/raw_spec.rb +0 -43
  656. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  657. data/spec/unit/knife/role_create_spec.rb +0 -80
  658. data/spec/unit/knife/role_delete_spec.rb +0 -67
  659. data/spec/unit/knife/role_edit_spec.rb +0 -77
  660. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  661. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  662. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  663. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  664. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  665. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  666. data/spec/unit/knife/role_list_spec.rb +0 -54
  667. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  668. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  669. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  670. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  671. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  672. data/spec/unit/knife/role_show_spec.rb +0 -59
  673. data/spec/unit/knife/ssh_spec.rb +0 -403
  674. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  675. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  676. data/spec/unit/knife/status_spec.rb +0 -112
  677. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  678. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  679. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  680. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  681. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  682. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  683. data/spec/unit/knife/tag_create_spec.rb +0 -23
  684. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  685. data/spec/unit/knife/tag_list_spec.rb +0 -23
  686. data/spec/unit/knife/user_create_spec.rb +0 -184
  687. data/spec/unit/knife/user_delete_spec.rb +0 -46
  688. data/spec/unit/knife/user_edit_spec.rb +0 -48
  689. data/spec/unit/knife/user_list_spec.rb +0 -36
  690. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  691. data/spec/unit/knife/user_show_spec.rb +0 -46
  692. data/spec/unit/knife_spec.rb +0 -634
  693. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  694. 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