chef 16.17.18-universal-mingw32 → 17.0.242-universal-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +9 -13
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/chef-universal-mingw32.gemspec +1 -1
  6. data/chef.gemspec +6 -8
  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 +2 -2
  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/get_source_from_package.rb +1 -1
  39. data/lib/chef/node/attribute.rb +6 -4
  40. data/lib/chef/node/immutable_collections.rb +13 -0
  41. data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
  42. data/lib/chef/node.rb +19 -20
  43. data/lib/chef/org.rb +3 -2
  44. data/lib/chef/policy_builder/policyfile.rb +0 -5
  45. data/lib/chef/property.rb +18 -0
  46. data/lib/chef/provider/cron.rb +1 -1
  47. data/lib/chef/provider/execute.rb +2 -1
  48. data/lib/chef/provider/file.rb +1 -1
  49. data/lib/chef/provider/git.rb +5 -7
  50. data/lib/chef/provider/group/dscl.rb +1 -1
  51. data/lib/chef/provider/group/groupadd.rb +3 -3
  52. data/lib/chef/provider/group/groupmod.rb +3 -3
  53. data/lib/chef/provider/group/pw.rb +3 -3
  54. data/lib/chef/provider/ifconfig.rb +2 -2
  55. data/lib/chef/provider/link.rb +2 -2
  56. data/lib/chef/provider/mount/aix.rb +3 -3
  57. data/lib/chef/provider/mount/mount.rb +5 -5
  58. data/lib/chef/provider/mount/windows.rb +1 -1
  59. data/lib/chef/provider/mount.rb +5 -5
  60. data/lib/chef/provider/package/apt.rb +27 -1
  61. data/lib/chef/provider/package/deb.rb +3 -3
  62. data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
  63. data/lib/chef/provider/package/portage.rb +2 -2
  64. data/lib/chef/provider/package/powershell.rb +0 -5
  65. data/lib/chef/provider/package/rubygems.rb +9 -15
  66. data/lib/chef/provider/package/windows.rb +2 -4
  67. data/lib/chef/provider/package/yum/yum_helper.py +1 -1
  68. data/lib/chef/provider/package.rb +17 -21
  69. data/lib/chef/provider/route.rb +2 -2
  70. data/lib/chef/provider/service/aixinit.rb +1 -1
  71. data/lib/chef/provider/service/debian.rb +1 -1
  72. data/lib/chef/provider/service/freebsd.rb +15 -21
  73. data/lib/chef/provider/service/macosx.rb +4 -4
  74. data/lib/chef/provider/service/systemd.rb +43 -14
  75. data/lib/chef/provider/service/upstart.rb +2 -13
  76. data/lib/chef/provider/service/windows.rb +12 -12
  77. data/lib/chef/provider/service.rb +6 -6
  78. data/lib/chef/provider/subversion.rb +10 -12
  79. data/lib/chef/provider/systemd_unit.rb +36 -10
  80. data/lib/chef/provider/template/content.rb +3 -7
  81. data/lib/chef/provider/user/dscl.rb +1 -1
  82. data/lib/chef/provider/user/mac.rb +17 -20
  83. data/lib/chef/provider/user/pw.rb +1 -1
  84. data/lib/chef/provider/user/windows.rb +1 -1
  85. data/lib/chef/provider/user.rb +2 -2
  86. data/lib/chef/provider/zypper_repository.rb +2 -2
  87. data/lib/chef/provider.rb +1 -1
  88. data/lib/chef/providers.rb +0 -1
  89. data/lib/chef/resource/alternatives.rb +6 -6
  90. data/lib/chef/resource/apt_package.rb +1 -1
  91. data/lib/chef/resource/apt_preference.rb +2 -2
  92. data/lib/chef/resource/apt_repository.rb +6 -6
  93. data/lib/chef/resource/apt_update.rb +3 -2
  94. data/lib/chef/resource/archive_file.rb +2 -3
  95. data/lib/chef/resource/breakpoint.rb +1 -1
  96. data/lib/chef/resource/build_essential.rb +2 -6
  97. data/lib/chef/resource/chef_client_config.rb +2 -2
  98. data/lib/chef/resource/chef_client_cron.rb +4 -4
  99. data/lib/chef/resource/chef_client_launchd.rb +3 -3
  100. data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
  101. data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
  102. data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
  103. data/lib/chef/resource/chef_handler.rb +3 -7
  104. data/lib/chef/resource/chef_sleep.rb +1 -1
  105. data/lib/chef/resource/chef_vault_secret.rb +3 -8
  106. data/lib/chef/resource/chocolatey_config.rb +2 -6
  107. data/lib/chef/resource/chocolatey_feature.rb +2 -6
  108. data/lib/chef/resource/chocolatey_source.rb +4 -10
  109. data/lib/chef/resource/cron/_cron_shared.rb +2 -2
  110. data/lib/chef/resource/cron_access.rb +2 -4
  111. data/lib/chef/resource/dmg_package.rb +6 -10
  112. data/lib/chef/resource/dpkg_package.rb +1 -1
  113. data/lib/chef/resource/execute.rb +6 -1
  114. data/lib/chef/resource/file.rb +1 -1
  115. data/lib/chef/resource/group.rb +2 -2
  116. data/lib/chef/resource/homebrew_cask.rb +5 -15
  117. data/lib/chef/resource/homebrew_tap.rb +2 -6
  118. data/lib/chef/resource/hostname.rb +21 -17
  119. data/lib/chef/resource/http_request.rb +1 -1
  120. data/lib/chef/resource/kernel_module.rb +6 -17
  121. data/lib/chef/resource/locale.rb +2 -3
  122. data/lib/chef/resource/lwrp_base.rb +4 -0
  123. data/lib/chef/resource/macos_userdefaults.rb +10 -14
  124. data/lib/chef/resource/mdadm.rb +53 -7
  125. data/lib/chef/resource/mount.rb +3 -2
  126. data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
  127. data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
  128. data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
  129. data/lib/chef/resource/plist.rb +7 -7
  130. data/lib/chef/resource/powershell_script.rb +1 -1
  131. data/lib/chef/resource/remote_file.rb +1 -1
  132. data/lib/chef/resource/rhsm_errata.rb +16 -1
  133. data/lib/chef/resource/rhsm_errata_level.rb +10 -1
  134. data/lib/chef/resource/rhsm_register.rb +12 -6
  135. data/lib/chef/resource/rhsm_repo.rb +2 -6
  136. data/lib/chef/resource/rhsm_subscription.rb +7 -11
  137. data/lib/chef/resource/scm/git.rb +1 -1
  138. data/lib/chef/resource/sudo.rb +6 -6
  139. data/lib/chef/resource/support/client.erb +0 -6
  140. data/lib/chef/resource/sysctl.rb +2 -6
  141. data/lib/chef/resource/systemd_unit.rb +3 -3
  142. data/lib/chef/resource/template.rb +1 -1
  143. data/lib/chef/resource/timezone.rb +1 -3
  144. data/lib/chef/resource/user/mac_user.rb +1 -1
  145. data/lib/chef/resource/user_ulimit.rb +2 -3
  146. data/lib/chef/resource/windows_ad_join.rb +2 -6
  147. data/lib/chef/resource/windows_audit_policy.rb +1 -1
  148. data/lib/chef/resource/windows_auto_run.rb +2 -5
  149. data/lib/chef/resource/windows_certificate.rb +207 -73
  150. data/lib/chef/resource/windows_dfs_folder.rb +2 -6
  151. data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
  152. data/lib/chef/resource/windows_dfs_server.rb +1 -3
  153. data/lib/chef/resource/windows_dns_record.rb +2 -6
  154. data/lib/chef/resource/windows_dns_zone.rb +2 -6
  155. data/lib/chef/resource/windows_env.rb +5 -4
  156. data/lib/chef/resource/windows_feature.rb +3 -9
  157. data/lib/chef/resource/windows_feature_dism.rb +2 -6
  158. data/lib/chef/resource/windows_feature_powershell.rb +3 -3
  159. data/lib/chef/resource/windows_firewall_profile.rb +4 -4
  160. data/lib/chef/resource/windows_firewall_rule.rb +2 -5
  161. data/lib/chef/resource/windows_font.rb +2 -4
  162. data/lib/chef/resource/windows_pagefile.rb +2 -6
  163. data/lib/chef/resource/windows_path.rb +2 -2
  164. data/lib/chef/resource/windows_printer.rb +4 -4
  165. data/lib/chef/resource/windows_printer_port.rb +6 -6
  166. data/lib/chef/resource/windows_security_policy.rb +9 -12
  167. data/lib/chef/resource/windows_share.rb +14 -21
  168. data/lib/chef/resource/windows_shortcut.rb +4 -6
  169. data/lib/chef/resource/windows_task.rb +17 -5
  170. data/lib/chef/resource/windows_uac.rb +2 -4
  171. data/lib/chef/resource/windows_user_privilege.rb +5 -5
  172. data/lib/chef/resource/windows_workgroup.rb +1 -2
  173. data/lib/chef/resource.rb +1 -1
  174. data/lib/chef/resource_reporter.rb +1 -1
  175. data/lib/chef/resources.rb +0 -1
  176. data/lib/chef/shell/ext.rb +3 -3
  177. data/lib/chef/user.rb +0 -1
  178. data/lib/chef/user_v1.rb +3 -4
  179. data/lib/chef/util/dsc/configuration_generator.rb +1 -0
  180. data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
  181. data/lib/chef/version.rb +1 -1
  182. data/lib/chef/win32/api.rb +2 -9
  183. data/lib/chef/win32/registry.rb +4 -2
  184. data/lib/chef/win32/version.rb +1 -2
  185. data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
  186. data/spec/data/lwrp/resources/bar.rb +2 -0
  187. data/spec/data/lwrp/resources/buck_passer.rb +1 -0
  188. data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
  189. data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
  190. data/spec/data/lwrp/resources/foo.rb +2 -0
  191. data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
  192. data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
  193. data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
  194. data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
  195. data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
  196. data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
  197. data/spec/data/lwrp_override/resources/foo.rb +1 -0
  198. data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
  199. data/spec/data/rubygems.org/sexp_processor-info +49 -0
  200. data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
  201. data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
  202. data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
  203. data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
  204. data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
  205. data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
  206. data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
  207. data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
  208. data/spec/functional/dsl/registry_helper_spec.rb +1 -1
  209. data/spec/functional/resource/aixinit_service_spec.rb +7 -7
  210. data/spec/functional/resource/apt_package_spec.rb +1 -1
  211. data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
  212. data/spec/functional/resource/dnf_package_spec.rb +4 -1
  213. data/spec/functional/resource/group_spec.rb +1 -5
  214. data/spec/functional/resource/link_spec.rb +0 -8
  215. data/spec/functional/resource/registry_spec.rb +8 -8
  216. data/spec/functional/resource/user/mac_user_spec.rb +2 -2
  217. data/spec/functional/resource/windows_certificate_spec.rb +92 -35
  218. data/spec/functional/version_spec.rb +1 -1
  219. data/spec/functional/win32/registry_spec.rb +1 -1
  220. data/spec/integration/client/client_spec.rb +5 -2
  221. data/spec/integration/client/exit_code_spec.rb +1 -1
  222. data/spec/integration/client/ipv6_spec.rb +1 -1
  223. data/spec/integration/compliance/compliance_spec.rb +1 -1
  224. data/spec/integration/ohai/ohai_spec.rb +7 -6
  225. data/spec/integration/recipes/accumulator_spec.rb +13 -1
  226. data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
  227. data/spec/integration/recipes/lwrp_spec.rb +3 -1
  228. data/spec/integration/recipes/notifies_spec.rb +15 -1
  229. data/spec/integration/recipes/notifying_block_spec.rb +2 -1
  230. data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
  231. data/spec/integration/recipes/unified_mode_spec.rb +1 -1
  232. data/spec/integration/recipes/use_partial_spec.rb +4 -1
  233. data/spec/spec_helper.rb +10 -13
  234. data/spec/support/chef_helpers.rb +0 -16
  235. data/spec/support/lib/chef/resource/with_state.rb +0 -1
  236. data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
  237. data/spec/support/lib/chef/resource/zen_master.rb +0 -1
  238. data/spec/support/matchers/leak.rb +7 -9
  239. data/spec/support/platform_helpers.rb +1 -8
  240. data/spec/support/shared/integration/integration_helper.rb +0 -1
  241. data/spec/support/shared/unit/script_resource.rb +2 -2
  242. data/spec/unit/application/solo_spec.rb +2 -2
  243. data/spec/unit/chef_fs/diff_spec.rb +1 -1
  244. data/spec/unit/chef_fs/file_system_spec.rb +1 -1
  245. data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
  246. data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
  247. data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
  248. data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
  249. data/spec/unit/compliance/runner_spec.rb +30 -4
  250. data/spec/unit/cookbook_version_spec.rb +0 -52
  251. data/spec/unit/data_bag_item_spec.rb +1 -6
  252. data/spec/unit/data_collector_spec.rb +2 -71
  253. data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
  254. data/spec/unit/dsl/registry_helper_spec.rb +1 -1
  255. data/spec/unit/lwrp_spec.rb +1 -1
  256. data/spec/unit/mixin/params_validate_spec.rb +4 -3
  257. data/spec/unit/node/attribute_spec.rb +1 -1
  258. data/spec/unit/node_spec.rb +78 -0
  259. data/spec/unit/org_group_spec.rb +45 -0
  260. data/spec/unit/policy_builder/policyfile_spec.rb +1 -11
  261. data/spec/unit/property_spec.rb +23 -22
  262. data/spec/unit/provider/cron_spec.rb +1 -1
  263. data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
  264. data/spec/unit/provider/group/groupmod_spec.rb +2 -2
  265. data/spec/unit/provider/group/pw_spec.rb +2 -2
  266. data/spec/unit/provider/group_spec.rb +1 -1
  267. data/spec/unit/provider/package/apt_spec.rb +84 -18
  268. data/spec/unit/provider/package/deb_spec.rb +3 -3
  269. data/spec/unit/provider/package/powershell_spec.rb +12 -74
  270. data/spec/unit/provider/package/rubygems_spec.rb +18 -30
  271. data/spec/unit/provider/service/arch_service_spec.rb +1 -0
  272. data/spec/unit/provider/service/debian_service_spec.rb +1 -0
  273. data/spec/unit/provider/service/macosx_spec.rb +2 -2
  274. data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
  275. data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
  276. data/spec/unit/provider/service/windows_spec.rb +2 -2
  277. data/spec/unit/provider/subversion_spec.rb +2 -2
  278. data/spec/unit/provider/systemd_unit_spec.rb +79 -60
  279. data/spec/unit/provider/zypper_repository_spec.rb +2 -2
  280. data/spec/unit/provider_spec.rb +0 -8
  281. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
  282. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  283. data/spec/unit/resource/mount_spec.rb +0 -10
  284. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  285. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  286. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  287. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  288. data/spec/unit/resource/windows_task_spec.rb +1 -1
  289. data/spec/unit/resource_spec.rb +0 -5
  290. data/spec/unit/user_spec.rb +1 -1
  291. data/spec/unit/user_v1_spec.rb +6 -4
  292. data/tasks/rspec.rb +15 -7
  293. metadata +19 -382
  294. data/bin/knife +0 -24
  295. data/lib/chef/application/knife.rb +0 -234
  296. data/lib/chef/application/windows_service.rb +0 -338
  297. data/lib/chef/application/windows_service_manager.rb +0 -205
  298. data/lib/chef/chef_fs/knife.rb +0 -160
  299. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  300. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  301. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  302. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  303. data/lib/chef/knife/acl_add.rb +0 -57
  304. data/lib/chef/knife/acl_base.rb +0 -183
  305. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  306. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  307. data/lib/chef/knife/acl_remove.rb +0 -62
  308. data/lib/chef/knife/acl_show.rb +0 -56
  309. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  310. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  311. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  312. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  313. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  314. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  315. data/lib/chef/knife/bootstrap.rb +0 -1192
  316. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  317. data/lib/chef/knife/client_create.rb +0 -101
  318. data/lib/chef/knife/client_delete.rb +0 -62
  319. data/lib/chef/knife/client_edit.rb +0 -52
  320. data/lib/chef/knife/client_key_create.rb +0 -73
  321. data/lib/chef/knife/client_key_delete.rb +0 -80
  322. data/lib/chef/knife/client_key_edit.rb +0 -83
  323. data/lib/chef/knife/client_key_list.rb +0 -73
  324. data/lib/chef/knife/client_key_show.rb +0 -80
  325. data/lib/chef/knife/client_list.rb +0 -41
  326. data/lib/chef/knife/client_reregister.rb +0 -58
  327. data/lib/chef/knife/client_show.rb +0 -48
  328. data/lib/chef/knife/config_get.rb +0 -39
  329. data/lib/chef/knife/config_get_profile.rb +0 -37
  330. data/lib/chef/knife/config_list.rb +0 -139
  331. data/lib/chef/knife/config_list_profiles.rb +0 -37
  332. data/lib/chef/knife/config_show.rb +0 -127
  333. data/lib/chef/knife/config_use.rb +0 -61
  334. data/lib/chef/knife/config_use_profile.rb +0 -47
  335. data/lib/chef/knife/configure.rb +0 -150
  336. data/lib/chef/knife/configure_client.rb +0 -48
  337. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  338. data/lib/chef/knife/cookbook_delete.rb +0 -151
  339. data/lib/chef/knife/cookbook_download.rb +0 -142
  340. data/lib/chef/knife/cookbook_list.rb +0 -47
  341. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  342. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  343. data/lib/chef/knife/cookbook_show.rb +0 -98
  344. data/lib/chef/knife/cookbook_upload.rb +0 -292
  345. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  346. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  347. data/lib/chef/knife/core/formatting_options.rb +0 -49
  348. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  349. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  350. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  351. data/lib/chef/knife/core/node_editor.rb +0 -130
  352. data/lib/chef/knife/core/node_presenter.rb +0 -133
  353. data/lib/chef/knife/core/object_loader.rb +0 -115
  354. data/lib/chef/knife/core/status_presenter.rb +0 -147
  355. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  356. data/lib/chef/knife/core/text_formatter.rb +0 -85
  357. data/lib/chef/knife/core/ui.rb +0 -338
  358. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  359. data/lib/chef/knife/data_bag_create.rb +0 -81
  360. data/lib/chef/knife/data_bag_delete.rb +0 -49
  361. data/lib/chef/knife/data_bag_edit.rb +0 -74
  362. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  363. data/lib/chef/knife/data_bag_list.rb +0 -42
  364. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  365. data/lib/chef/knife/data_bag_show.rb +0 -69
  366. data/lib/chef/knife/delete.rb +0 -125
  367. data/lib/chef/knife/deps.rb +0 -156
  368. data/lib/chef/knife/diff.rb +0 -83
  369. data/lib/chef/knife/download.rb +0 -84
  370. data/lib/chef/knife/edit.rb +0 -88
  371. data/lib/chef/knife/environment_compare.rb +0 -128
  372. data/lib/chef/knife/environment_create.rb +0 -52
  373. data/lib/chef/knife/environment_delete.rb +0 -44
  374. data/lib/chef/knife/environment_edit.rb +0 -44
  375. data/lib/chef/knife/environment_from_file.rb +0 -84
  376. data/lib/chef/knife/environment_list.rb +0 -41
  377. data/lib/chef/knife/environment_show.rb +0 -47
  378. data/lib/chef/knife/exec.rb +0 -99
  379. data/lib/chef/knife/group_add.rb +0 -55
  380. data/lib/chef/knife/group_create.rb +0 -49
  381. data/lib/chef/knife/group_destroy.rb +0 -53
  382. data/lib/chef/knife/group_list.rb +0 -43
  383. data/lib/chef/knife/group_remove.rb +0 -56
  384. data/lib/chef/knife/group_show.rb +0 -49
  385. data/lib/chef/knife/key_create.rb +0 -112
  386. data/lib/chef/knife/key_create_base.rb +0 -50
  387. data/lib/chef/knife/key_delete.rb +0 -55
  388. data/lib/chef/knife/key_edit.rb +0 -118
  389. data/lib/chef/knife/key_edit_base.rb +0 -55
  390. data/lib/chef/knife/key_list.rb +0 -90
  391. data/lib/chef/knife/key_list_base.rb +0 -45
  392. data/lib/chef/knife/key_show.rb +0 -53
  393. data/lib/chef/knife/list.rb +0 -177
  394. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  395. data/lib/chef/knife/node_create.rb +0 -47
  396. data/lib/chef/knife/node_delete.rb +0 -46
  397. data/lib/chef/knife/node_edit.rb +0 -70
  398. data/lib/chef/knife/node_environment_set.rb +0 -53
  399. data/lib/chef/knife/node_from_file.rb +0 -51
  400. data/lib/chef/knife/node_list.rb +0 -44
  401. data/lib/chef/knife/node_policy_set.rb +0 -79
  402. data/lib/chef/knife/node_run_list_add.rb +0 -104
  403. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  404. data/lib/chef/knife/node_run_list_set.rb +0 -66
  405. data/lib/chef/knife/node_show.rb +0 -63
  406. data/lib/chef/knife/null.rb +0 -12
  407. data/lib/chef/knife/raw.rb +0 -123
  408. data/lib/chef/knife/recipe_list.rb +0 -32
  409. data/lib/chef/knife/rehash.rb +0 -50
  410. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  411. data/lib/chef/knife/role_create.rb +0 -53
  412. data/lib/chef/knife/role_delete.rb +0 -46
  413. data/lib/chef/knife/role_edit.rb +0 -45
  414. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  415. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  416. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  417. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  418. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  419. data/lib/chef/knife/role_from_file.rb +0 -51
  420. data/lib/chef/knife/role_list.rb +0 -42
  421. data/lib/chef/knife/role_run_list_add.rb +0 -87
  422. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  423. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  424. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  425. data/lib/chef/knife/role_run_list_set.rb +0 -69
  426. data/lib/chef/knife/role_show.rb +0 -48
  427. data/lib/chef/knife/search.rb +0 -194
  428. data/lib/chef/knife/serve.rb +0 -65
  429. data/lib/chef/knife/show.rb +0 -72
  430. data/lib/chef/knife/ssh.rb +0 -645
  431. data/lib/chef/knife/ssl_check.rb +0 -284
  432. data/lib/chef/knife/ssl_fetch.rb +0 -161
  433. data/lib/chef/knife/status.rb +0 -95
  434. data/lib/chef/knife/supermarket_download.rb +0 -121
  435. data/lib/chef/knife/supermarket_install.rb +0 -192
  436. data/lib/chef/knife/supermarket_list.rb +0 -76
  437. data/lib/chef/knife/supermarket_search.rb +0 -53
  438. data/lib/chef/knife/supermarket_share.rb +0 -166
  439. data/lib/chef/knife/supermarket_show.rb +0 -66
  440. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  441. data/lib/chef/knife/tag_create.rb +0 -52
  442. data/lib/chef/knife/tag_delete.rb +0 -60
  443. data/lib/chef/knife/tag_list.rb +0 -47
  444. data/lib/chef/knife/upload.rb +0 -86
  445. data/lib/chef/knife/user_create.rb +0 -107
  446. data/lib/chef/knife/user_delete.rb +0 -44
  447. data/lib/chef/knife/user_dissociate.rb +0 -42
  448. data/lib/chef/knife/user_edit.rb +0 -52
  449. data/lib/chef/knife/user_invite_add.rb +0 -43
  450. data/lib/chef/knife/user_invite_list.rb +0 -34
  451. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  452. data/lib/chef/knife/user_key_create.rb +0 -73
  453. data/lib/chef/knife/user_key_delete.rb +0 -80
  454. data/lib/chef/knife/user_key_edit.rb +0 -83
  455. data/lib/chef/knife/user_key_list.rb +0 -73
  456. data/lib/chef/knife/user_key_show.rb +0 -80
  457. data/lib/chef/knife/user_list.rb +0 -42
  458. data/lib/chef/knife/user_reregister.rb +0 -59
  459. data/lib/chef/knife/user_show.rb +0 -48
  460. data/lib/chef/knife/xargs.rb +0 -282
  461. data/lib/chef/knife/yaml_convert.rb +0 -91
  462. data/lib/chef/knife.rb +0 -665
  463. data/lib/chef/resource/user/dscl_user.rb +0 -35
  464. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  465. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  466. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  467. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  468. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  469. data/spec/functional/knife/configure_spec.rb +0 -33
  470. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  471. data/spec/functional/knife/exec_spec.rb +0 -55
  472. data/spec/functional/knife/rehash_spec.rb +0 -39
  473. data/spec/functional/knife/smoke_test.rb +0 -42
  474. data/spec/functional/knife/ssh_spec.rb +0 -352
  475. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  476. data/spec/functional/resource/windows_service_spec.rb +0 -105
  477. data/spec/functional/win32/service_manager_spec.rb +0 -220
  478. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  479. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  480. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  481. data/spec/integration/knife/chefignore_spec.rb +0 -301
  482. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  483. data/spec/integration/knife/client_create_spec.rb +0 -70
  484. data/spec/integration/knife/client_delete_spec.rb +0 -64
  485. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  486. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  487. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  488. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  489. data/spec/integration/knife/client_list_spec.rb +0 -49
  490. data/spec/integration/knife/client_show_spec.rb +0 -37
  491. data/spec/integration/knife/common_options_spec.rb +0 -174
  492. data/spec/integration/knife/config_list_spec.rb +0 -220
  493. data/spec/integration/knife/config_show_spec.rb +0 -192
  494. data/spec/integration/knife/config_use_spec.rb +0 -198
  495. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  496. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  497. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  498. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  499. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  500. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  501. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  502. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  503. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  504. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  505. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  506. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  507. data/spec/integration/knife/delete_spec.rb +0 -1018
  508. data/spec/integration/knife/deps_spec.rb +0 -703
  509. data/spec/integration/knife/diff_spec.rb +0 -605
  510. data/spec/integration/knife/download_spec.rb +0 -1336
  511. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  512. data/spec/integration/knife/environment_create_spec.rb +0 -41
  513. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  514. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  515. data/spec/integration/knife/environment_list_spec.rb +0 -42
  516. data/spec/integration/knife/environment_show_spec.rb +0 -77
  517. data/spec/integration/knife/list_spec.rb +0 -1060
  518. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  519. data/spec/integration/knife/node_create_spec.rb +0 -47
  520. data/spec/integration/knife/node_delete_spec.rb +0 -48
  521. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  522. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  523. data/spec/integration/knife/node_list_spec.rb +0 -45
  524. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  525. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  526. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  527. data/spec/integration/knife/node_show_spec.rb +0 -36
  528. data/spec/integration/knife/raw_spec.rb +0 -297
  529. data/spec/integration/knife/redirection_spec.rb +0 -64
  530. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  531. data/spec/integration/knife/role_create_spec.rb +0 -41
  532. data/spec/integration/knife/role_delete_spec.rb +0 -48
  533. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  534. data/spec/integration/knife/role_list_spec.rb +0 -45
  535. data/spec/integration/knife/role_show_spec.rb +0 -51
  536. data/spec/integration/knife/search_node_spec.rb +0 -40
  537. data/spec/integration/knife/serve_spec.rb +0 -92
  538. data/spec/integration/knife/show_spec.rb +0 -197
  539. data/spec/integration/knife/upload_spec.rb +0 -1616
  540. data/spec/support/shared/functional/knife.rb +0 -37
  541. data/spec/support/shared/functional/win32_service.rb +0 -57
  542. data/spec/support/shared/integration/knife_support.rb +0 -192
  543. data/spec/support/shared/unit/knife_shared.rb +0 -39
  544. data/spec/unit/application/knife_spec.rb +0 -241
  545. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  546. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  547. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  548. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  549. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  550. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  551. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  552. data/spec/unit/knife/client_create_spec.rb +0 -169
  553. data/spec/unit/knife/client_delete_spec.rb +0 -99
  554. data/spec/unit/knife/client_edit_spec.rb +0 -53
  555. data/spec/unit/knife/client_list_spec.rb +0 -34
  556. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  557. data/spec/unit/knife/client_show_spec.rb +0 -52
  558. data/spec/unit/knife/configure_client_spec.rb +0 -81
  559. data/spec/unit/knife/configure_spec.rb +0 -190
  560. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  561. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  562. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  563. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  564. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  565. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  566. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  567. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  568. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  569. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  570. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  571. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  572. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  573. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  574. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  575. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  576. data/spec/unit/knife/core/ui_spec.rb +0 -656
  577. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  578. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  579. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  580. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  581. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  582. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  583. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  584. data/spec/unit/knife/environment_create_spec.rb +0 -91
  585. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  586. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  587. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  588. data/spec/unit/knife/environment_list_spec.rb +0 -54
  589. data/spec/unit/knife/environment_show_spec.rb +0 -52
  590. data/spec/unit/knife/key_create_spec.rb +0 -223
  591. data/spec/unit/knife/key_delete_spec.rb +0 -133
  592. data/spec/unit/knife/key_edit_spec.rb +0 -264
  593. data/spec/unit/knife/key_helper.rb +0 -74
  594. data/spec/unit/knife/key_list_spec.rb +0 -216
  595. data/spec/unit/knife/key_show_spec.rb +0 -126
  596. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  597. data/spec/unit/knife/node_delete_spec.rb +0 -77
  598. data/spec/unit/knife/node_edit_spec.rb +0 -116
  599. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  600. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  601. data/spec/unit/knife/node_list_spec.rb +0 -62
  602. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  603. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  604. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  605. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  606. data/spec/unit/knife/node_show_spec.rb +0 -65
  607. data/spec/unit/knife/raw_spec.rb +0 -43
  608. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  609. data/spec/unit/knife/role_create_spec.rb +0 -80
  610. data/spec/unit/knife/role_delete_spec.rb +0 -67
  611. data/spec/unit/knife/role_edit_spec.rb +0 -77
  612. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  613. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  614. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  615. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  616. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  617. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  618. data/spec/unit/knife/role_list_spec.rb +0 -54
  619. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  620. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  621. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  622. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  623. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  624. data/spec/unit/knife/role_show_spec.rb +0 -59
  625. data/spec/unit/knife/ssh_spec.rb +0 -403
  626. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  627. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  628. data/spec/unit/knife/status_spec.rb +0 -112
  629. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  630. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  631. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  632. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  633. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  634. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  635. data/spec/unit/knife/tag_create_spec.rb +0 -23
  636. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  637. data/spec/unit/knife/tag_list_spec.rb +0 -23
  638. data/spec/unit/knife/user_create_spec.rb +0 -184
  639. data/spec/unit/knife/user_delete_spec.rb +0 -46
  640. data/spec/unit/knife/user_edit_spec.rb +0 -48
  641. data/spec/unit/knife/user_list_spec.rb +0 -36
  642. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  643. data/spec/unit/knife/user_show_spec.rb +0 -46
  644. data/spec/unit/knife_spec.rb +0 -634
  645. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  646. data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,962 +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
