chef 16.18.30 → 17.0.242

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