chef 16.17.51-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 (647) 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 +8 -9
  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/archive_file_spec.rb +1 -13
  282. data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
  283. data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
  284. data/spec/unit/resource/mount_spec.rb +0 -10
  285. data/spec/unit/resource/powershell_script_spec.rb +2 -2
  286. data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
  287. data/spec/unit/resource/systemd_unit_spec.rb +1 -1
  288. data/spec/unit/resource/user_ulimit_spec.rb +1 -14
  289. data/spec/unit/resource/windows_task_spec.rb +1 -1
  290. data/spec/unit/resource_spec.rb +0 -5
  291. data/spec/unit/user_spec.rb +1 -1
  292. data/spec/unit/user_v1_spec.rb +6 -4
  293. data/tasks/rspec.rb +15 -7
  294. metadata +19 -382
  295. data/bin/knife +0 -24
  296. data/lib/chef/application/knife.rb +0 -234
  297. data/lib/chef/application/windows_service.rb +0 -338
  298. data/lib/chef/application/windows_service_manager.rb +0 -205
  299. data/lib/chef/chef_fs/knife.rb +0 -160
  300. data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
  301. data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
  302. data/lib/chef/chef_fs/parallelizer.rb +0 -102
  303. data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
  304. data/lib/chef/knife/acl_add.rb +0 -57
  305. data/lib/chef/knife/acl_base.rb +0 -183
  306. data/lib/chef/knife/acl_bulk_add.rb +0 -78
  307. data/lib/chef/knife/acl_bulk_remove.rb +0 -83
  308. data/lib/chef/knife/acl_remove.rb +0 -62
  309. data/lib/chef/knife/acl_show.rb +0 -56
  310. data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
  311. data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
  312. data/lib/chef/knife/bootstrap/templates/README.md +0 -11
  313. data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
  314. data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
  315. data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
  316. data/lib/chef/knife/bootstrap.rb +0 -1192
  317. data/lib/chef/knife/client_bulk_delete.rb +0 -104
  318. data/lib/chef/knife/client_create.rb +0 -101
  319. data/lib/chef/knife/client_delete.rb +0 -62
  320. data/lib/chef/knife/client_edit.rb +0 -52
  321. data/lib/chef/knife/client_key_create.rb +0 -73
  322. data/lib/chef/knife/client_key_delete.rb +0 -80
  323. data/lib/chef/knife/client_key_edit.rb +0 -83
  324. data/lib/chef/knife/client_key_list.rb +0 -73
  325. data/lib/chef/knife/client_key_show.rb +0 -80
  326. data/lib/chef/knife/client_list.rb +0 -41
  327. data/lib/chef/knife/client_reregister.rb +0 -58
  328. data/lib/chef/knife/client_show.rb +0 -48
  329. data/lib/chef/knife/config_get.rb +0 -39
  330. data/lib/chef/knife/config_get_profile.rb +0 -37
  331. data/lib/chef/knife/config_list.rb +0 -139
  332. data/lib/chef/knife/config_list_profiles.rb +0 -37
  333. data/lib/chef/knife/config_show.rb +0 -127
  334. data/lib/chef/knife/config_use.rb +0 -61
  335. data/lib/chef/knife/config_use_profile.rb +0 -47
  336. data/lib/chef/knife/configure.rb +0 -150
  337. data/lib/chef/knife/configure_client.rb +0 -48
  338. data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
  339. data/lib/chef/knife/cookbook_delete.rb +0 -151
  340. data/lib/chef/knife/cookbook_download.rb +0 -142
  341. data/lib/chef/knife/cookbook_list.rb +0 -47
  342. data/lib/chef/knife/cookbook_metadata.rb +0 -106
  343. data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
  344. data/lib/chef/knife/cookbook_show.rb +0 -98
  345. data/lib/chef/knife/cookbook_upload.rb +0 -292
  346. data/lib/chef/knife/core/bootstrap_context.rb +0 -264
  347. data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
  348. data/lib/chef/knife/core/formatting_options.rb +0 -49
  349. data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
  350. data/lib/chef/knife/core/generic_presenter.rb +0 -232
  351. data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
  352. data/lib/chef/knife/core/node_editor.rb +0 -130
  353. data/lib/chef/knife/core/node_presenter.rb +0 -133
  354. data/lib/chef/knife/core/object_loader.rb +0 -115
  355. data/lib/chef/knife/core/status_presenter.rb +0 -147
  356. data/lib/chef/knife/core/subcommand_loader.rb +0 -203
  357. data/lib/chef/knife/core/text_formatter.rb +0 -85
  358. data/lib/chef/knife/core/ui.rb +0 -338
  359. data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -405
  360. data/lib/chef/knife/data_bag_create.rb +0 -81
  361. data/lib/chef/knife/data_bag_delete.rb +0 -49
  362. data/lib/chef/knife/data_bag_edit.rb +0 -74
  363. data/lib/chef/knife/data_bag_from_file.rb +0 -113
  364. data/lib/chef/knife/data_bag_list.rb +0 -42
  365. data/lib/chef/knife/data_bag_secret_options.rb +0 -122
  366. data/lib/chef/knife/data_bag_show.rb +0 -69
  367. data/lib/chef/knife/delete.rb +0 -125
  368. data/lib/chef/knife/deps.rb +0 -156
  369. data/lib/chef/knife/diff.rb +0 -83
  370. data/lib/chef/knife/download.rb +0 -84
  371. data/lib/chef/knife/edit.rb +0 -88
  372. data/lib/chef/knife/environment_compare.rb +0 -128
  373. data/lib/chef/knife/environment_create.rb +0 -52
  374. data/lib/chef/knife/environment_delete.rb +0 -44
  375. data/lib/chef/knife/environment_edit.rb +0 -44
  376. data/lib/chef/knife/environment_from_file.rb +0 -84
  377. data/lib/chef/knife/environment_list.rb +0 -41
  378. data/lib/chef/knife/environment_show.rb +0 -47
  379. data/lib/chef/knife/exec.rb +0 -99
  380. data/lib/chef/knife/group_add.rb +0 -55
  381. data/lib/chef/knife/group_create.rb +0 -49
  382. data/lib/chef/knife/group_destroy.rb +0 -53
  383. data/lib/chef/knife/group_list.rb +0 -43
  384. data/lib/chef/knife/group_remove.rb +0 -56
  385. data/lib/chef/knife/group_show.rb +0 -49
  386. data/lib/chef/knife/key_create.rb +0 -112
  387. data/lib/chef/knife/key_create_base.rb +0 -50
  388. data/lib/chef/knife/key_delete.rb +0 -55
  389. data/lib/chef/knife/key_edit.rb +0 -118
  390. data/lib/chef/knife/key_edit_base.rb +0 -55
  391. data/lib/chef/knife/key_list.rb +0 -90
  392. data/lib/chef/knife/key_list_base.rb +0 -45
  393. data/lib/chef/knife/key_show.rb +0 -53
  394. data/lib/chef/knife/list.rb +0 -177
  395. data/lib/chef/knife/node_bulk_delete.rb +0 -75
  396. data/lib/chef/knife/node_create.rb +0 -47
  397. data/lib/chef/knife/node_delete.rb +0 -46
  398. data/lib/chef/knife/node_edit.rb +0 -70
  399. data/lib/chef/knife/node_environment_set.rb +0 -53
  400. data/lib/chef/knife/node_from_file.rb +0 -51
  401. data/lib/chef/knife/node_list.rb +0 -44
  402. data/lib/chef/knife/node_policy_set.rb +0 -79
  403. data/lib/chef/knife/node_run_list_add.rb +0 -104
  404. data/lib/chef/knife/node_run_list_remove.rb +0 -67
  405. data/lib/chef/knife/node_run_list_set.rb +0 -66
  406. data/lib/chef/knife/node_show.rb +0 -63
  407. data/lib/chef/knife/null.rb +0 -12
  408. data/lib/chef/knife/raw.rb +0 -123
  409. data/lib/chef/knife/recipe_list.rb +0 -32
  410. data/lib/chef/knife/rehash.rb +0 -50
  411. data/lib/chef/knife/role_bulk_delete.rb +0 -66
  412. data/lib/chef/knife/role_create.rb +0 -53
  413. data/lib/chef/knife/role_delete.rb +0 -46
  414. data/lib/chef/knife/role_edit.rb +0 -45
  415. data/lib/chef/knife/role_env_run_list_add.rb +0 -87
  416. data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
  417. data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
  418. data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
  419. data/lib/chef/knife/role_env_run_list_set.rb +0 -70
  420. data/lib/chef/knife/role_from_file.rb +0 -51
  421. data/lib/chef/knife/role_list.rb +0 -42
  422. data/lib/chef/knife/role_run_list_add.rb +0 -87
  423. data/lib/chef/knife/role_run_list_clear.rb +0 -55
  424. data/lib/chef/knife/role_run_list_remove.rb +0 -56
  425. data/lib/chef/knife/role_run_list_replace.rb +0 -60
  426. data/lib/chef/knife/role_run_list_set.rb +0 -69
  427. data/lib/chef/knife/role_show.rb +0 -48
  428. data/lib/chef/knife/search.rb +0 -194
  429. data/lib/chef/knife/serve.rb +0 -65
  430. data/lib/chef/knife/show.rb +0 -72
  431. data/lib/chef/knife/ssh.rb +0 -645
  432. data/lib/chef/knife/ssl_check.rb +0 -284
  433. data/lib/chef/knife/ssl_fetch.rb +0 -161
  434. data/lib/chef/knife/status.rb +0 -95
  435. data/lib/chef/knife/supermarket_download.rb +0 -121
  436. data/lib/chef/knife/supermarket_install.rb +0 -192
  437. data/lib/chef/knife/supermarket_list.rb +0 -76
  438. data/lib/chef/knife/supermarket_search.rb +0 -53
  439. data/lib/chef/knife/supermarket_share.rb +0 -166
  440. data/lib/chef/knife/supermarket_show.rb +0 -66
  441. data/lib/chef/knife/supermarket_unshare.rb +0 -61
  442. data/lib/chef/knife/tag_create.rb +0 -52
  443. data/lib/chef/knife/tag_delete.rb +0 -60
  444. data/lib/chef/knife/tag_list.rb +0 -47
  445. data/lib/chef/knife/upload.rb +0 -86
  446. data/lib/chef/knife/user_create.rb +0 -107
  447. data/lib/chef/knife/user_delete.rb +0 -44
  448. data/lib/chef/knife/user_dissociate.rb +0 -42
  449. data/lib/chef/knife/user_edit.rb +0 -52
  450. data/lib/chef/knife/user_invite_add.rb +0 -43
  451. data/lib/chef/knife/user_invite_list.rb +0 -34
  452. data/lib/chef/knife/user_invite_rescind.rb +0 -63
  453. data/lib/chef/knife/user_key_create.rb +0 -73
  454. data/lib/chef/knife/user_key_delete.rb +0 -80
  455. data/lib/chef/knife/user_key_edit.rb +0 -83
  456. data/lib/chef/knife/user_key_list.rb +0 -73
  457. data/lib/chef/knife/user_key_show.rb +0 -80
  458. data/lib/chef/knife/user_list.rb +0 -42
  459. data/lib/chef/knife/user_reregister.rb +0 -59
  460. data/lib/chef/knife/user_show.rb +0 -48
  461. data/lib/chef/knife/xargs.rb +0 -282
  462. data/lib/chef/knife/yaml_convert.rb +0 -91
  463. data/lib/chef/knife.rb +0 -665
  464. data/lib/chef/resource/user/dscl_user.rb +0 -35
  465. data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
  466. data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
  467. data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
  468. data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
  469. data/spec/data/knife_subcommand/test_yourself.rb +0 -21
  470. data/spec/functional/knife/configure_spec.rb +0 -33
  471. data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
  472. data/spec/functional/knife/exec_spec.rb +0 -55
  473. data/spec/functional/knife/rehash_spec.rb +0 -39
  474. data/spec/functional/knife/smoke_test.rb +0 -42
  475. data/spec/functional/knife/ssh_spec.rb +0 -352
  476. data/spec/functional/resource/user/dscl_spec.rb +0 -188
  477. data/spec/functional/resource/windows_service_spec.rb +0 -105
  478. data/spec/functional/win32/service_manager_spec.rb +0 -220
  479. data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
  480. data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
  481. data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
  482. data/spec/integration/knife/chefignore_spec.rb +0 -301
  483. data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
  484. data/spec/integration/knife/client_create_spec.rb +0 -70
  485. data/spec/integration/knife/client_delete_spec.rb +0 -64
  486. data/spec/integration/knife/client_key_create_spec.rb +0 -66
  487. data/spec/integration/knife/client_key_delete_spec.rb +0 -43
  488. data/spec/integration/knife/client_key_list_spec.rb +0 -61
  489. data/spec/integration/knife/client_key_show_spec.rb +0 -45
  490. data/spec/integration/knife/client_list_spec.rb +0 -49
  491. data/spec/integration/knife/client_show_spec.rb +0 -37
  492. data/spec/integration/knife/common_options_spec.rb +0 -174
  493. data/spec/integration/knife/config_list_spec.rb +0 -220
  494. data/spec/integration/knife/config_show_spec.rb +0 -192
  495. data/spec/integration/knife/config_use_spec.rb +0 -198
  496. data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
  497. data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
  498. data/spec/integration/knife/cookbook_download_spec.rb +0 -72
  499. data/spec/integration/knife/cookbook_list_spec.rb +0 -55
  500. data/spec/integration/knife/cookbook_show_spec.rb +0 -149
  501. data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
  502. data/spec/integration/knife/data_bag_create_spec.rb +0 -125
  503. data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
  504. data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
  505. data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
  506. data/spec/integration/knife/data_bag_list_spec.rb +0 -44
  507. data/spec/integration/knife/data_bag_show_spec.rb +0 -95
  508. data/spec/integration/knife/delete_spec.rb +0 -1018
  509. data/spec/integration/knife/deps_spec.rb +0 -703
  510. data/spec/integration/knife/diff_spec.rb +0 -605
  511. data/spec/integration/knife/download_spec.rb +0 -1336
  512. data/spec/integration/knife/environment_compare_spec.rb +0 -75
  513. data/spec/integration/knife/environment_create_spec.rb +0 -41
  514. data/spec/integration/knife/environment_delete_spec.rb +0 -37
  515. data/spec/integration/knife/environment_from_file_spec.rb +0 -116
  516. data/spec/integration/knife/environment_list_spec.rb +0 -42
  517. data/spec/integration/knife/environment_show_spec.rb +0 -77
  518. data/spec/integration/knife/list_spec.rb +0 -1060
  519. data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
  520. data/spec/integration/knife/node_create_spec.rb +0 -47
  521. data/spec/integration/knife/node_delete_spec.rb +0 -48
  522. data/spec/integration/knife/node_environment_set_spec.rb +0 -46
  523. data/spec/integration/knife/node_from_file_spec.rb +0 -59
  524. data/spec/integration/knife/node_list_spec.rb +0 -45
  525. data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
  526. data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
  527. data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
  528. data/spec/integration/knife/node_show_spec.rb +0 -36
  529. data/spec/integration/knife/raw_spec.rb +0 -297
  530. data/spec/integration/knife/redirection_spec.rb +0 -64
  531. data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
  532. data/spec/integration/knife/role_create_spec.rb +0 -41
  533. data/spec/integration/knife/role_delete_spec.rb +0 -48
  534. data/spec/integration/knife/role_from_file_spec.rb +0 -96
  535. data/spec/integration/knife/role_list_spec.rb +0 -45
  536. data/spec/integration/knife/role_show_spec.rb +0 -51
  537. data/spec/integration/knife/search_node_spec.rb +0 -40
  538. data/spec/integration/knife/serve_spec.rb +0 -92
  539. data/spec/integration/knife/show_spec.rb +0 -197
  540. data/spec/integration/knife/upload_spec.rb +0 -1616
  541. data/spec/support/shared/functional/knife.rb +0 -37
  542. data/spec/support/shared/functional/win32_service.rb +0 -57
  543. data/spec/support/shared/integration/knife_support.rb +0 -192
  544. data/spec/support/shared/unit/knife_shared.rb +0 -39
  545. data/spec/unit/application/knife_spec.rb +0 -241
  546. data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
  547. data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
  548. data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
  549. data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
  550. data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
  551. data/spec/unit/knife/bootstrap_spec.rb +0 -2220
  552. data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
  553. data/spec/unit/knife/client_create_spec.rb +0 -169
  554. data/spec/unit/knife/client_delete_spec.rb +0 -99
  555. data/spec/unit/knife/client_edit_spec.rb +0 -53
  556. data/spec/unit/knife/client_list_spec.rb +0 -34
  557. data/spec/unit/knife/client_reregister_spec.rb +0 -62
  558. data/spec/unit/knife/client_show_spec.rb +0 -52
  559. data/spec/unit/knife/configure_client_spec.rb +0 -81
  560. data/spec/unit/knife/configure_spec.rb +0 -190
  561. data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
  562. data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
  563. data/spec/unit/knife/cookbook_download_spec.rb +0 -255
  564. data/spec/unit/knife/cookbook_list_spec.rb +0 -88
  565. data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
  566. data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
  567. data/spec/unit/knife/cookbook_show_spec.rb +0 -253
  568. data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
  569. data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
  570. data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
  571. data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
  572. data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
  573. data/spec/unit/knife/core/node_editor_spec.rb +0 -211
  574. data/spec/unit/knife/core/object_loader_spec.rb +0 -81
  575. data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
  576. data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
  577. data/spec/unit/knife/core/ui_spec.rb +0 -656
  578. data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
  579. data/spec/unit/knife/data_bag_create_spec.rb +0 -175
  580. data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
  581. data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
  582. data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
  583. data/spec/unit/knife/data_bag_show_spec.rb +0 -139
  584. data/spec/unit/knife/environment_compare_spec.rb +0 -112
  585. data/spec/unit/knife/environment_create_spec.rb +0 -91
  586. data/spec/unit/knife/environment_delete_spec.rb +0 -71
  587. data/spec/unit/knife/environment_edit_spec.rb +0 -79
  588. data/spec/unit/knife/environment_from_file_spec.rb +0 -90
  589. data/spec/unit/knife/environment_list_spec.rb +0 -54
  590. data/spec/unit/knife/environment_show_spec.rb +0 -52
  591. data/spec/unit/knife/key_create_spec.rb +0 -223
  592. data/spec/unit/knife/key_delete_spec.rb +0 -133
  593. data/spec/unit/knife/key_edit_spec.rb +0 -264
  594. data/spec/unit/knife/key_helper.rb +0 -74
  595. data/spec/unit/knife/key_list_spec.rb +0 -216
  596. data/spec/unit/knife/key_show_spec.rb +0 -126
  597. data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
  598. data/spec/unit/knife/node_delete_spec.rb +0 -77
  599. data/spec/unit/knife/node_edit_spec.rb +0 -116
  600. data/spec/unit/knife/node_environment_set_spec.rb +0 -61
  601. data/spec/unit/knife/node_from_file_spec.rb +0 -59
  602. data/spec/unit/knife/node_list_spec.rb +0 -62
  603. data/spec/unit/knife/node_policy_set_spec.rb +0 -122
  604. data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
  605. data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
  606. data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
  607. data/spec/unit/knife/node_show_spec.rb +0 -65
  608. data/spec/unit/knife/raw_spec.rb +0 -43
  609. data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
  610. data/spec/unit/knife/role_create_spec.rb +0 -80
  611. data/spec/unit/knife/role_delete_spec.rb +0 -67
  612. data/spec/unit/knife/role_edit_spec.rb +0 -77
  613. data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
  614. data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
  615. data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
  616. data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
  617. data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
  618. data/spec/unit/knife/role_from_file_spec.rb +0 -69
  619. data/spec/unit/knife/role_list_spec.rb +0 -54
  620. data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
  621. data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
  622. data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
  623. data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
  624. data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
  625. data/spec/unit/knife/role_show_spec.rb +0 -59
  626. data/spec/unit/knife/ssh_spec.rb +0 -403
  627. data/spec/unit/knife/ssl_check_spec.rb +0 -256
  628. data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
  629. data/spec/unit/knife/status_spec.rb +0 -112
  630. data/spec/unit/knife/supermarket_download_spec.rb +0 -152
  631. data/spec/unit/knife/supermarket_install_spec.rb +0 -202
  632. data/spec/unit/knife/supermarket_list_spec.rb +0 -70
  633. data/spec/unit/knife/supermarket_search_spec.rb +0 -85
  634. data/spec/unit/knife/supermarket_share_spec.rb +0 -208
  635. data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
  636. data/spec/unit/knife/tag_create_spec.rb +0 -23
  637. data/spec/unit/knife/tag_delete_spec.rb +0 -25
  638. data/spec/unit/knife/tag_list_spec.rb +0 -23
  639. data/spec/unit/knife/user_create_spec.rb +0 -184
  640. data/spec/unit/knife/user_delete_spec.rb +0 -46
  641. data/spec/unit/knife/user_edit_spec.rb +0 -48
  642. data/spec/unit/knife/user_list_spec.rb +0 -36
  643. data/spec/unit/knife/user_reregister_spec.rb +0 -56
  644. data/spec/unit/knife/user_show_spec.rb +0 -46
  645. data/spec/unit/knife_spec.rb +0 -634
  646. data/spec/unit/provider/user/dscl_spec.rb +0 -699
  647. 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