- require "chef/knife/show"
23
-
24
- describe "chef_repo_path tests", :workstation do
25
- include IntegrationSupport
26
- include KnifeSupport
27
-
28
- let(:error_rel_path_outside_repo) { /^ERROR: Attempt to use relative path '' when current directory is outside the repository path/ }
29
-
30
- # TODO alternate repo_path / *_path
31
- context "alternate *_path" do
32
- when_the_repository "has clients and clients2, cookbooks and cookbooks2, etc." do
33
- before do
34
- file "clients/client1.json", {}
35
- file "cookbooks/cookbook1/metadata.rb", ""
36
- file "data_bags/bag/item.json", {}
37
- file "environments/env1.json", {}
38
- file "nodes/node1.json", {}
39
- file "roles/role1.json", {}
40
- file "users/user1.json", {}
41
-
42
- file "clients2/client2.json", {}
43
- file "cookbooks2/cookbook2/metadata.rb", ""
44
- file "data_bags2/bag2/item2.json", {}
45
- file "environments2/env2.json", {}
46
- file "nodes2/node2.json", {}
47
- file "roles2/role2.json", {}
48
- file "users2/user2.json", {}
49
-
50
- directory "chef_repo2" do
51
- file "clients/client3.json", {}
52
- file "cookbooks/cookbook3/metadata.rb", "name 'cookbook3'"
53
- file "data_bags/bag3/item3.json", {}
54
- file "environments/env3.json", {}
55
- file "nodes/node3.json", {}
56
- file "roles/role3.json", {}
57
- file "users/user3.json", {}
58
- end
59
- end
60
-
61
- it "knife list --local -Rfp --chef-repo-path chef_repo2 / grabs chef_repo2 stuff" do
62
- Chef::Config.delete(:chef_repo_path)
63
- knife("list --local -Rfp --chef-repo-path #{path_to("chef_repo2")} /").should_succeed <<~EOM
64
- /clients/
65
- /clients/client3.json
66
- /cookbooks/
67
- /cookbooks/cookbook3/
68
- /cookbooks/cookbook3/metadata.rb
69
- /data_bags/
70
- /data_bags/bag3/
71
- /data_bags/bag3/item3.json
72
- /environments/
73
- /environments/env3.json
74
- /nodes/
75
- /nodes/node3.json
76
- /roles/
77
- /roles/role3.json
78
- /users/
79
- /users/user3.json
80
- EOM
81
- end
82
-
83
- # "Skipping for BK... As Windows 2019 has 8dot3name disabled by default"
84
- it "knife list --local -Rfp --chef-repo-path chef_r~1 / grabs chef_repo2 stuff", :windows_only, :skip_buildkite do
85
- Chef::Config.delete(:chef_repo_path)
86
- knife("list --local -Rfp --chef-repo-path #{path_to("chef_r~1")} /").should_succeed <<~EOM
87
- /clients/
88
- /clients/client3.json
89
- /cookbooks/
90
- /cookbooks/cookbook3/
91
- /cookbooks/cookbook3/metadata.rb
92
- /data_bags/
93
- /data_bags/bag3/
94
- /data_bags/bag3/item3.json
95
- /environments/
96
- /environments/env3.json
97
- /nodes/
98
- /nodes/node3.json
99
- /roles/
100
- /roles/role3.json
101
- /users/
102
- /users/user3.json
103
- EOM
104
- end
105
-
106
- # "Skipping for BK... As Windows 2019 has 8dot3name disabled by default"
107
- it "knife list --local -Rfp --chef-repo-path chef_r~1 / grabs chef_repo2 stuff", :windows_only, :skip_buildkite do
108
- Chef::Config.delete(:chef_repo_path)
109
- knife("list -z -Rfp --chef-repo-path #{path_to("chef_r~1")} /").should_succeed <<~EOM
110
- /acls/
111
- /acls/clients/
112
- /acls/clients/client3.json
113
- /acls/containers/
114
- /acls/cookbook_artifacts/
115
- /acls/cookbooks/
116
- /acls/cookbooks/cookbook3.json
117
- /acls/data_bags/
118
- /acls/data_bags/bag3.json
119
- /acls/environments/
120
- /acls/environments/env3.json
121
- /acls/groups/
122
- /acls/nodes/
123
- /acls/nodes/node3.json
124
- /acls/organization.json
125
- /acls/policies/
126
- /acls/policy_groups/
127
- /acls/roles/
128
- /acls/roles/role3.json
129
- /clients/
130
- /clients/client3.json
131
- /containers/
132
- /cookbook_artifacts/
133
- /cookbooks/
134
- /cookbooks/cookbook3/
135
- /cookbooks/cookbook3/metadata.rb
136
- /data_bags/
137
- /data_bags/bag3/
138
- /data_bags/bag3/item3.json
139
- /environments/
140
- /environments/env3.json
141
- /groups/
142
- /invitations.json
143
- /members.json
144
- /nodes/
145
- /nodes/node3.json
146
- /org.json
147
- /policies/
148
- /policy_groups/
149
- /roles/
150
- /roles/role3.json
151
- EOM
152
- end
153
-
154
- context "when all _paths are set to alternates" do
155
- before :each do
156
- %w{client cookbook data_bag environment node role user}.each do |object_name|
157
- Chef::Config["#{object_name}_path".to_sym] = File.join(Chef::Config.chef_repo_path, "#{object_name}s2")
158
- end
159
- Chef::Config.chef_repo_path = File.join(Chef::Config.chef_repo_path, "chef_repo2")
160
- end
161
-
162
- it "knife list --local -Rfp --chef-repo-path chef_repo2 / grabs chef_repo2 stuff" do
163
- knife("list --local -Rfp --chef-repo-path #{path_to("chef_repo2")} /").should_succeed <<~EOM
164
- /clients/
165
- /clients/client3.json
166
- /cookbooks/
167
- /cookbooks/cookbook3/
168
- /cookbooks/cookbook3/metadata.rb
169
- /data_bags/
170
- /data_bags/bag3/
171
- /data_bags/bag3/item3.json
172
- /environments/
173
- /environments/env3.json
174
- /nodes/
175
- /nodes/node3.json
176
- /roles/
177
- /roles/role3.json
178
- /users/
179
- /users/user3.json
180
- EOM
181
- end
182
-
183
- context "when cwd is at the top level" do
184
- before { cwd "." }
185
- it "knife list --local -Rfp fails" do
186
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
187
- end
188
- end
189
-
190
- context "when cwd is inside the data_bags directory" do
191
- before { cwd "data_bags" }
192
- it "knife list --local -Rfp fails" do
193
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
194
- end
195
- end
196
-
197
- context "when cwd is inside chef_repo2" do
198
- before { cwd "chef_repo2" }
199
- it "knife list --local -Rfp lists everything" do
200
- knife("list --local -Rfp").should_succeed <<~EOM
201
- clients/
202
- clients/client2.json
203
- cookbooks/
204
- cookbooks/cookbook2/
205
- cookbooks/cookbook2/metadata.rb
206
- data_bags/
207
- data_bags/bag2/
208
- data_bags/bag2/item2.json
209
- environments/
210
- environments/env2.json
211
- nodes/
212
- nodes/node2.json
213
- roles/
214
- roles/role2.json
215
- users/
216
- users/user2.json
217
- EOM
218
- end
219
- end
220
-
221
- context "when cwd is inside data_bags2" do
222
- before { cwd "data_bags2" }
223
- it "knife list --local -Rfp lists data bags" do
224
- knife("list --local -Rfp").should_succeed <<~EOM
225
- bag2/
226
- bag2/item2.json
227
- EOM
228
- end
229
- it "knife list --local -Rfp ../roles lists roles" do
230
- knife("list --local -Rfp ../roles").should_succeed "/roles/role2.json\n"
231
- end
232
- end
233
- end
234
-
235
- context "when all _paths except chef_repo_path are set to alternates" do
236
- before :each do
237
- %w{client cookbook data_bag environment node role user}.each do |object_name|
238
- Chef::Config["#{object_name}_path".to_sym] = File.join(Chef::Config.chef_repo_path, "#{object_name}s2")
239
- end
240
- end
241
-
242
- context "when cwd is at the top level" do
243
- before { cwd "." }
244
- it "knife list --local -Rfp lists everything" do
245
- knife("list --local -Rfp").should_succeed <<~EOM
246
- clients/
247
- clients/client2.json
248
- cookbooks/
249
- cookbooks/cookbook2/
250
- cookbooks/cookbook2/metadata.rb
251
- data_bags/
252
- data_bags/bag2/
253
- data_bags/bag2/item2.json
254
- environments/
255
- environments/env2.json
256
- nodes/
257
- nodes/node2.json
258
- roles/
259
- roles/role2.json
260
- users/
261
- users/user2.json
262
- EOM
263
- end
264
- end
265
-
266
- context "when cwd is inside the data_bags directory" do
267
- before { cwd "data_bags" }
268
- it "knife list --local -Rfp fails" do
269
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
270
- end
271
- end
272
-
273
- context "when cwd is inside chef_repo2" do
274
- before { cwd "chef_repo2" }
275
- it "knife list -Rfp fails" do
276
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
277
- end
278
- end
279
-
280
- context "when cwd is inside data_bags2" do
281
- before { cwd "data_bags2" }
282
- it "knife list --local -Rfp lists data bags" do
283
- knife("list --local -Rfp").should_succeed <<~EOM
284
- bag2/
285
- bag2/item2.json
286
- EOM
287
- end
288
- end
289
- end
290
-
291
- context "when only chef_repo_path is set to its alternate" do
292
- before :each do
293
- %w{client cookbook data_bag environment node role user}.each do |object_name|
294
- Chef::Config.delete("#{object_name}_path".to_sym)
295
- end
296
- Chef::Config.chef_repo_path = File.join(Chef::Config.chef_repo_path, "chef_repo2")
297
- end
298
-
299
- context "when cwd is at the top level" do
300
- before { cwd "." }
301
- it "knife list --local -Rfp fails" do
302
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
303
- end
304
- end
305
-
306
- context "when cwd is inside the data_bags directory" do
307
- before { cwd "data_bags" }
308
- it "knife list --local -Rfp fails" do
309
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
310
- end
311
- end
312
-
313
- context "when cwd is inside chef_repo2" do
314
- before { cwd "chef_repo2" }
315
- it "knife list --local -Rfp lists everything" do
316
- knife("list --local -Rfp").should_succeed <<~EOM
317
- clients/
318
- clients/client3.json
319
- cookbooks/
320
- cookbooks/cookbook3/
321
- cookbooks/cookbook3/metadata.rb
322
- data_bags/
323
- data_bags/bag3/
324
- data_bags/bag3/item3.json
325
- environments/
326
- environments/env3.json
327
- nodes/
328
- nodes/node3.json
329
- roles/
330
- roles/role3.json
331
- users/
332
- users/user3.json
333
- EOM
334
- end
335
- end
336
-
337
- context "when cwd is inside chef_repo2/data_bags" do
338
- before { cwd "chef_repo2/data_bags" }
339
- it "knife list --local -Rfp lists data bags" do
340
- knife("list --local -Rfp").should_succeed <<~EOM
341
- bag3/
342
- bag3/item3.json
343
- EOM
344
- end
345
- end
346
- end
347
-
348
- context "when paths are set to point to both versions of each" do
349
- before :each do
350
- %w{client cookbook data_bag environment node role user}.each do |object_name|
351
- Chef::Config["#{object_name}_path".to_sym] = [
352
- File.join(Chef::Config.chef_repo_path, "#{object_name}s"),
353
- File.join(Chef::Config.chef_repo_path, "#{object_name}s2"),
354
- ]
355
- end
356
- Chef::Config.chef_repo_path = File.join(Chef::Config.chef_repo_path, "chef_repo2")
357
- end
358
-
359
- context "when there is a directory in clients1 and file in clients2 with the same name" do
360
- before do
361
- directory "clients/blah.json"
362
- file "clients2/blah.json", {}
363
- end
364
- it "knife show /clients/blah.json succeeds" do
365
- knife("show --local /clients/blah.json").should_succeed <<~EOM
366
- /clients/blah.json:
367
- {
368
-
369
- }
370
- EOM
371
- end
372
- end
373
-
374
- context "when there is a file in cookbooks1 and directory in cookbooks2 with the same name" do
375
- before do
376
- file "cookbooks/blah", ""
377
- file "cookbooks2/blah/metadata.rb", ""
378
- end
379
- it "knife list -Rfp cookbooks shows files in blah" do
380
- knife("list --local -Rfp /cookbooks").should_succeed <<~EOM
381
- /cookbooks/blah/
382
- /cookbooks/blah/metadata.rb
383
- /cookbooks/cookbook1/
384
- /cookbooks/cookbook1/metadata.rb
385
- /cookbooks/cookbook2/
386
- /cookbooks/cookbook2/metadata.rb
387
- EOM
388
- end
389
- end
390
-
391
- context "when there is an empty directory in cookbooks1 and a real cookbook in cookbooks2 with the same name" do
392
- before do
393
- directory "cookbooks/blah"
394
- file "cookbooks2/blah/metadata.rb", ""
395
- end
396
- it "knife list -Rfp cookbooks shows files in blah" do
397
- knife("list --local -Rfp /cookbooks").should_succeed(<<~EOM, stderr: "WARN: Cookbook 'blah' is empty or entirely chefignored at #{Chef::Config.cookbook_path[0]}/blah\n")
398
- /cookbooks/blah/
399
- /cookbooks/blah/metadata.rb
400
- /cookbooks/cookbook1/
401
- /cookbooks/cookbook1/metadata.rb
402
- /cookbooks/cookbook2/
403
- /cookbooks/cookbook2/metadata.rb
404
- EOM
405
- end
406
- end
407
-
408
- context "when there is a cookbook in cookbooks1 and a cookbook in cookbooks2 with the same name" do
409
- before do
410
- file "cookbooks/blah/metadata.json", {}
411
- file "cookbooks2/blah/metadata.rb", ""
412
- end
413
- it "knife list -Rfp cookbooks shows files in the first cookbook and not the second" do
414
- knife("list --local -Rfp /cookbooks").should_succeed(<<~EOM, stderr: "WARN: Child with name 'blah' found in multiple directories: #{Chef::Config.cookbook_path[0]}/blah and #{Chef::Config.cookbook_path[1]}/blah\n")
415
- /cookbooks/blah/
416
- /cookbooks/blah/metadata.json
417
- /cookbooks/cookbook1/
418
- /cookbooks/cookbook1/metadata.rb
419
- /cookbooks/cookbook2/
420
- /cookbooks/cookbook2/metadata.rb
421
- EOM
422
- end
423
- end
424
-
425
- context "when there is a file in data_bags1 and a directory in data_bags2 with the same name" do
426
- before do
427
- file "data_bags/blah", ""
428
- file "data_bags2/blah/item.json", ""
429
- end
430
- it "knife list -Rfp data_bags shows files in blah" do
431
- knife("list --local -Rfp /data_bags").should_succeed <<~EOM
432
- /data_bags/bag/
433
- /data_bags/bag/item.json
434
- /data_bags/bag2/
435
- /data_bags/bag2/item2.json
436
- /data_bags/blah/
437
- /data_bags/blah/item.json
438
- EOM
439
- end
440
- end
441
-
442
- context "when there is a data bag in data_bags1 and a data bag in data_bags2 with the same name" do
443
- before do
444
- file "data_bags/blah/item1.json", ""
445
- file "data_bags2/blah/item2.json", ""
446
- end
447
- it "knife list -Rfp data_bags shows only items in data_bags1" do
448
- knife("list --local -Rfp /data_bags").should_succeed(<<~EOM, stderr: "WARN: Child with name 'blah' found in multiple directories: #{Chef::Config.data_bag_path[0]}/blah and #{Chef::Config.data_bag_path[1]}/blah\n")
449
- /data_bags/bag/
450
- /data_bags/bag/item.json
451
- /data_bags/bag2/
452
- /data_bags/bag2/item2.json
453
- /data_bags/blah/
454
- /data_bags/blah/item1.json
455
- EOM
456
- end
457
- end
458
-
459
- context "when there is a directory in environments1 and file in environments2 with the same name" do
460
- before do
461
- directory "environments/blah.json"
462
- file "environments2/blah.json", {}
463
- end
464
- it "knife show /environments/blah.json succeeds" do
465
- knife("show --local /environments/blah.json").should_succeed <<~EOM
466
- /environments/blah.json:
467
- {
468
-
469
- }
470
- EOM
471
- end
472
- end
473
-
474
- context "when there is a directory in nodes1 and file in nodes2 with the same name" do
475
- before do
476
- directory "nodes/blah.json"
477
- file "nodes2/blah.json", {}
478
- end
479
- it "knife show /nodes/blah.json succeeds" do
480
- knife("show --local /nodes/blah.json").should_succeed <<~EOM
481
- /nodes/blah.json:
482
- {
483
-
484
- }
485
- EOM
486
- end
487
- end
488
-
489
- context "when there is a directory in roles1 and file in roles2 with the same name" do
490
- before do
491
- directory "roles/blah.json"
492
- file "roles2/blah.json", {}
493
- end
494
- it "knife show /roles/blah.json succeeds" do
495
- knife("show --local /roles/blah.json").should_succeed <<~EOM
496
- /roles/blah.json:
497
- {
498
-
499
- }
500
- EOM
501
- end
502
- end
503
-
504
- context "when there is a directory in users1 and file in users2 with the same name" do
505
- before do
506
- directory "users/blah.json"
507
- file "users2/blah.json", {}
508
- end
509
- it "knife show /users/blah.json succeeds" do
510
- knife("show --local /users/blah.json").should_succeed <<~EOM
511
- /users/blah.json:
512
- {
513
-
514
- }
515
- EOM
516
- end
517
- end
518
-
519
- context "when cwd is at the top level" do
520
- before { cwd "." }
521
- it "knife list --local -Rfp fails" do
522
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
523
- end
524
- end
525
-
526
- context "when cwd is inside the data_bags directory" do
527
- before { cwd "data_bags" }
528
- it "knife list --local -Rfp lists data bags" do
529
- knife("list --local -Rfp").should_succeed <<~EOM
530
- bag/
531
- bag/item.json
532
- bag2/
533
- bag2/item2.json
534
- EOM
535
- end
536
- end
537
-
538
- context "when cwd is inside chef_repo2" do
539
- before { cwd "chef_repo2" }
540
- it "knife list --local -Rfp lists everything" do
541
- knife("list --local -Rfp").should_succeed <<~EOM
542
- clients/
543
- clients/client1.json
544
- clients/client2.json
545
- cookbooks/
546
- cookbooks/cookbook1/
547
- cookbooks/cookbook1/metadata.rb
548
- cookbooks/cookbook2/
549
- cookbooks/cookbook2/metadata.rb
550
- data_bags/
551
- data_bags/bag/
552
- data_bags/bag/item.json
553
- data_bags/bag2/
554
- data_bags/bag2/item2.json
555
- environments/
556
- environments/env1.json
557
- environments/env2.json
558
- nodes/
559
- nodes/node1.json
560
- nodes/node2.json
561
- roles/
562
- roles/role1.json
563
- roles/role2.json
564
- users/
565
- users/user1.json
566
- users/user2.json
567
- EOM
568
- end
569
- end
570
-
571
- context "when cwd is inside data_bags2" do
572
- before { cwd "data_bags2" }
573
- it "knife list --local -Rfp lists data bags" do
574
- knife("list --local -Rfp").should_succeed <<~EOM
575
- bag/
576
- bag/item.json
577
- bag2/
578
- bag2/item2.json
579
- EOM
580
- end
581
- end
582
- end
583
-
584
- context "when when chef_repo_path is set to both places and no other _path is set" do
585
- before :each do
586
- %w{client cookbook data_bag environment node role user}.each do |object_name|
587
- Chef::Config.delete("#{object_name}_path".to_sym)
588
- end
589
- Chef::Config.chef_repo_path = [
590
- Chef::Config.chef_repo_path,
591
- File.join(Chef::Config.chef_repo_path, "chef_repo2"),
592
- ]
593
- end
594
-
595
- context "when cwd is at the top level" do
596
- before { cwd "." }
597
- it "knife list --local -Rfp lists everything" do
598
- knife("list --local -Rfp").should_succeed <<~EOM
599
- clients/
600
- clients/client1.json
601
- clients/client3.json
602
- cookbooks/
603
- cookbooks/cookbook1/
604
- cookbooks/cookbook1/metadata.rb
605
- cookbooks/cookbook3/
606
- cookbooks/cookbook3/metadata.rb
607
- data_bags/
608
- data_bags/bag/
609
- data_bags/bag/item.json
610
- data_bags/bag3/
611
- data_bags/bag3/item3.json
612
- environments/
613
- environments/env1.json
614
- environments/env3.json
615
- nodes/
616
- nodes/node1.json
617
- nodes/node3.json
618
- roles/
619
- roles/role1.json
620
- roles/role3.json
621
- users/
622
- users/user1.json
623
- users/user3.json
624
- EOM
625
- end
626
- end
627
-
628
- context "when cwd is inside the data_bags directory" do
629
- before { cwd "data_bags" }
630
- it "knife list --local -Rfp lists data bags" do
631
- knife("list --local -Rfp").should_succeed <<~EOM
632
- bag/
633
- bag/item.json
634
- bag3/
635
- bag3/item3.json
636
- EOM
637
- end
638
- end
639
-
640
- context "when cwd is inside chef_repo2" do
641
- before { cwd "chef_repo2" }
642
- it "knife list --local -Rfp lists everything" do
643
- knife("list --local -Rfp").should_succeed <<~EOM
644
- clients/
645
- clients/client1.json
646
- clients/client3.json
647
- cookbooks/
648
- cookbooks/cookbook1/
649
- cookbooks/cookbook1/metadata.rb
650
- cookbooks/cookbook3/
651
- cookbooks/cookbook3/metadata.rb
652
- data_bags/
653
- data_bags/bag/
654
- data_bags/bag/item.json
655
- data_bags/bag3/
656
- data_bags/bag3/item3.json
657
- environments/
658
- environments/env1.json
659
- environments/env3.json
660
- nodes/
661
- nodes/node1.json
662
- nodes/node3.json
663
- roles/
664
- roles/role1.json
665
- roles/role3.json
666
- users/
667
- users/user1.json
668
- users/user3.json
669
- EOM
670
- end
671
- end
672
-
673
- context "when cwd is inside chef_repo2/data_bags" do
674
- before { cwd "chef_repo2/data_bags" }
675
- it "knife list --local -Rfp lists data bags" do
676
- knife("list --local -Rfp").should_succeed <<~EOM
677
- bag/
678
- bag/item.json
679
- bag3/
680
- bag3/item3.json
681
- EOM
682
- end
683
- end
684
- end
685
-
686
- context "when cookbook_path is set and nothing else" do
687
- before :each do
688
- %w{client data_bag environment node role user}.each do |object_name|
689
- Chef::Config.delete("#{object_name}_path".to_sym)
690
- end
691
- Chef::Config.delete(:chef_repo_path)
692
- Chef::Config.cookbook_path = File.join(@repository_dir, "chef_repo2", "cookbooks")
693
- end
694
-
695
- context "when cwd is at the top level" do
696
- before { cwd "." }
697
- it "knife list --local -Rfp fails" do
698
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
699
- end
700
- end
701
-
702
- context "when cwd is inside the data_bags directory" do
703
- before { cwd "data_bags" }
704
- it "knife list --local -Rfp fails" do
705
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
706
- end
707
- end
708
-
709
- context "when cwd is inside chef_repo2" do
710
- before { cwd "chef_repo2" }
711
- it "knife list --local -Rfp lists everything" do
712
- knife("list --local -Rfp").should_succeed <<~EOM
713
- clients/
714
- clients/client3.json
715
- cookbooks/
716
- cookbooks/cookbook3/
717
- cookbooks/cookbook3/metadata.rb
718
- data_bags/
719
- data_bags/bag3/
720
- data_bags/bag3/item3.json
721
- environments/
722
- environments/env3.json
723
- nodes/
724
- nodes/node3.json
725
- roles/
726
- roles/role3.json
727
- users/
728
- users/user3.json
729
- EOM
730
- end
731
- end
732
-
733
- context "when cwd is inside chef_repo2/data_bags" do
734
- before { cwd "chef_repo2/data_bags" }
735
- it "knife list --local -Rfp lists data bags" do
736
- knife("list --local -Rfp").should_succeed <<~EOM
737
- bag3/
738
- bag3/item3.json
739
- EOM
740
- end
741
- end
742
- end
743
-
744
- context "when cookbook_path is set to multiple places and nothing else is set" do
745
- before :each do
746
- %w{client data_bag environment node role user}.each do |object_name|
747
- Chef::Config.delete("#{object_name}_path".to_sym)
748
- end
749
- Chef::Config.delete(:chef_repo_path)
750
- Chef::Config.cookbook_path = [
751
- File.join(@repository_dir, "cookbooks"),
752
- File.join(@repository_dir, "chef_repo2", "cookbooks"),
753
- ]
754
- end
755
-
756
- context "when cwd is at the top level" do
757
- before { cwd "." }
758
- it "knife list --local -Rfp lists everything" do
759
- knife("list --local -Rfp").should_succeed <<~EOM
760
- clients/
761
- clients/client1.json
762
- clients/client3.json
763
- cookbooks/
764
- cookbooks/cookbook1/
765
- cookbooks/cookbook1/metadata.rb
766
- cookbooks/cookbook3/
767
- cookbooks/cookbook3/metadata.rb
768
- data_bags/
769
- data_bags/bag/
770
- data_bags/bag/item.json
771
- data_bags/bag3/
772
- data_bags/bag3/item3.json
773
- environments/
774
- environments/env1.json
775
- environments/env3.json
776
- nodes/
777
- nodes/node1.json
778
- nodes/node3.json
779
- roles/
780
- roles/role1.json
781
- roles/role3.json
782
- users/
783
- users/user1.json
784
- users/user3.json
785
- EOM
786
- end
787
- end
788
-
789
- context "when cwd is inside the data_bags directory" do
790
- before { cwd "data_bags" }
791
- it "knife list --local -Rfp lists data bags" do
792
- knife("list --local -Rfp").should_succeed <<~EOM
793
- bag/
794
- bag/item.json
795
- bag3/
796
- bag3/item3.json
797
- EOM
798
- end
799
- end
800
-
801
- context "when cwd is inside chef_repo2" do
802
- before { cwd "chef_repo2" }
803
- it "knife list --local -Rfp lists everything" do
804
- knife("list --local -Rfp").should_succeed <<~EOM
805
- clients/
806
- clients/client1.json
807
- clients/client3.json
808
- cookbooks/
809
- cookbooks/cookbook1/
810
- cookbooks/cookbook1/metadata.rb
811
- cookbooks/cookbook3/
812
- cookbooks/cookbook3/metadata.rb
813
- data_bags/
814
- data_bags/bag/
815
- data_bags/bag/item.json
816
- data_bags/bag3/
817
- data_bags/bag3/item3.json
818
- environments/
819
- environments/env1.json
820
- environments/env3.json
821
- nodes/
822
- nodes/node1.json
823
- nodes/node3.json
824
- roles/
825
- roles/role1.json
826
- roles/role3.json
827
- users/
828
- users/user1.json
829
- users/user3.json
830
- EOM
831
- end
832
- end
833
-
834
- context "when cwd is inside chef_repo2/data_bags" do
835
- before { cwd "chef_repo2/data_bags" }
836
- it "knife list --local -Rfp lists data bags" do
837
- knife("list --local -Rfp").should_succeed <<~EOM
838
- bag/
839
- bag/item.json
840
- bag3/
841
- bag3/item3.json
842
- EOM
843
- end
844
- end
845
- end
846
-
847
- context "when data_bag_path and chef_repo_path are set, and nothing else" do
848
- before :each do
849
- %w{client cookbook environment node role user}.each do |object_name|
850
- Chef::Config.delete("#{object_name}_path".to_sym)
851
- end
852
- Chef::Config.data_bag_path = File.join(Chef::Config.chef_repo_path, "data_bags")
853
- Chef::Config.chef_repo_path = File.join(Chef::Config.chef_repo_path, "chef_repo2")
854
- end
855
-
856
- context "when cwd is at the top level" do
857
- before { cwd "." }
858
- it "knife list --local -Rfp fails" do
859
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
860
- end
861
- end
862
-
863
- context "when cwd is inside the data_bags directory" do
864
- before { cwd "data_bags" }
865
- it "knife list --local -Rfp lists data bags" do
866
- knife("list --local -Rfp").should_succeed <<~EOM
867
- bag/
868
- bag/item.json
869
- EOM
870
- end
871
- end
872
-
873
- context "when cwd is inside chef_repo2" do
874
- before { cwd "chef_repo2" }
875
- it "knife list --local -Rfp lists everything" do
876
- knife("list --local -Rfp").should_succeed <<~EOM
877
- clients/
878
- clients/client3.json
879
- cookbooks/
880
- cookbooks/cookbook3/
881
- cookbooks/cookbook3/metadata.rb
882
- data_bags/
883
- data_bags/bag/
884
- data_bags/bag/item.json
885
- environments/
886
- environments/env3.json
887
- nodes/
888
- nodes/node3.json
889
- roles/
890
- roles/role3.json
891
- users/
892
- users/user3.json
893
- EOM
894
- end
895
- end
896
-
897
- context "when cwd is inside chef_repo2/data_bags" do
898
- before { cwd "chef_repo2/data_bags" }
899
- it "knife list --local -Rfp fails" do
900
- knife("list --local -Rfp").should_fail(error_rel_path_outside_repo)
901
- end
902
- end
903
- end
904
-
905
- context "when data_bag_path is set and nothing else" do
906
- include_context "default config options"
907
-
908
- before :each do
909
- %w{client cookbook environment node role user}.each do |object_name|
910
- Chef::Config.delete("#{object_name}_path".to_sym)
911
- end
912
- Chef::Config.delete(:chef_repo_path)
913
- Chef::Config.data_bag_path = File.join(@repository_dir, "data_bags")
914
- end
915
-
916
- it "knife list --local -Rfp / lists data bags" do
917
- knife("list --local -Rfp /").should_succeed <<~EOM
918
- /data_bags/
919
- /data_bags/bag/
920
- /data_bags/bag/item.json
921
- EOM
922
- end
923
-
924
- it "knife list --local -Rfp /data_bags lists data bags" do
925
- knife("list --local -Rfp /data_bags").should_succeed <<~EOM
926
- /data_bags/bag/
927
- /data_bags/bag/item.json
928
- EOM
929
- end
930
-
931
- context "when cwd is inside the data_bags directory" do
932
- before { cwd "data_bags" }
933
- it "knife list --local -Rfp lists data bags" do
934
- knife("list --local -Rfp").should_succeed <<~EOM
935
- bag/
936
- bag/item.json
937
- EOM
938
- end
939
- end
940
- end
941
- end
942
-
943
- when_the_repository "is empty" do
944
- context "when the repository _paths point to places that do not exist" do
945
- before :each do
946
- %w{client cookbook data_bag environment node role user}.each do |object_name|
947
- Chef::Config["#{object_name}_path".to_sym] = File.join(Chef::Config.chef_repo_path, "nowhere", object_name)
948
- end
949
- Chef::Config.chef_repo_path = File.join(Chef::Config.chef_repo_path, "nowhere")
950
- end
951
-
952
- it "knife list --local -Rfp / fails" do
953
- knife("list --local -Rfp /").should_succeed ""
954
- end
955
-
956
- it "knife list --local -Rfp /data_bags fails" do
957
- knife("list --local -Rfp /data_bags").should_fail("ERROR: /data_bags: No such file or directory\n")
958
- end
959
- end
960
- end
961
- end
962
- end