chef 16.10.17-universal-mingw32 → 17.1.35-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 (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,75 +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
-
21
- describe "knife environment compare", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- include_context "default config options"
26
-
27
- when_the_chef_server "has some environments" do
28
- before do
29
- cookbook "blah", "1.0.1"
30
- cookbook "blah", "1.1.1"
31
- cookbook "krad", "1.1.1"
32
- environment "x", {
33
- "cookbook_versions" => {
34
- "blah" => "= 1.0.0",
35
- "krad" => ">= 1.0.0",
36
- },
37
- }
38
- environment "y", {
39
- "cookbook_versions" => {
40
- "blah" => "= 1.1.0",
41
- "krad" => ">= 1.0.0",
42
- },
43
- }
44
- end
45
-
46
- # rubocop:disable Layout/TrailingWhitespace
47
- it "displays the cookbooks for a single environment" do
48
- knife("environment compare x").should_succeed <<~EOM
49
- x
50
- blah = 1.0.0
51
- krad >= 1.0.0
52
-
53
- EOM
54
- end
55
-
56
- it "compares the cookbooks for two environments" do
57
- knife("environment compare x y").should_succeed <<~EOM
58
- x y
59
- blah = 1.0.0 = 1.1.0
60
- krad >= 1.0.0 >= 1.0.0
61
-
62
- EOM
63
- end
64
-
65
- it "compares the cookbooks for all environments" do
66
- knife("environment compare --all").should_succeed <<~EOM
67
- x y
68
- blah = 1.0.0 = 1.1.0
69
- krad >= 1.0.0 >= 1.0.0
70
-
71
- EOM
72
- end
73
- # rubocop:enable Layout/TrailingWhitespace
74
- end
75
- end
@@ -1,41 +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
-
21
- describe "knife environment create", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- include_context "default config options"
26
-
27
- let(:out) { "Created bah\n" }
28
-
29
- when_the_chef_server "is empty" do
30
- it "creates a new environment" do
31
- knife("environment create bah").should_succeed out
32
- end
33
-
34
- it "refuses to add an existing environment" do
35
- pending "Knife environment create must not blindly overwrite an existing environment"
36
- knife("environment create bah").should_succeed out
37
- expect { knife("environment create bah") }.to raise_error(Net::HTTPClientException)
38
- end
39
-
40
- end
41
- end
@@ -1,37 +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
-
21
- describe "knife environment delete", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- include_context "default config options"
26
-
27
- when_the_chef_server "has an environment" do
28
- before do
29
- environment "y", {}
30
- end
31
-
32
- it "deletes an environment" do
33
- knife("environment delete y", input: "y").should_succeed "Do you really want to delete y? (Y/N) Deleted y\n"
34
- end
35
-
36
- end
37
- end
@@ -1,116 +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
-
21
- describe "knife environment from file", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- # include_context "default config options"
26
-
27
- let(:env_dir) { "#{@repository_dir}/environments" }
28
-
29
- when_the_chef_server "is empty" do
30
- when_the_repository "has some environments" do
31
- before do
32
-
33
- file "environments/cons.json", <<~EOM
34
- {
35
- "name": "cons",
36
- "description": "An environment",
37
- "cookbook_versions": {
38
-
39
- },
40
- "json_class": "Chef::Environment",
41
- "chef_type": "environment",
42
- "default_attributes": {
43
- "hola": "Amigos!"
44
- },
45
- "override_attributes": {
46
-
47
- }
48
- }
49
- EOM
50
-
51
- file "environments/car.json", <<~EOM
52
- {
53
- "name": "car",
54
- "description": "An environment for list nodes",
55
- "cookbook_versions": {
56
-
57
- },
58
- "json_class": "Chef::Environment",
59
- "chef_type": "environment",
60
- "default_attributes": {
61
- "hola": "Amigos!"
62
- },
63
- "override_attributes": {
64
-
65
- }
66
- }
67
- EOM
68
-
69
- file "environments/cdr.json", <<~EOM
70
- {
71
- "name": "cdr",
72
- "description": "An environment for last nodes",
73
- "cookbook_versions": {
74
-
75
- },
76
- "json_class": "Chef::Environment",
77
- "chef_type": "environment",
78
- "default_attributes": {
79
- "hola": "Amigos!"
80
- },
81
- "override_attributes": {
82
-
83
- }
84
- }
85
- EOM
86
-
87
- end
88
-
89
- it "uploads a single file" do
90
- knife("environment from file #{env_dir}/cons.json").should_succeed stderr: <<~EOM
91
- Updated Environment cons
92
- EOM
93
- end
94
-
95
- it "uploads many files" do
96
- knife("environment from file #{env_dir}/cons.json #{env_dir}/car.json #{env_dir}/cdr.json").should_succeed stderr: <<~EOM
97
- Updated Environment cons
98
- Updated Environment car
99
- Updated Environment cdr
100
- EOM
101
- end
102
-
103
- it "uploads all environments in the repository" do
104
- cwd(".")
105
- knife("environment from file --all")
106
- knife("environment list").should_succeed <<~EOM
107
- _default
108
- car
109
- cdr
110
- cons
111
- EOM
112
- end
113
-
114
- end
115
- end
116
- end
@@ -1,42 +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
-
21
- describe "knife environment list", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- include_context "default config options"
26
-
27
- when_the_chef_server "has some environments" do
28
- before do
29
- environment "b", {}
30
- environment "y", {}
31
- end
32
-
33
- it "lists all the environments" do
34
- knife("environment list").should_succeed <<~EOM
35
- _default
36
- b
37
- y
38
- EOM
39
- end
40
-
41
- end
42
- end
@@ -1,77 +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
-
21
- describe "knife environment show", :workstation do
22
- include IntegrationSupport
23
- include KnifeSupport
24
-
25
- include_context "default config options"
26
-
27
- when_the_chef_server "has some environments" do
28
- before do
29
- environment "b", {
30
- "default_attributes" => { "foo" => "bar", "baz" => { "raz.my" => "mataz" } },
31
- }
32
- end
33
-
34
- # rubocop:disable Layout/TrailingWhitespace
35
- it "shows an environment" do
36
- knife("environment show b").should_succeed <<~EOM
37
- chef_type: environment
38
- cookbook_versions:
39
- default_attributes:
40
- baz:
41
- raz.my: mataz
42
- foo: bar
43
- description:
44
- json_class: Chef::Environment
45
- name: b
46
- override_attributes:
47
- EOM
48
- end
49
- # rubocop:enable Layout/TrailingWhitespace
50
-
51
- it "shows the requested attribute of an environment" do
52
- knife("environment show b -a default_attributes").should_succeed <<~EOM
53
- b:
54
- default_attributes:
55
- baz:
56
- raz.my: mataz
57
- foo: bar
58
- EOM
59
- end
60
-
61
- it "shows the requested nested attribute of an environment" do
62
- knife("environment show b -a default_attributes.baz").should_succeed <<~EON
63
- b:
64
- default_attributes.baz:
65
- raz.my: mataz
66
- EON
67
- end
68
-
69
- it "shows the requested attribute of an environment with custom field separator" do
70
- knife("environment show b -S: -a default_attributes:baz").should_succeed <<~EOT
71
- b:
72
- default_attributes:baz:
73
- raz.my: mataz
74
- EOT
75
- end
76
- end
77
- end
@@ -1,1060 +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 "support/shared/context/config"
21
- require "chef/knife/list"
22
-
23
- describe "knife list", :workstation do
24
- include IntegrationSupport
25
- include KnifeSupport
26
-
27
- include_context "default config options"
28
-
29
- when_the_chef_server "is empty" do
30
- it "knife list / returns all top level directories" do
31
- knife("list /").should_succeed <<~EOM
32
- /clients
33
- /cookbooks
34
- /data_bags
35
- /environments
36
- /nodes
37
- /roles
38
- /users
39
- EOM
40
- end
41
-
42
- it "knife list -R / returns everything" do
43
- knife("list -R /").should_succeed <<~EOM
44
- /:
45
- clients
46
- cookbooks
47
- data_bags
48
- environments
49
- nodes
50
- roles
51
- users
52
-
53
- /clients:
54
- chef-validator.json
55
- chef-webui.json
56
-
57
- /cookbooks:
58
-
59
- /data_bags:
60
-
61
- /environments:
62
- _default.json
63
-
64
- /nodes:
65
-
66
- /roles:
67
-
68
- /users:
69
- admin.json
70
- EOM
71
- end
72
- end
73
-
74
- when_the_chef_server "has plenty of stuff in it" do
75
- before do
76
- client "client1", {}
77
- client "client2", {}
78
- cookbook "cookbook1", "1.0.0"
79
- cookbook "cookbook2", "1.0.1", { "recipes" => { "default.rb" => "" } }
80
- data_bag "bag1", { "item1" => {}, "item2" => {} }
81
- data_bag "bag2", { "item1" => {}, "item2" => {} }
82
- environment "environment1", {}
83
- environment "environment2", {}
84
- node "node1", {}
85
- node "node2", {}
86
- policy "policy1", "1.2.3", {}
87
- policy "policy2", "1.2.3", {}
88
- policy "policy2", "1.3.5", {}
89
- role "role1", {}
90
- role "role2", {}
91
- user "user1", {}
92
- user "user2", {}
93
- end
94
-
95
- it "knife list / returns all top level directories" do
96
- knife("list /").should_succeed <<~EOM
97
- /clients
98
- /cookbooks
99
- /data_bags
100
- /environments
101
- /nodes
102
- /roles
103
- /users
104
- EOM
105
- end
106
-
107
- it "knife list -R / returns everything" do
108
- knife("list -R /").should_succeed <<~EOM
109
- /:
110
- clients
111
- cookbooks
112
- data_bags
113
- environments
114
- nodes
115
- roles
116
- users
117
-
118
- /clients:
119
- chef-validator.json
120
- chef-webui.json
121
- client1.json
122
- client2.json
123
-
124
- /cookbooks:
125
- cookbook1
126
- cookbook2
127
-
128
- /cookbooks/cookbook1:
129
- metadata.rb
130
-
131
- /cookbooks/cookbook2:
132
- metadata.rb
133
- recipes
134
-
135
- /cookbooks/cookbook2/recipes:
136
- default.rb
137
-
138
- /data_bags:
139
- bag1
140
- bag2
141
-
142
- /data_bags/bag1:
143
- item1.json
144
- item2.json
145
-
146
- /data_bags/bag2:
147
- item1.json
148
- item2.json
149
-
150
- /environments:
151
- _default.json
152
- environment1.json
153
- environment2.json
154
-
155
- /nodes:
156
- node1.json
157
- node2.json
158
-
159
- /roles:
160
- role1.json
161
- role2.json
162
-
163
- /users:
164
- admin.json
165
- user1.json
166
- user2.json
167
- EOM
168
- end
169
-
170
- it "knife list -R --flat / returns everything" do
171
- knife("list -R --flat /").should_succeed <<~EOM
172
- /clients
173
- /clients/chef-validator.json
174
- /clients/chef-webui.json
175
- /clients/client1.json
176
- /clients/client2.json
177
- /cookbooks
178
- /cookbooks/cookbook1
179
- /cookbooks/cookbook1/metadata.rb
180
- /cookbooks/cookbook2
181
- /cookbooks/cookbook2/metadata.rb
182
- /cookbooks/cookbook2/recipes
183
- /cookbooks/cookbook2/recipes/default.rb
184
- /data_bags
185
- /data_bags/bag1
186
- /data_bags/bag1/item1.json
187
- /data_bags/bag1/item2.json
188
- /data_bags/bag2
189
- /data_bags/bag2/item1.json
190
- /data_bags/bag2/item2.json
191
- /environments
192
- /environments/_default.json
193
- /environments/environment1.json
194
- /environments/environment2.json
195
- /nodes
196
- /nodes/node1.json
197
- /nodes/node2.json
198
- /roles
199
- /roles/role1.json
200
- /roles/role2.json
201
- /users
202
- /users/admin.json
203
- /users/user1.json
204
- /users/user2.json
205
- EOM
206
- end
207
-
208
- it "knife list -Rfp / returns everything" do
209
- knife("list -Rfp /").should_succeed <<~EOM
210
- /clients/
211
- /clients/chef-validator.json
212
- /clients/chef-webui.json
213
- /clients/client1.json
214
- /clients/client2.json
215
- /cookbooks/
216
- /cookbooks/cookbook1/
217
- /cookbooks/cookbook1/metadata.rb
218
- /cookbooks/cookbook2/
219
- /cookbooks/cookbook2/metadata.rb
220
- /cookbooks/cookbook2/recipes/
221
- /cookbooks/cookbook2/recipes/default.rb
222
- /data_bags/
223
- /data_bags/bag1/
224
- /data_bags/bag1/item1.json
225
- /data_bags/bag1/item2.json
226
- /data_bags/bag2/
227
- /data_bags/bag2/item1.json
228
- /data_bags/bag2/item2.json
229
- /environments/
230
- /environments/_default.json
231
- /environments/environment1.json
232
- /environments/environment2.json
233
- /nodes/
234
- /nodes/node1.json
235
- /nodes/node2.json
236
- /roles/
237
- /roles/role1.json
238
- /roles/role2.json
239
- /users/
240
- /users/admin.json
241
- /users/user1.json
242
- /users/user2.json
243
- EOM
244
- end
245
-
246
- it "knife list /cookbooks returns the list of cookbooks" do
247
- knife("list /cookbooks").should_succeed <<~EOM
248
- /cookbooks/cookbook1
249
- /cookbooks/cookbook2
250
- EOM
251
- end
252
-
253
- it "knife list /cookbooks/*2/*/*.rb returns the one file" do
254
- knife("list /cookbooks/*2/*/*.rb").should_succeed "/cookbooks/cookbook2/recipes/default.rb\n"
255
- end
256
-
257
- it "knife list /**.rb returns all ruby files" do
258
- knife("list /**.rb").should_succeed <<~EOM
259
- /cookbooks/cookbook1/metadata.rb
260
- /cookbooks/cookbook2/metadata.rb
261
- /cookbooks/cookbook2/recipes/default.rb
262
- EOM
263
- end
264
-
265
- it "knife list /cookbooks/**.rb returns all ruby files" do
266
- knife("list /cookbooks/**.rb").should_succeed <<~EOM
267
- /cookbooks/cookbook1/metadata.rb
268
- /cookbooks/cookbook2/metadata.rb
269
- /cookbooks/cookbook2/recipes/default.rb
270
- EOM
271
- end
272
-
273
- it "knife list /**.json returns all json files" do
274
- knife("list /**.json").should_succeed <<~EOM
275
- /clients/chef-validator.json
276
- /clients/chef-webui.json
277
- /clients/client1.json
278
- /clients/client2.json
279
- /data_bags/bag1/item1.json
280
- /data_bags/bag1/item2.json
281
- /data_bags/bag2/item1.json
282
- /data_bags/bag2/item2.json
283
- /environments/_default.json
284
- /environments/environment1.json
285
- /environments/environment2.json
286
- /nodes/node1.json
287
- /nodes/node2.json
288
- /roles/role1.json
289
- /roles/role2.json
290
- /users/admin.json
291
- /users/user1.json
292
- /users/user2.json
293
- EOM
294
- end
295
-
296
- it "knife list /data**.json returns all data bag json files" do
297
- knife("list /data**.json").should_succeed <<~EOM
298
- /data_bags/bag1/item1.json
299
- /data_bags/bag1/item2.json
300
- /data_bags/bag2/item1.json
301
- /data_bags/bag2/item2.json
302
- EOM
303
- end
304
-
305
- it "knife list /environments/missing_file.json reports missing file" do
306
- knife("list /environments/missing_file.json").should_fail "ERROR: /environments/missing_file.json: No such file or directory\n"
307
- end
308
-
309
- context "missing file/directory exact match tests" do
310
- it "knife list /blarghle reports missing directory" do
311
- knife("list /blarghle").should_fail "ERROR: /blarghle: No such file or directory\n"
312
- end
313
- end
314
-
315
- context "symlink tests" do
316
- when_the_repository "is empty" do
317
- context "when cwd is at the top of the repository" do
318
- before { cwd "." }
319
-
320
- it "knife list -Rfp returns everything" do
321
- knife("list -Rfp").should_succeed <<~EOM
322
- clients/
323
- clients/chef-validator.json
324
- clients/chef-webui.json
325
- clients/client1.json
326
- clients/client2.json
327
- cookbooks/
328
- cookbooks/cookbook1/
329
- cookbooks/cookbook1/metadata.rb
330
- cookbooks/cookbook2/
331
- cookbooks/cookbook2/metadata.rb
332
- cookbooks/cookbook2/recipes/
333
- cookbooks/cookbook2/recipes/default.rb
334
- data_bags/
335
- data_bags/bag1/
336
- data_bags/bag1/item1.json
337
- data_bags/bag1/item2.json
338
- data_bags/bag2/
339
- data_bags/bag2/item1.json
340
- data_bags/bag2/item2.json
341
- environments/
342
- environments/_default.json
343
- environments/environment1.json
344
- environments/environment2.json
345
- nodes/
346
- nodes/node1.json
347
- nodes/node2.json
348
- roles/
349
- roles/role1.json
350
- roles/role2.json
351
- users/
352
- users/admin.json
353
- users/user1.json
354
- users/user2.json
355
- EOM
356
- end
357
- end
358
- end
359
-
360
- when_the_repository "has a cookbooks directory" do
361
- before { directory "cookbooks" }
362
- context "when cwd is in cookbooks/" do
363
- before { cwd "cookbooks" }
364
-
365
- it "knife list -Rfp / returns everything" do
366
- knife("list -Rfp /").should_succeed <<~EOM
367
- /clients/
368
- /clients/chef-validator.json
369
- /clients/chef-webui.json
370
- /clients/client1.json
371
- /clients/client2.json
372
- ./
373
- cookbook1/
374
- cookbook1/metadata.rb
375
- cookbook2/
376
- cookbook2/metadata.rb
377
- cookbook2/recipes/
378
- cookbook2/recipes/default.rb
379
- /data_bags/
380
- /data_bags/bag1/
381
- /data_bags/bag1/item1.json
382
- /data_bags/bag1/item2.json
383
- /data_bags/bag2/
384
- /data_bags/bag2/item1.json
385
- /data_bags/bag2/item2.json
386
- /environments/
387
- /environments/_default.json
388
- /environments/environment1.json
389
- /environments/environment2.json
390
- /nodes/
391
- /nodes/node1.json
392
- /nodes/node2.json
393
- /roles/
394
- /roles/role1.json
395
- /roles/role2.json
396
- /users/
397
- /users/admin.json
398
- /users/user1.json
399
- /users/user2.json
400
- EOM
401
- end
402
-
403
- it "knife list -Rfp .. returns everything" do
404
- knife("list -Rfp ..").should_succeed <<~EOM
405
- /clients/
406
- /clients/chef-validator.json
407
- /clients/chef-webui.json
408
- /clients/client1.json
409
- /clients/client2.json
410
- ./
411
- cookbook1/
412
- cookbook1/metadata.rb
413
- cookbook2/
414
- cookbook2/metadata.rb
415
- cookbook2/recipes/
416
- cookbook2/recipes/default.rb
417
- /data_bags/
418
- /data_bags/bag1/
419
- /data_bags/bag1/item1.json
420
- /data_bags/bag1/item2.json
421
- /data_bags/bag2/
422
- /data_bags/bag2/item1.json
423
- /data_bags/bag2/item2.json
424
- /environments/
425
- /environments/_default.json
426
- /environments/environment1.json
427
- /environments/environment2.json
428
- /nodes/
429
- /nodes/node1.json
430
- /nodes/node2.json
431
- /roles/
432
- /roles/role1.json
433
- /roles/role2.json
434
- /users/
435
- /users/admin.json
436
- /users/user1.json
437
- /users/user2.json
438
- EOM
439
- end
440
-
441
- it "knife list -Rfp returns cookbooks" do
442
- knife("list -Rfp").should_succeed <<~EOM
443
- cookbook1/
444
- cookbook1/metadata.rb
445
- cookbook2/
446
- cookbook2/metadata.rb
447
- cookbook2/recipes/
448
- cookbook2/recipes/default.rb
449
- EOM
450
- end
451
- end
452
- end
453
-
454
- when_the_repository "has a cookbooks/cookbook2 directory" do
455
- before { directory "cookbooks/cookbook2" }
456
-
457
- context "when cwd is in cookbooks/cookbook2" do
458
- before { cwd "cookbooks/cookbook2" }
459
-
460
- it "knife list -Rfp returns cookbooks" do
461
- knife("list -Rfp").should_succeed <<~EOM
462
- metadata.rb
463
- recipes/
464
- recipes/default.rb
465
- EOM
466
- end
467
- end
468
- end
469
-
470
- when_the_repository "has a cookbooks directory and a symlinked cookbooks directory", skip: (ChefUtils.windows?) do
471
- before do
472
- directory "cookbooks"
473
- symlink "symlinked", "cookbooks"
474
- end
475
-
476
- context "when cwd is in cookbooks/" do
477
- before { cwd "cookbooks" }
478
-
479
- it "knife list -Rfp returns cookbooks" do
480
- knife("list -Rfp").should_succeed <<~EOM
481
- cookbook1/
482
- cookbook1/metadata.rb
483
- cookbook2/
484
- cookbook2/metadata.rb
485
- cookbook2/recipes/
486
- cookbook2/recipes/default.rb
487
- EOM
488
- end
489
- end
490
-
491
- context "when cwd is in symlinked/" do
492
- before { cwd "symlinked" }
493
-
494
- it "knife list -Rfp returns cookbooks" do
495
- knife("list -Rfp").should_succeed <<~EOM
496
- cookbook1/
497
- cookbook1/metadata.rb
498
- cookbook2/
499
- cookbook2/metadata.rb
500
- cookbook2/recipes/
501
- cookbook2/recipes/default.rb
502
- EOM
503
- end
504
- end
505
- end
506
-
507
- when_the_repository "has a real_cookbooks directory and a cookbooks symlink to it", skip: (ChefUtils.windows?) do
508
- before do
509
- directory "real_cookbooks"
510
- symlink "cookbooks", "real_cookbooks"
511
- end
512
-
513
- context "when cwd is in real_cookbooks/" do
514
- before { cwd "real_cookbooks" }
515
-
516
- it "knife list -Rfp returns cookbooks" do
517
- knife("list -Rfp").should_succeed <<~EOM
518
- cookbook1/
519
- cookbook1/metadata.rb
520
- cookbook2/
521
- cookbook2/metadata.rb
522
- cookbook2/recipes/
523
- cookbook2/recipes/default.rb
524
- EOM
525
- end
526
- end
527
-
528
- context "when cwd is in cookbooks/" do
529
- before { cwd "cookbooks" }
530
-
531
- it "knife list -Rfp returns cookbooks" do
532
- knife("list -Rfp").should_succeed <<~EOM
533
- cookbook1/
534
- cookbook1/metadata.rb
535
- cookbook2/
536
- cookbook2/metadata.rb
537
- cookbook2/recipes/
538
- cookbook2/recipes/default.rb
539
- EOM
540
- end
541
- end
542
- end
543
- end
544
- end
545
-
546
- context "--local" do
547
- when_the_repository "is empty" do
548
- it "knife list --local / returns nothing" do
549
- knife("list --local /").should_succeed ""
550
- end
551
-
552
- it "knife list /roles returns nothing" do
553
- knife("list --local /roles").should_fail "ERROR: /roles: No such file or directory\n"
554
- end
555
- end
556
-
557
- when_the_repository "has a bunch of stuff" do
558
- before do
559
- file "clients/client1.json", {}
560
- file "clients/client2.json", {}
561
-
562
- directory "cookbooks/cookbook1" do
563
- file "metadata.rb", cb_metadata("cookbook1", "1.0.0")
564
- end
565
- directory "cookbooks/cookbook2" do
566
- file "metadata.rb", cb_metadata("cookbook2", "2.0.0")
567
- file "recipes/default.rb", ""
568
- end
569
-
570
- directory "data_bags" do
571
- directory "bag1" do
572
- file "item1.json", {}
573
- file "item2.json", {}
574
- end
575
- directory "bag2" do
576
- file "item1.json", {}
577
- file "item2.json", {}
578
- end
579
- end
580
-
581
- file "environments/environment1.json", {}
582
- file "environments/environment2.json", {}
583
- file "nodes/node1.json", {}
584
- file "nodes/node2.json", {}
585
-
586
- file "roles/role1.json", {}
587
- file "roles/role2.json", {}
588
- file "users/user1.json", {}
589
- file "users/user2.json", {}
590
- end
591
-
592
- it "knife list -Rfp / returns everything" do
593
- knife("list -Rp --local --flat /").should_succeed <<~EOM
594
- /clients/
595
- /clients/client1.json
596
- /clients/client2.json
597
- /cookbooks/
598
- /cookbooks/cookbook1/
599
- /cookbooks/cookbook1/metadata.rb
600
- /cookbooks/cookbook2/
601
- /cookbooks/cookbook2/metadata.rb
602
- /cookbooks/cookbook2/recipes/
603
- /cookbooks/cookbook2/recipes/default.rb
604
- /data_bags/
605
- /data_bags/bag1/
606
- /data_bags/bag1/item1.json
607
- /data_bags/bag1/item2.json
608
- /data_bags/bag2/
609
- /data_bags/bag2/item1.json
610
- /data_bags/bag2/item2.json
611
- /environments/
612
- /environments/environment1.json
613
- /environments/environment2.json
614
- /nodes/
615
- /nodes/node1.json
616
- /nodes/node2.json
617
- /roles/
618
- /roles/role1.json
619
- /roles/role2.json
620
- /users/
621
- /users/user1.json
622
- /users/user2.json
623
- EOM
624
- end
625
-
626
- context "missing file/directory tests" do
627
- it "knife list --local /blarghle reports missing directory" do
628
- knife("list --local /blarghle").should_fail "ERROR: /blarghle: No such file or directory\n"
629
- end
630
-
631
- it "knife list /roles/blarghle reports missing directory" do
632
- knife("list --local /roles/blarghle").should_fail "ERROR: /roles/blarghle: No such file or directory\n"
633
- end
634
-
635
- it "knife list /roles/blarghle/blorghle reports missing directory" do
636
- knife("list --local /roles/blarghle/blorghle").should_fail "ERROR: /roles/blarghle/blorghle: No such file or directory\n"
637
- end
638
- end
639
- end
640
- end
641
-
642
- when_the_chef_server "is in Enterprise mode", osc_compat: false, single_org: false do
643
- before do
644
- organization "foo"
645
- end
646
-
647
- before :each do
648
- Chef::Config.chef_server_url = URI.join(Chef::Config.chef_server_url, "/organizations/foo")
649
- end
650
-
651
- context "and is empty" do
652
- it "knife list / returns all top level directories" do
653
- knife("list /").should_succeed <<~EOM
654
- /acls
655
- /clients
656
- /containers
657
- /cookbook_artifacts
658
- /cookbooks
659
- /data_bags
660
- /environments
661
- /groups
662
- /invitations.json
663
- /members.json
664
- /nodes
665
- /org.json
666
- /policies
667
- /policy_groups
668
- /roles
669
- EOM
670
- end
671
-
672
- it "knife list -R / returns everything" do
673
- knife("list -R /").should_succeed <<~EOM
674
- /:
675
- acls
676
- clients
677
- containers
678
- cookbook_artifacts
679
- cookbooks
680
- data_bags
681
- environments
682
- groups
683
- invitations.json
684
- members.json
685
- nodes
686
- org.json
687
- policies
688
- policy_groups
689
- roles
690
-
691
- /acls:
692
- clients
693
- containers
694
- cookbook_artifacts
695
- cookbooks
696
- data_bags
697
- environments
698
- groups
699
- nodes
700
- organization.json
701
- policies
702
- policy_groups
703
- roles
704
-
705
- /acls/clients:
706
- foo-validator.json
707
-
708
- /acls/containers:
709
- clients.json
710
- containers.json
711
- cookbook_artifacts.json
712
- cookbooks.json
713
- data.json
714
- environments.json
715
- groups.json
716
- nodes.json
717
- policies.json
718
- policy_groups.json
719
- roles.json
720
- sandboxes.json
721
-
722
- /acls/cookbook_artifacts:
723
-
724
- /acls/cookbooks:
725
-
726
- /acls/data_bags:
727
-
728
- /acls/environments:
729
- _default.json
730
-
731
- /acls/groups:
732
- admins.json
733
- billing-admins.json
734
- clients.json
735
- users.json
736
-
737
- /acls/nodes:
738
-
739
- /acls/policies:
740
-
741
- /acls/policy_groups:
742
-
743
- /acls/roles:
744
-
745
- /clients:
746
- foo-validator.json
747
-
748
- /containers:
749
- clients.json
750
- containers.json
751
- cookbook_artifacts.json
752
- cookbooks.json
753
- data.json
754
- environments.json
755
- groups.json
756
- nodes.json
757
- policies.json
758
- policy_groups.json
759
- roles.json
760
- sandboxes.json
761
-
762
- /cookbook_artifacts:
763
-
764
- /cookbooks:
765
-
766
- /data_bags:
767
-
768
- /environments:
769
- _default.json
770
-
771
- /groups:
772
- admins.json
773
- billing-admins.json
774
- clients.json
775
- users.json
776
-
777
- /nodes:
778
-
779
- /policies:
780
-
781
- /policy_groups:
782
-
783
- /roles:
784
- EOM
785
- end
786
- end
787
-
788
- it "knife list -R / returns everything" do
789
- knife("list -R /").should_succeed <<~EOM
790
- /:
791
- acls
792
- clients
793
- containers
794
- cookbook_artifacts
795
- cookbooks
796
- data_bags
797
- environments
798
- groups
799
- invitations.json
800
- members.json
801
- nodes
802
- org.json
803
- policies
804
- policy_groups
805
- roles
806
-
807
- /acls:
808
- clients
809
- containers
810
- cookbook_artifacts
811
- cookbooks
812
- data_bags
813
- environments
814
- groups
815
- nodes
816
- organization.json
817
- policies
818
- policy_groups
819
- roles
820
-
821
- /acls/clients:
822
- foo-validator.json
823
-
824
- /acls/containers:
825
- clients.json
826
- containers.json
827
- cookbook_artifacts.json
828
- cookbooks.json
829
- data.json
830
- environments.json
831
- groups.json
832
- nodes.json
833
- policies.json
834
- policy_groups.json
835
- roles.json
836
- sandboxes.json
837
-
838
- /acls/cookbook_artifacts:
839
-
840
- /acls/cookbooks:
841
-
842
- /acls/data_bags:
843
-
844
- /acls/environments:
845
- _default.json
846
-
847
- /acls/groups:
848
- admins.json
849
- billing-admins.json
850
- clients.json
851
- users.json
852
-
853
- /acls/nodes:
854
-
855
- /acls/policies:
856
-
857
- /acls/policy_groups:
858
-
859
- /acls/roles:
860
-
861
- /clients:
862
- foo-validator.json
863
-
864
- /containers:
865
- clients.json
866
- containers.json
867
- cookbook_artifacts.json
868
- cookbooks.json
869
- data.json
870
- environments.json
871
- groups.json
872
- nodes.json
873
- policies.json
874
- policy_groups.json
875
- roles.json
876
- sandboxes.json
877
-
878
- /cookbook_artifacts:
879
-
880
- /cookbooks:
881
-
882
- /data_bags:
883
-
884
- /environments:
885
- _default.json
886
-
887
- /groups:
888
- admins.json
889
- billing-admins.json
890
- clients.json
891
- users.json
892
-
893
- /nodes:
894
-
895
- /policies:
896
-
897
- /policy_groups:
898
-
899
- /roles:
900
- EOM
901
- end
902
-
903
- context "has plenty of stuff in it" do
904
- before do
905
- client "client1", {}
906
- client "client2", {}
907
- container "container1", {}
908
- container "container2", {}
909
- cookbook "cookbook1", "1.0.0"
910
- cookbook "cookbook2", "1.0.1", { "recipes" => { "default.rb" => "" } }
911
- cookbook_artifact "cookbook_artifact1", "1x1"
912
- cookbook_artifact "cookbook_artifact2", "2x2", { "recipes" => { "default.rb" => "" } }
913
- data_bag "bag1", { "item1" => {}, "item2" => {} }
914
- data_bag "bag2", { "item1" => {}, "item2" => {} }
915
- environment "environment1", {}
916
- environment "environment2", {}
917
- group "group1", {}
918
- group "group2", {}
919
- node "node1", {}
920
- node "node2", {}
921
- org_invite "user1"
922
- org_member "user2"
923
- policy "policy1", "1.2.3", {}
924
- policy "policy2", "1.2.3", {}
925
- policy "policy2", "1.3.5", {}
926
- policy_group "policy_group1", { "policies" => { "policy1" => { "revision_id" => "1.2.3" } } }
927
- policy_group "policy_group2", { "policies" => { "policy2" => { "revision_id" => "1.3.5" } } }
928
- role "role1", {}
929
- role "role2", {}
930
- user "user1", {}
931
- user "user2", {}
932
- end
933
-
934
- it "knife list -Rfp / returns everything" do
935
- knife("list -Rfp /").should_succeed <<~EOM
936
- /acls/
937
- /acls/clients/
938
- /acls/clients/client1.json
939
- /acls/clients/client2.json
940
- /acls/clients/foo-validator.json
941
- /acls/containers/
942
- /acls/containers/clients.json
943
- /acls/containers/container1.json
944
- /acls/containers/container2.json
945
- /acls/containers/containers.json
946
- /acls/containers/cookbook_artifacts.json
947
- /acls/containers/cookbooks.json
948
- /acls/containers/data.json
949
- /acls/containers/environments.json
950
- /acls/containers/groups.json
951
- /acls/containers/nodes.json
952
- /acls/containers/policies.json
953
- /acls/containers/policy_groups.json
954
- /acls/containers/roles.json
955
- /acls/containers/sandboxes.json
956
- /acls/cookbook_artifacts/
957
- /acls/cookbook_artifacts/cookbook_artifact1.json
958
- /acls/cookbook_artifacts/cookbook_artifact2.json
959
- /acls/cookbooks/
960
- /acls/cookbooks/cookbook1.json
961
- /acls/cookbooks/cookbook2.json
962
- /acls/data_bags/
963
- /acls/data_bags/bag1.json
964
- /acls/data_bags/bag2.json
965
- /acls/environments/
966
- /acls/environments/_default.json
967
- /acls/environments/environment1.json
968
- /acls/environments/environment2.json
969
- /acls/groups/
970
- /acls/groups/admins.json
971
- /acls/groups/billing-admins.json
972
- /acls/groups/clients.json
973
- /acls/groups/group1.json
974
- /acls/groups/group2.json
975
- /acls/groups/users.json
976
- /acls/nodes/
977
- /acls/nodes/node1.json
978
- /acls/nodes/node2.json
979
- /acls/organization.json
980
- /acls/policies/
981
- /acls/policies/policy1.json
982
- /acls/policies/policy2.json
983
- /acls/policy_groups/
984
- /acls/policy_groups/policy_group1.json
985
- /acls/policy_groups/policy_group2.json
986
- /acls/roles/
987
- /acls/roles/role1.json
988
- /acls/roles/role2.json
989
- /clients/
990
- /clients/client1.json
991
- /clients/client2.json
992
- /clients/foo-validator.json
993
- /containers/
994
- /containers/clients.json
995
- /containers/container1.json
996
- /containers/container2.json
997
- /containers/containers.json
998
- /containers/cookbook_artifacts.json
999
- /containers/cookbooks.json
1000
- /containers/data.json
1001
- /containers/environments.json
1002
- /containers/groups.json
1003
- /containers/nodes.json
1004
- /containers/policies.json
1005
- /containers/policy_groups.json
1006
- /containers/roles.json
1007
- /containers/sandboxes.json
1008
- /cookbook_artifacts/
1009
- /cookbook_artifacts/cookbook_artifact1-1x1/
1010
- /cookbook_artifacts/cookbook_artifact1-1x1/metadata.rb
1011
- /cookbook_artifacts/cookbook_artifact2-2x2/
1012
- /cookbook_artifacts/cookbook_artifact2-2x2/metadata.rb
1013
- /cookbook_artifacts/cookbook_artifact2-2x2/recipes/
1014
- /cookbook_artifacts/cookbook_artifact2-2x2/recipes/default.rb
1015
- /cookbooks/
1016
- /cookbooks/cookbook1/
1017
- /cookbooks/cookbook1/metadata.rb
1018
- /cookbooks/cookbook2/
1019
- /cookbooks/cookbook2/metadata.rb
1020
- /cookbooks/cookbook2/recipes/
1021
- /cookbooks/cookbook2/recipes/default.rb
1022
- /data_bags/
1023
- /data_bags/bag1/
1024
- /data_bags/bag1/item1.json
1025
- /data_bags/bag1/item2.json
1026
- /data_bags/bag2/
1027
- /data_bags/bag2/item1.json
1028
- /data_bags/bag2/item2.json
1029
- /environments/
1030
- /environments/_default.json
1031
- /environments/environment1.json
1032
- /environments/environment2.json
1033
- /groups/
1034
- /groups/admins.json
1035
- /groups/billing-admins.json
1036
- /groups/clients.json
1037
- /groups/group1.json
1038
- /groups/group2.json
1039
- /groups/users.json
1040
- /invitations.json
1041
- /members.json
1042
- /nodes/
1043
- /nodes/node1.json
1044
- /nodes/node2.json
1045
- /org.json
1046
- /policies/
1047
- /policies/policy1-1.2.3.json
1048
- /policies/policy2-1.2.3.json
1049
- /policies/policy2-1.3.5.json
1050
- /policy_groups/
1051
- /policy_groups/policy_group1.json
1052
- /policy_groups/policy_group2.json
1053
- /roles/
1054
- /roles/role1.json
1055
- /roles/role2.json
1056
- EOM
1057
- end
1058
- end
1059
- end
1060
- end