chef 16.13.16-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.
- checksums.yaml +4 -4
- data/Gemfile +9 -10
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -1
- data/chef.gemspec +6 -8
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/applications.rb +0 -1
- data/lib/chef/chef_fs/command_line.rb +5 -2
- data/lib/chef/chef_fs/file_system.rb +9 -10
- data/lib/chef/client.rb +2 -2
- data/lib/chef/compliance/default_attributes.rb +4 -3
- data/lib/chef/compliance/fetcher/automate.rb +0 -7
- data/lib/chef/compliance/reporter/automate.rb +17 -7
- data/lib/chef/compliance/reporter/chef_server_automate.rb +11 -6
- data/lib/chef/compliance/reporter/cli.rb +77 -0
- data/lib/chef/compliance/reporter/compliance_enforcer.rb +4 -0
- data/lib/chef/compliance/reporter/json_file.rb +8 -1
- data/lib/chef/compliance/runner.rb +65 -27
- data/lib/chef/cookbook/synchronizer.rb +3 -5
- data/lib/chef/cookbook_loader.rb +2 -4
- data/lib/chef/cookbook_uploader.rb +0 -1
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +4 -0
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/dsl/reboot_pending.rb +1 -2
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/group.rb +75 -0
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/node/attribute.rb +6 -4
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +11 -7
- data/lib/chef/org.rb +3 -2
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/provider/cron.rb +1 -1
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +1 -1
- data/lib/chef/provider/git.rb +5 -7
- data/lib/chef/provider/group/groupadd.rb +3 -3
- data/lib/chef/provider/group/groupmod.rb +3 -3
- data/lib/chef/provider/group/pw.rb +3 -3
- data/lib/chef/provider/ifconfig.rb +2 -2
- data/lib/chef/provider/link.rb +2 -2
- data/lib/chef/provider/mount.rb +5 -5
- data/lib/chef/provider/mount/aix.rb +3 -3
- data/lib/chef/provider/mount/mount.rb +5 -5
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/package.rb +17 -21
- data/lib/chef/provider/package/apt.rb +27 -1
- data/lib/chef/provider/package/deb.rb +3 -3
- data/lib/chef/provider/package/dnf/dnf_helper.py +1 -1
- data/lib/chef/provider/package/portage.rb +2 -2
- data/lib/chef/provider/package/rubygems.rb +11 -17
- data/lib/chef/provider/package/windows.rb +2 -4
- data/lib/chef/provider/package/yum/yum_helper.py +1 -1
- data/lib/chef/provider/route.rb +2 -2
- data/lib/chef/provider/service.rb +6 -6
- data/lib/chef/provider/service/aixinit.rb +1 -1
- data/lib/chef/provider/service/debian.rb +1 -1
- data/lib/chef/provider/service/freebsd.rb +15 -21
- data/lib/chef/provider/service/macosx.rb +4 -4
- data/lib/chef/provider/service/systemd.rb +43 -14
- data/lib/chef/provider/service/upstart.rb +2 -13
- data/lib/chef/provider/service/windows.rb +12 -12
- data/lib/chef/provider/subversion.rb +10 -12
- data/lib/chef/provider/systemd_unit.rb +36 -10
- data/lib/chef/provider/template/content.rb +2 -6
- data/lib/chef/provider/user.rb +2 -2
- data/lib/chef/provider/user/dscl.rb +1 -1
- data/lib/chef/provider/user/mac.rb +17 -20
- data/lib/chef/provider/user/pw.rb +1 -1
- data/lib/chef/provider/user/windows.rb +1 -1
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/providers.rb +0 -1
- data/lib/chef/resource/alternatives.rb +6 -6
- data/lib/chef/resource/apt_package.rb +1 -1
- data/lib/chef/resource/apt_preference.rb +2 -2
- data/lib/chef/resource/apt_repository.rb +6 -6
- data/lib/chef/resource/apt_update.rb +3 -2
- data/lib/chef/resource/archive_file.rb +2 -3
- data/lib/chef/resource/breakpoint.rb +1 -1
- data/lib/chef/resource/build_essential.rb +2 -6
- data/lib/chef/resource/chef_client_config.rb +2 -2
- data/lib/chef/resource/chef_client_cron.rb +4 -4
- data/lib/chef/resource/chef_client_launchd.rb +3 -3
- data/lib/chef/resource/chef_client_scheduled_task.rb +1 -1
- data/lib/chef/resource/chef_client_systemd_timer.rb +2 -2
- data/lib/chef/resource/chef_handler.rb +3 -7
- data/lib/chef/resource/chef_sleep.rb +1 -1
- data/lib/chef/resource/chef_vault_secret.rb +3 -8
- data/lib/chef/resource/chocolatey_config.rb +2 -6
- data/lib/chef/resource/chocolatey_feature.rb +2 -6
- data/lib/chef/resource/chocolatey_source.rb +4 -10
- data/lib/chef/resource/cron/_cron_shared.rb +2 -2
- data/lib/chef/resource/cron_access.rb +2 -4
- data/lib/chef/resource/dmg_package.rb +6 -10
- data/lib/chef/resource/dpkg_package.rb +1 -1
- data/lib/chef/resource/execute.rb +6 -1
- data/lib/chef/resource/file.rb +1 -1
- data/lib/chef/resource/group.rb +2 -2
- data/lib/chef/resource/homebrew_cask.rb +2 -6
- data/lib/chef/resource/homebrew_tap.rb +2 -6
- data/lib/chef/resource/hostname.rb +21 -17
- data/lib/chef/resource/http_request.rb +1 -1
- data/lib/chef/resource/kernel_module.rb +6 -17
- data/lib/chef/resource/locale.rb +2 -3
- data/lib/chef/resource/lwrp_base.rb +4 -0
- data/lib/chef/resource/macos_userdefaults.rb +10 -14
- data/lib/chef/resource/mdadm.rb +53 -7
- data/lib/chef/resource/mount.rb +2 -1
- data/lib/chef/resource/openssl_ec_private_key.rb +2 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +1 -1
- data/lib/chef/resource/openssl_x509_certificate.rb +2 -2
- data/lib/chef/resource/plist.rb +7 -7
- data/lib/chef/resource/powershell_script.rb +1 -1
- data/lib/chef/resource/remote_file.rb +1 -1
- data/lib/chef/resource/rhsm_errata.rb +16 -1
- data/lib/chef/resource/rhsm_errata_level.rb +10 -1
- data/lib/chef/resource/rhsm_register.rb +12 -6
- data/lib/chef/resource/rhsm_repo.rb +2 -6
- data/lib/chef/resource/rhsm_subscription.rb +2 -6
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/sudo.rb +6 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +2 -2
- data/lib/chef/resource/template.rb +1 -1
- data/lib/chef/resource/timezone.rb +1 -3
- data/lib/chef/resource/user/mac_user.rb +1 -1
- data/lib/chef/resource/user_ulimit.rb +2 -2
- data/lib/chef/resource/windows_ad_join.rb +2 -6
- data/lib/chef/resource/windows_audit_policy.rb +1 -1
- data/lib/chef/resource/windows_auto_run.rb +2 -5
- data/lib/chef/resource/windows_certificate.rb +207 -73
- data/lib/chef/resource/windows_dfs_folder.rb +2 -6
- data/lib/chef/resource/windows_dfs_namespace.rb +2 -6
- data/lib/chef/resource/windows_dfs_server.rb +1 -3
- data/lib/chef/resource/windows_dns_record.rb +2 -6
- data/lib/chef/resource/windows_dns_zone.rb +2 -6
- data/lib/chef/resource/windows_env.rb +5 -4
- data/lib/chef/resource/windows_feature.rb +3 -9
- data/lib/chef/resource/windows_feature_dism.rb +2 -6
- data/lib/chef/resource/windows_feature_powershell.rb +3 -3
- data/lib/chef/resource/windows_firewall_profile.rb +4 -4
- data/lib/chef/resource/windows_firewall_rule.rb +2 -5
- data/lib/chef/resource/windows_font.rb +2 -4
- data/lib/chef/resource/windows_pagefile.rb +2 -6
- data/lib/chef/resource/windows_path.rb +2 -2
- data/lib/chef/resource/windows_printer.rb +4 -4
- data/lib/chef/resource/windows_printer_port.rb +6 -6
- data/lib/chef/resource/windows_security_policy.rb +53 -40
- data/lib/chef/resource/windows_share.rb +14 -21
- data/lib/chef/resource/windows_shortcut.rb +4 -6
- data/lib/chef/resource/windows_task.rb +17 -5
- data/lib/chef/resource/windows_uac.rb +1 -1
- data/lib/chef/resource/windows_user_privilege.rb +4 -4
- data/lib/chef/resource/windows_workgroup.rb +1 -2
- data/lib/chef/resources.rb +0 -1
- data/lib/chef/user.rb +0 -1
- data/lib/chef/user_v1.rb +3 -4
- data/lib/chef/util/dsc/configuration_generator.rb +1 -0
- data/lib/chef/util/dsc/local_configuration_manager.rb +1 -1
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/registry.rb +4 -2
- data/spec/data/cookbooks/openldap/libraries/openldap.rb +1 -1
- data/spec/data/lwrp/resources/bar.rb +2 -0
- data/spec/data/lwrp/resources/buck_passer.rb +1 -0
- data/spec/data/lwrp/resources/buck_passer_2.rb +1 -0
- data/spec/data/lwrp/resources/embedded_resource_accesses_providers_scope.rb +1 -0
- data/spec/data/lwrp/resources/foo.rb +2 -0
- data/spec/data/lwrp/resources/inline_compiler.rb +1 -0
- data/spec/data/lwrp/resources/monkey_name_printer.rb +1 -0
- data/spec/data/lwrp/resources/paint_drying_watcher.rb +1 -0
- data/spec/data/lwrp/resources/thumb_twiddler.rb +1 -0
- data/spec/data/lwrp/resources_with_default_attributes/nodeattr.rb +2 -0
- data/spec/data/lwrp_const_scoping/resources/conflict.rb +1 -0
- data/spec/data/lwrp_override/resources/foo.rb +1 -0
- data/spec/data/rubygems.org/nonexistent_gem-info +1 -0
- data/spec/data/rubygems.org/sexp_processor-info +49 -0
- data/spec/data/run_context/cookbooks/circular-dep1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/circular-dep2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency1/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/dependency2/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/no-default-attr/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test-with-circular-deps/resources/resource.rb +2 -0
- data/spec/data/run_context/cookbooks/test-with-deps/resources/resource.rb +1 -0
- data/spec/data/run_context/cookbooks/test/resources/resource.rb +2 -0
- data/spec/functional/dsl/registry_helper_spec.rb +1 -1
- data/spec/functional/resource/aixinit_service_spec.rb +7 -7
- data/spec/functional/resource/apt_package_spec.rb +1 -1
- data/spec/functional/resource/chocolatey_package_spec.rb +13 -0
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/registry_spec.rb +8 -8
- data/spec/functional/resource/user/mac_user_spec.rb +2 -2
- data/spec/functional/resource/windows_certificate_spec.rb +92 -35
- data/spec/functional/version_spec.rb +1 -1
- data/spec/functional/win32/registry_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +5 -2
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/ohai/ohai_spec.rb +7 -6
- data/spec/integration/recipes/accumulator_spec.rb +13 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +5 -1
- data/spec/integration/recipes/lwrp_spec.rb +3 -1
- data/spec/integration/recipes/notifies_spec.rb +15 -1
- data/spec/integration/recipes/notifying_block_spec.rb +2 -1
- data/spec/integration/recipes/recipe_dsl_spec.rb +9 -9
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +4 -1
- data/spec/spec_helper.rb +10 -13
- data/spec/support/chef_helpers.rb +0 -16
- data/spec/support/lib/chef/resource/with_state.rb +0 -1
- data/spec/support/lib/chef/resource/zen_follower.rb +0 -1
- data/spec/support/lib/chef/resource/zen_master.rb +0 -1
- data/spec/support/matchers/leak.rb +7 -9
- data/spec/support/platform_helpers.rb +1 -8
- data/spec/support/shared/integration/integration_helper.rb +0 -1
- data/spec/support/shared/unit/script_resource.rb +2 -2
- data/spec/unit/application/solo_spec.rb +2 -2
- data/spec/unit/chef_fs/diff_spec.rb +1 -1
- data/spec/unit/chef_fs/file_system_spec.rb +1 -1
- data/spec/unit/compliance/fetcher/automate_spec.rb +0 -16
- data/spec/unit/compliance/reporter/automate_spec.rb +26 -2
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +20 -0
- data/spec/unit/compliance/reporter/compliance_enforcer_spec.rb +1 -0
- data/spec/unit/compliance/runner_spec.rb +30 -4
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/dsl/reboot_pending_spec.rb +2 -2
- data/spec/unit/dsl/registry_helper_spec.rb +1 -1
- data/spec/unit/lwrp_spec.rb +1 -1
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/node/attribute_spec.rb +1 -1
- data/spec/unit/node_spec.rb +78 -0
- data/spec/unit/org_group_spec.rb +45 -0
- data/spec/unit/property_spec.rb +23 -22
- data/spec/unit/provider/cron_spec.rb +1 -1
- data/spec/unit/provider/group/gpasswd_spec.rb +2 -2
- data/spec/unit/provider/group/groupmod_spec.rb +2 -2
- data/spec/unit/provider/group/pw_spec.rb +2 -2
- data/spec/unit/provider/group_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +84 -18
- data/spec/unit/provider/package/deb_spec.rb +3 -3
- data/spec/unit/provider/package/rubygems_spec.rb +21 -33
- data/spec/unit/provider/service/arch_service_spec.rb +1 -0
- data/spec/unit/provider/service/debian_service_spec.rb +1 -0
- data/spec/unit/provider/service/macosx_spec.rb +2 -2
- data/spec/unit/provider/service/systemd_service_spec.rb +138 -23
- data/spec/unit/provider/service/upstart_service_spec.rb +0 -29
- data/spec/unit/provider/service/windows_spec.rb +2 -2
- data/spec/unit/provider/subversion_spec.rb +2 -2
- data/spec/unit/provider/systemd_unit_spec.rb +79 -60
- data/spec/unit/provider/zypper_repository_spec.rb +2 -2
- data/spec/unit/provider_spec.rb +0 -8
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/tasks/rspec.rb +16 -8
- metadata +19 -382
- data/bin/knife +0 -24
- data/lib/chef/application/knife.rb +0 -234
- data/lib/chef/application/windows_service.rb +0 -338
- data/lib/chef/application/windows_service_manager.rb +0 -205
- data/lib/chef/chef_fs/knife.rb +0 -160
- data/lib/chef/chef_fs/parallelizer.rb +0 -102
- data/lib/chef/chef_fs/parallelizer/flatten_enumerable.rb +0 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
- data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
- data/lib/chef/knife.rb +0 -665
- data/lib/chef/knife/acl_add.rb +0 -57
- data/lib/chef/knife/acl_base.rb +0 -183
- data/lib/chef/knife/acl_bulk_add.rb +0 -78
- data/lib/chef/knife/acl_bulk_remove.rb +0 -83
- data/lib/chef/knife/acl_remove.rb +0 -62
- data/lib/chef/knife/acl_show.rb +0 -56
- data/lib/chef/knife/bootstrap.rb +0 -1192
- data/lib/chef/knife/bootstrap/chef_vault_handler.rb +0 -162
- data/lib/chef/knife/bootstrap/client_builder.rb +0 -212
- data/lib/chef/knife/bootstrap/templates/README.md +0 -11
- data/lib/chef/knife/bootstrap/templates/chef-full.erb +0 -242
- data/lib/chef/knife/bootstrap/templates/windows-chef-client-msi.erb +0 -278
- data/lib/chef/knife/bootstrap/train_connector.rb +0 -336
- data/lib/chef/knife/client_bulk_delete.rb +0 -104
- data/lib/chef/knife/client_create.rb +0 -101
- data/lib/chef/knife/client_delete.rb +0 -62
- data/lib/chef/knife/client_edit.rb +0 -52
- data/lib/chef/knife/client_key_create.rb +0 -73
- data/lib/chef/knife/client_key_delete.rb +0 -80
- data/lib/chef/knife/client_key_edit.rb +0 -83
- data/lib/chef/knife/client_key_list.rb +0 -73
- data/lib/chef/knife/client_key_show.rb +0 -80
- data/lib/chef/knife/client_list.rb +0 -41
- data/lib/chef/knife/client_reregister.rb +0 -58
- data/lib/chef/knife/client_show.rb +0 -48
- data/lib/chef/knife/config_get.rb +0 -39
- data/lib/chef/knife/config_get_profile.rb +0 -37
- data/lib/chef/knife/config_list.rb +0 -139
- data/lib/chef/knife/config_list_profiles.rb +0 -37
- data/lib/chef/knife/config_show.rb +0 -127
- data/lib/chef/knife/config_use.rb +0 -61
- data/lib/chef/knife/config_use_profile.rb +0 -47
- data/lib/chef/knife/configure.rb +0 -150
- data/lib/chef/knife/configure_client.rb +0 -48
- data/lib/chef/knife/cookbook_bulk_delete.rb +0 -71
- data/lib/chef/knife/cookbook_delete.rb +0 -151
- data/lib/chef/knife/cookbook_download.rb +0 -142
- data/lib/chef/knife/cookbook_list.rb +0 -47
- data/lib/chef/knife/cookbook_metadata.rb +0 -106
- data/lib/chef/knife/cookbook_metadata_from_file.rb +0 -49
- data/lib/chef/knife/cookbook_show.rb +0 -98
- data/lib/chef/knife/cookbook_upload.rb +0 -292
- data/lib/chef/knife/core/bootstrap_context.rb +0 -264
- data/lib/chef/knife/core/cookbook_scm_repo.rb +0 -159
- data/lib/chef/knife/core/formatting_options.rb +0 -49
- data/lib/chef/knife/core/gem_glob_loader.rb +0 -138
- data/lib/chef/knife/core/generic_presenter.rb +0 -232
- data/lib/chef/knife/core/hashed_command_loader.rb +0 -100
- data/lib/chef/knife/core/node_editor.rb +0 -130
- data/lib/chef/knife/core/node_presenter.rb +0 -133
- data/lib/chef/knife/core/object_loader.rb +0 -115
- data/lib/chef/knife/core/status_presenter.rb +0 -147
- data/lib/chef/knife/core/subcommand_loader.rb +0 -203
- data/lib/chef/knife/core/text_formatter.rb +0 -85
- data/lib/chef/knife/core/ui.rb +0 -338
- data/lib/chef/knife/core/windows_bootstrap_context.rb +0 -406
- data/lib/chef/knife/data_bag_create.rb +0 -81
- data/lib/chef/knife/data_bag_delete.rb +0 -49
- data/lib/chef/knife/data_bag_edit.rb +0 -74
- data/lib/chef/knife/data_bag_from_file.rb +0 -113
- data/lib/chef/knife/data_bag_list.rb +0 -42
- data/lib/chef/knife/data_bag_secret_options.rb +0 -122
- data/lib/chef/knife/data_bag_show.rb +0 -69
- data/lib/chef/knife/delete.rb +0 -125
- data/lib/chef/knife/deps.rb +0 -156
- data/lib/chef/knife/diff.rb +0 -83
- data/lib/chef/knife/download.rb +0 -84
- data/lib/chef/knife/edit.rb +0 -88
- data/lib/chef/knife/environment_compare.rb +0 -128
- data/lib/chef/knife/environment_create.rb +0 -52
- data/lib/chef/knife/environment_delete.rb +0 -44
- data/lib/chef/knife/environment_edit.rb +0 -44
- data/lib/chef/knife/environment_from_file.rb +0 -84
- data/lib/chef/knife/environment_list.rb +0 -41
- data/lib/chef/knife/environment_show.rb +0 -47
- data/lib/chef/knife/exec.rb +0 -99
- data/lib/chef/knife/group_add.rb +0 -55
- data/lib/chef/knife/group_create.rb +0 -49
- data/lib/chef/knife/group_destroy.rb +0 -53
- data/lib/chef/knife/group_list.rb +0 -43
- data/lib/chef/knife/group_remove.rb +0 -56
- data/lib/chef/knife/group_show.rb +0 -49
- data/lib/chef/knife/key_create.rb +0 -112
- data/lib/chef/knife/key_create_base.rb +0 -50
- data/lib/chef/knife/key_delete.rb +0 -55
- data/lib/chef/knife/key_edit.rb +0 -118
- data/lib/chef/knife/key_edit_base.rb +0 -55
- data/lib/chef/knife/key_list.rb +0 -90
- data/lib/chef/knife/key_list_base.rb +0 -45
- data/lib/chef/knife/key_show.rb +0 -53
- data/lib/chef/knife/list.rb +0 -177
- data/lib/chef/knife/node_bulk_delete.rb +0 -75
- data/lib/chef/knife/node_create.rb +0 -47
- data/lib/chef/knife/node_delete.rb +0 -46
- data/lib/chef/knife/node_edit.rb +0 -70
- data/lib/chef/knife/node_environment_set.rb +0 -53
- data/lib/chef/knife/node_from_file.rb +0 -51
- data/lib/chef/knife/node_list.rb +0 -44
- data/lib/chef/knife/node_policy_set.rb +0 -79
- data/lib/chef/knife/node_run_list_add.rb +0 -104
- data/lib/chef/knife/node_run_list_remove.rb +0 -67
- data/lib/chef/knife/node_run_list_set.rb +0 -66
- data/lib/chef/knife/node_show.rb +0 -63
- data/lib/chef/knife/null.rb +0 -12
- data/lib/chef/knife/raw.rb +0 -123
- data/lib/chef/knife/recipe_list.rb +0 -32
- data/lib/chef/knife/rehash.rb +0 -50
- data/lib/chef/knife/role_bulk_delete.rb +0 -66
- data/lib/chef/knife/role_create.rb +0 -53
- data/lib/chef/knife/role_delete.rb +0 -46
- data/lib/chef/knife/role_edit.rb +0 -45
- data/lib/chef/knife/role_env_run_list_add.rb +0 -87
- data/lib/chef/knife/role_env_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_env_run_list_remove.rb +0 -57
- data/lib/chef/knife/role_env_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_env_run_list_set.rb +0 -70
- data/lib/chef/knife/role_from_file.rb +0 -51
- data/lib/chef/knife/role_list.rb +0 -42
- data/lib/chef/knife/role_run_list_add.rb +0 -87
- data/lib/chef/knife/role_run_list_clear.rb +0 -55
- data/lib/chef/knife/role_run_list_remove.rb +0 -56
- data/lib/chef/knife/role_run_list_replace.rb +0 -60
- data/lib/chef/knife/role_run_list_set.rb +0 -69
- data/lib/chef/knife/role_show.rb +0 -48
- data/lib/chef/knife/search.rb +0 -194
- data/lib/chef/knife/serve.rb +0 -65
- data/lib/chef/knife/show.rb +0 -72
- data/lib/chef/knife/ssh.rb +0 -645
- data/lib/chef/knife/ssl_check.rb +0 -284
- data/lib/chef/knife/ssl_fetch.rb +0 -161
- data/lib/chef/knife/status.rb +0 -95
- data/lib/chef/knife/supermarket_download.rb +0 -121
- data/lib/chef/knife/supermarket_install.rb +0 -192
- data/lib/chef/knife/supermarket_list.rb +0 -76
- data/lib/chef/knife/supermarket_search.rb +0 -53
- data/lib/chef/knife/supermarket_share.rb +0 -166
- data/lib/chef/knife/supermarket_show.rb +0 -66
- data/lib/chef/knife/supermarket_unshare.rb +0 -61
- data/lib/chef/knife/tag_create.rb +0 -52
- data/lib/chef/knife/tag_delete.rb +0 -60
- data/lib/chef/knife/tag_list.rb +0 -47
- data/lib/chef/knife/upload.rb +0 -86
- data/lib/chef/knife/user_create.rb +0 -107
- data/lib/chef/knife/user_delete.rb +0 -44
- data/lib/chef/knife/user_dissociate.rb +0 -42
- data/lib/chef/knife/user_edit.rb +0 -52
- data/lib/chef/knife/user_invite_add.rb +0 -43
- data/lib/chef/knife/user_invite_list.rb +0 -34
- data/lib/chef/knife/user_invite_rescind.rb +0 -63
- data/lib/chef/knife/user_key_create.rb +0 -73
- data/lib/chef/knife/user_key_delete.rb +0 -80
- data/lib/chef/knife/user_key_edit.rb +0 -83
- data/lib/chef/knife/user_key_list.rb +0 -73
- data/lib/chef/knife/user_key_show.rb +0 -80
- data/lib/chef/knife/user_list.rb +0 -42
- data/lib/chef/knife/user_reregister.rb +0 -59
- data/lib/chef/knife/user_show.rb +0 -48
- data/lib/chef/knife/xargs.rb +0 -282
- data/lib/chef/knife/yaml_convert.rb +0 -91
- data/lib/chef/resource/user/dscl_user.rb +0 -35
- data/spec/data/knife-home/.chef/plugins/knife/example_home_subcommand.rb +0 -0
- data/spec/data/knife-site-subcommands/plugins/knife/example_subcommand.rb +0 -0
- data/spec/data/knife_subcommand/test_explicit_category.rb +0 -7
- data/spec/data/knife_subcommand/test_name_mapping.rb +0 -4
- data/spec/data/knife_subcommand/test_yourself.rb +0 -21
- data/spec/functional/knife/configure_spec.rb +0 -33
- data/spec/functional/knife/cookbook_delete_spec.rb +0 -156
- data/spec/functional/knife/exec_spec.rb +0 -55
- data/spec/functional/knife/rehash_spec.rb +0 -39
- data/spec/functional/knife/smoke_test.rb +0 -42
- data/spec/functional/knife/ssh_spec.rb +0 -352
- data/spec/functional/resource/user/dscl_spec.rb +0 -188
- data/spec/functional/resource/windows_service_spec.rb +0 -105
- data/spec/functional/win32/service_manager_spec.rb +0 -220
- data/spec/integration/knife/chef_fs_data_store_spec.rb +0 -557
- data/spec/integration/knife/chef_repo_path_spec.rb +0 -962
- data/spec/integration/knife/chef_repository_file_system_spec.rb +0 -200
- data/spec/integration/knife/chefignore_spec.rb +0 -301
- data/spec/integration/knife/client_bulk_delete_spec.rb +0 -131
- data/spec/integration/knife/client_create_spec.rb +0 -70
- data/spec/integration/knife/client_delete_spec.rb +0 -64
- data/spec/integration/knife/client_key_create_spec.rb +0 -66
- data/spec/integration/knife/client_key_delete_spec.rb +0 -43
- data/spec/integration/knife/client_key_list_spec.rb +0 -61
- data/spec/integration/knife/client_key_show_spec.rb +0 -45
- data/spec/integration/knife/client_list_spec.rb +0 -49
- data/spec/integration/knife/client_show_spec.rb +0 -37
- data/spec/integration/knife/common_options_spec.rb +0 -174
- data/spec/integration/knife/config_list_spec.rb +0 -220
- data/spec/integration/knife/config_show_spec.rb +0 -192
- data/spec/integration/knife/config_use_spec.rb +0 -198
- data/spec/integration/knife/cookbook_api_ipv6_spec.rb +0 -113
- data/spec/integration/knife/cookbook_bulk_delete_spec.rb +0 -65
- data/spec/integration/knife/cookbook_download_spec.rb +0 -72
- data/spec/integration/knife/cookbook_list_spec.rb +0 -55
- data/spec/integration/knife/cookbook_show_spec.rb +0 -149
- data/spec/integration/knife/cookbook_upload_spec.rb +0 -128
- data/spec/integration/knife/data_bag_create_spec.rb +0 -125
- data/spec/integration/knife/data_bag_delete_spec.rb +0 -59
- data/spec/integration/knife/data_bag_edit_spec.rb +0 -105
- data/spec/integration/knife/data_bag_from_file_spec.rb +0 -116
- data/spec/integration/knife/data_bag_list_spec.rb +0 -44
- data/spec/integration/knife/data_bag_show_spec.rb +0 -95
- data/spec/integration/knife/delete_spec.rb +0 -1018
- data/spec/integration/knife/deps_spec.rb +0 -703
- data/spec/integration/knife/diff_spec.rb +0 -605
- data/spec/integration/knife/download_spec.rb +0 -1336
- data/spec/integration/knife/environment_compare_spec.rb +0 -75
- data/spec/integration/knife/environment_create_spec.rb +0 -41
- data/spec/integration/knife/environment_delete_spec.rb +0 -37
- data/spec/integration/knife/environment_from_file_spec.rb +0 -116
- data/spec/integration/knife/environment_list_spec.rb +0 -42
- data/spec/integration/knife/environment_show_spec.rb +0 -77
- data/spec/integration/knife/list_spec.rb +0 -1060
- data/spec/integration/knife/node_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/node_create_spec.rb +0 -47
- data/spec/integration/knife/node_delete_spec.rb +0 -48
- data/spec/integration/knife/node_environment_set_spec.rb +0 -46
- data/spec/integration/knife/node_from_file_spec.rb +0 -59
- data/spec/integration/knife/node_list_spec.rb +0 -45
- data/spec/integration/knife/node_run_list_add_spec.rb +0 -54
- data/spec/integration/knife/node_run_list_remove_spec.rb +0 -36
- data/spec/integration/knife/node_run_list_set_spec.rb +0 -41
- data/spec/integration/knife/node_show_spec.rb +0 -36
- data/spec/integration/knife/raw_spec.rb +0 -297
- data/spec/integration/knife/redirection_spec.rb +0 -64
- data/spec/integration/knife/role_bulk_delete_spec.rb +0 -52
- data/spec/integration/knife/role_create_spec.rb +0 -41
- data/spec/integration/knife/role_delete_spec.rb +0 -48
- data/spec/integration/knife/role_from_file_spec.rb +0 -96
- data/spec/integration/knife/role_list_spec.rb +0 -45
- data/spec/integration/knife/role_show_spec.rb +0 -51
- data/spec/integration/knife/search_node_spec.rb +0 -40
- data/spec/integration/knife/serve_spec.rb +0 -92
- data/spec/integration/knife/show_spec.rb +0 -197
- data/spec/integration/knife/upload_spec.rb +0 -1617
- data/spec/support/shared/functional/knife.rb +0 -37
- data/spec/support/shared/functional/win32_service.rb +0 -57
- data/spec/support/shared/integration/knife_support.rb +0 -192
- data/spec/support/shared/unit/knife_shared.rb +0 -39
- data/spec/unit/application/knife_spec.rb +0 -241
- data/spec/unit/chef_fs/parallelizer_spec.rb +0 -479
- data/spec/unit/cookbook_site_streaming_uploader_spec.rb +0 -198
- data/spec/unit/knife/bootstrap/chef_vault_handler_spec.rb +0 -152
- data/spec/unit/knife/bootstrap/client_builder_spec.rb +0 -207
- data/spec/unit/knife/bootstrap/train_connector_spec.rb +0 -244
- data/spec/unit/knife/bootstrap_spec.rb +0 -2220
- data/spec/unit/knife/client_bulk_delete_spec.rb +0 -166
- data/spec/unit/knife/client_create_spec.rb +0 -169
- data/spec/unit/knife/client_delete_spec.rb +0 -99
- data/spec/unit/knife/client_edit_spec.rb +0 -53
- data/spec/unit/knife/client_list_spec.rb +0 -34
- data/spec/unit/knife/client_reregister_spec.rb +0 -62
- data/spec/unit/knife/client_show_spec.rb +0 -52
- data/spec/unit/knife/configure_client_spec.rb +0 -81
- data/spec/unit/knife/configure_spec.rb +0 -190
- data/spec/unit/knife/cookbook_bulk_delete_spec.rb +0 -87
- data/spec/unit/knife/cookbook_delete_spec.rb +0 -239
- data/spec/unit/knife/cookbook_download_spec.rb +0 -255
- data/spec/unit/knife/cookbook_list_spec.rb +0 -88
- data/spec/unit/knife/cookbook_metadata_from_file_spec.rb +0 -72
- data/spec/unit/knife/cookbook_metadata_spec.rb +0 -182
- data/spec/unit/knife/cookbook_show_spec.rb +0 -253
- data/spec/unit/knife/cookbook_upload_spec.rb +0 -364
- data/spec/unit/knife/core/bootstrap_context_spec.rb +0 -287
- data/spec/unit/knife/core/cookbook_scm_repo_spec.rb +0 -187
- data/spec/unit/knife/core/gem_glob_loader_spec.rb +0 -209
- data/spec/unit/knife/core/hashed_command_loader_spec.rb +0 -112
- data/spec/unit/knife/core/node_editor_spec.rb +0 -211
- data/spec/unit/knife/core/object_loader_spec.rb +0 -81
- data/spec/unit/knife/core/status_presenter_spec.rb +0 -54
- data/spec/unit/knife/core/subcommand_loader_spec.rb +0 -64
- data/spec/unit/knife/core/ui_spec.rb +0 -656
- data/spec/unit/knife/core/windows_bootstrap_context_spec.rb +0 -238
- data/spec/unit/knife/data_bag_create_spec.rb +0 -175
- data/spec/unit/knife/data_bag_edit_spec.rb +0 -126
- data/spec/unit/knife/data_bag_from_file_spec.rb +0 -174
- data/spec/unit/knife/data_bag_secret_options_spec.rb +0 -173
- data/spec/unit/knife/data_bag_show_spec.rb +0 -139
- data/spec/unit/knife/environment_compare_spec.rb +0 -112
- data/spec/unit/knife/environment_create_spec.rb +0 -91
- data/spec/unit/knife/environment_delete_spec.rb +0 -71
- data/spec/unit/knife/environment_edit_spec.rb +0 -79
- data/spec/unit/knife/environment_from_file_spec.rb +0 -90
- data/spec/unit/knife/environment_list_spec.rb +0 -54
- data/spec/unit/knife/environment_show_spec.rb +0 -52
- data/spec/unit/knife/key_create_spec.rb +0 -223
- data/spec/unit/knife/key_delete_spec.rb +0 -133
- data/spec/unit/knife/key_edit_spec.rb +0 -264
- data/spec/unit/knife/key_helper.rb +0 -74
- data/spec/unit/knife/key_list_spec.rb +0 -216
- data/spec/unit/knife/key_show_spec.rb +0 -126
- data/spec/unit/knife/node_bulk_delete_spec.rb +0 -94
- data/spec/unit/knife/node_delete_spec.rb +0 -77
- data/spec/unit/knife/node_edit_spec.rb +0 -116
- data/spec/unit/knife/node_environment_set_spec.rb +0 -61
- data/spec/unit/knife/node_from_file_spec.rb +0 -59
- data/spec/unit/knife/node_list_spec.rb +0 -62
- data/spec/unit/knife/node_policy_set_spec.rb +0 -122
- data/spec/unit/knife/node_run_list_add_spec.rb +0 -145
- data/spec/unit/knife/node_run_list_remove_spec.rb +0 -106
- data/spec/unit/knife/node_run_list_set_spec.rb +0 -115
- data/spec/unit/knife/node_show_spec.rb +0 -65
- data/spec/unit/knife/raw_spec.rb +0 -43
- data/spec/unit/knife/role_bulk_delete_spec.rb +0 -80
- data/spec/unit/knife/role_create_spec.rb +0 -80
- data/spec/unit/knife/role_delete_spec.rb +0 -67
- data/spec/unit/knife/role_edit_spec.rb +0 -77
- data/spec/unit/knife/role_env_run_list_add_spec.rb +0 -217
- data/spec/unit/knife/role_env_run_list_clear_spec.rb +0 -94
- data/spec/unit/knife/role_env_run_list_remove_spec.rb +0 -102
- data/spec/unit/knife/role_env_run_list_replace_spec.rb +0 -105
- data/spec/unit/knife/role_env_run_list_set_spec.rb +0 -99
- data/spec/unit/knife/role_from_file_spec.rb +0 -69
- data/spec/unit/knife/role_list_spec.rb +0 -54
- data/spec/unit/knife/role_run_list_add_spec.rb +0 -179
- data/spec/unit/knife/role_run_list_clear_spec.rb +0 -84
- data/spec/unit/knife/role_run_list_remove_spec.rb +0 -92
- data/spec/unit/knife/role_run_list_replace_spec.rb +0 -98
- data/spec/unit/knife/role_run_list_set_spec.rb +0 -89
- data/spec/unit/knife/role_show_spec.rb +0 -59
- data/spec/unit/knife/ssh_spec.rb +0 -403
- data/spec/unit/knife/ssl_check_spec.rb +0 -256
- data/spec/unit/knife/ssl_fetch_spec.rb +0 -222
- data/spec/unit/knife/status_spec.rb +0 -112
- data/spec/unit/knife/supermarket_download_spec.rb +0 -152
- data/spec/unit/knife/supermarket_install_spec.rb +0 -202
- data/spec/unit/knife/supermarket_list_spec.rb +0 -70
- data/spec/unit/knife/supermarket_search_spec.rb +0 -85
- data/spec/unit/knife/supermarket_share_spec.rb +0 -208
- data/spec/unit/knife/supermarket_unshare_spec.rb +0 -78
- data/spec/unit/knife/tag_create_spec.rb +0 -23
- data/spec/unit/knife/tag_delete_spec.rb +0 -25
- data/spec/unit/knife/tag_list_spec.rb +0 -23
- data/spec/unit/knife/user_create_spec.rb +0 -184
- data/spec/unit/knife/user_delete_spec.rb +0 -46
- data/spec/unit/knife/user_edit_spec.rb +0 -48
- data/spec/unit/knife/user_list_spec.rb +0 -36
- data/spec/unit/knife/user_reregister_spec.rb +0 -56
- data/spec/unit/knife/user_show_spec.rb +0 -46
- data/spec/unit/knife_spec.rb +0 -634
- data/spec/unit/provider/user/dscl_spec.rb +0 -699
- data/spec/unit/windows_service_spec.rb +0 -118
@@ -1,95 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Copyright:: Copyright (c) Chef Software Inc.
|
3
|
-
# License:: Apache License, Version 2.0
|
4
|
-
#
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
# you may not use this file except in compliance with the License.
|
7
|
-
# You may obtain a copy of the License at
|
8
|
-
#
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
#
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
# See the License for the specific language governing permissions and
|
15
|
-
# limitations under the License.
|
16
|
-
|
17
|
-
require "spec_helper"
|
18
|
-
require "support/shared/integration/integration_helper"
|
19
|
-
require "support/shared/context/config"
|
20
|
-
require "chef/knife/data_bag_show"
|
21
|
-
|
22
|
-
describe "knife data bag show", :workstation do
|
23
|
-
include IntegrationSupport
|
24
|
-
include KnifeSupport
|
25
|
-
|
26
|
-
include_context "default config options"
|
27
|
-
|
28
|
-
when_the_chef_server "is empty" do
|
29
|
-
it "raises error if try to retrieve it" do
|
30
|
-
expect { knife("data bag show bag") }.to raise_error(Net::HTTPClientException)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
when_the_chef_server "contains data bags" do
|
35
|
-
let(:right_secret) { "abc" }
|
36
|
-
let(:wrong_secret) { "ab" }
|
37
|
-
let(:err) { "Encrypted data bag detected, decrypting with provided secret.\n" }
|
38
|
-
before do
|
39
|
-
data_bag "x", {}
|
40
|
-
data_bag "canteloupe", {}
|
41
|
-
data_bag "rocket", { "falcon9" => { heavy: "true" }, "atlas" => {}, "ariane" => {} }
|
42
|
-
data_bag "encrypt", { "box" => { id: "box", foo: { "encrypted_data": "J8N0pJ+LFDQF3XvhzWgkSBOuZZn8Og==\n", "iv": "4S1sb4zLnMt71SXV\n", "auth_tag": "4ChINhxz4WmqOizvZNoPPg==\n", "version": 3, "cipher": "aes-256-gcm" } } }
|
43
|
-
end
|
44
|
-
|
45
|
-
context "with encrypted data" do
|
46
|
-
context "provided secret key" do
|
47
|
-
it "shows data if secret key is correct" do
|
48
|
-
knife("data bag show encrypt box --secret #{right_secret}").should_succeed stderr: err, stdout: <<~EOM
|
49
|
-
foo: bar
|
50
|
-
id: box
|
51
|
-
EOM
|
52
|
-
end
|
53
|
-
|
54
|
-
it "raises error if secret key is incorrect" do
|
55
|
-
expect { knife("data bag show encrypt box --secret #{wrong_secret}") }.to raise_error(Chef::EncryptedDataBagItem::DecryptionFailure)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
context "not provided secret key" do
|
60
|
-
it "shows encrypted data with a warning" do
|
61
|
-
expect(knife("data bag show encrypt box").stderr).to eq("WARNING: Encrypted data bag detected, but no secret provided for decoding. Displaying encrypted data.\n")
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
context "with unencrypted data" do
|
67
|
-
context "provided secret key" do
|
68
|
-
it "shows unencrypted data with a warning" do
|
69
|
-
expect(knife("data bag show rocket falcon9 --secret #{right_secret}").stderr).to eq("WARNING: Unencrypted data bag detected, ignoring any provided secret options.\n")
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
context "not provided secret key" do
|
74
|
-
it "shows null with an empty data bag" do
|
75
|
-
knife("data bag show canteloupe").should_succeed "\n"
|
76
|
-
end
|
77
|
-
|
78
|
-
it "show list of items in a bag" do
|
79
|
-
knife("data bag show rocket").should_succeed <<~EOM
|
80
|
-
ariane
|
81
|
-
atlas
|
82
|
-
falcon9
|
83
|
-
EOM
|
84
|
-
end
|
85
|
-
|
86
|
-
it "show data of the item" do
|
87
|
-
knife("data bag show rocket falcon9").should_succeed <<~EOM
|
88
|
-
heavy: true
|
89
|
-
id: falcon9
|
90
|
-
EOM
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
@@ -1,1018 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: John Keiser (<jkeiser@chef.io>)
|
3
|
-
# Copyright:: Copyright (c) Chef Software Inc.
|
4
|
-
# License:: Apache License, Version 2.0
|
5
|
-
#
|
6
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
-
# you may not use this file except in compliance with the License.
|
8
|
-
# You may obtain a copy of the License at
|
9
|
-
#
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
12
|
-
# Unless required by applicable law or agreed to in writing, software
|
13
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
# See the License for the specific language governing permissions and
|
16
|
-
# limitations under the License.
|
17
|
-
|
18
|
-
require "spec_helper"
|
19
|
-
require "support/shared/integration/integration_helper"
|
20
|
-
require "chef/knife/delete"
|
21
|
-
require "chef/knife/list"
|
22
|
-
require "chef/knife/raw"
|
23
|
-
|
24
|
-
describe "knife delete", :workstation do
|
25
|
-
include IntegrationSupport
|
26
|
-
include KnifeSupport
|
27
|
-
|
28
|
-
let :everything do
|
29
|
-
<<~EOM
|
30
|
-
/clients
|
31
|
-
/clients/x.json
|
32
|
-
/cookbooks
|
33
|
-
/cookbooks/x
|
34
|
-
/cookbooks/x/metadata.rb
|
35
|
-
/data_bags
|
36
|
-
/data_bags/x
|
37
|
-
/data_bags/x/y.json
|
38
|
-
/environments
|
39
|
-
/environments/_default.json
|
40
|
-
/environments/x.json
|
41
|
-
/nodes
|
42
|
-
/nodes/x.json
|
43
|
-
/roles
|
44
|
-
/roles/x.json
|
45
|
-
/users
|
46
|
-
/users/x.json
|
47
|
-
EOM
|
48
|
-
end
|
49
|
-
|
50
|
-
let :server_everything do
|
51
|
-
<<~EOM
|
52
|
-
/clients
|
53
|
-
/clients/chef-validator.json
|
54
|
-
/clients/chef-webui.json
|
55
|
-
/clients/x.json
|
56
|
-
/cookbooks
|
57
|
-
/cookbooks/x
|
58
|
-
/cookbooks/x/metadata.rb
|
59
|
-
/data_bags
|
60
|
-
/data_bags/x
|
61
|
-
/data_bags/x/y.json
|
62
|
-
/environments
|
63
|
-
/environments/_default.json
|
64
|
-
/environments/x.json
|
65
|
-
/nodes
|
66
|
-
/nodes/x.json
|
67
|
-
/roles
|
68
|
-
/roles/x.json
|
69
|
-
/users
|
70
|
-
/users/admin.json
|
71
|
-
/users/x.json
|
72
|
-
EOM
|
73
|
-
end
|
74
|
-
let :server_nothing do
|
75
|
-
<<~EOM
|
76
|
-
/clients
|
77
|
-
/clients/chef-validator.json
|
78
|
-
/clients/chef-webui.json
|
79
|
-
/cookbooks
|
80
|
-
/data_bags
|
81
|
-
/environments
|
82
|
-
/environments/_default.json
|
83
|
-
/nodes
|
84
|
-
/roles
|
85
|
-
/users
|
86
|
-
/users/admin.json
|
87
|
-
EOM
|
88
|
-
end
|
89
|
-
|
90
|
-
let :nothing do
|
91
|
-
<<~EOM
|
92
|
-
/clients
|
93
|
-
/cookbooks
|
94
|
-
/data_bags
|
95
|
-
/environments
|
96
|
-
/nodes
|
97
|
-
/roles
|
98
|
-
/users
|
99
|
-
EOM
|
100
|
-
end
|
101
|
-
|
102
|
-
when_the_chef_server "has one of each thing" do
|
103
|
-
before do
|
104
|
-
client "x", "{}"
|
105
|
-
cookbook "x", "1.0.0"
|
106
|
-
data_bag "x", { "y" => "{}" }
|
107
|
-
environment "x", "{}"
|
108
|
-
node "x", "{}"
|
109
|
-
role "x", "{}"
|
110
|
-
user "x", "{}"
|
111
|
-
end
|
112
|
-
|
113
|
-
when_the_repository "also has one of each thing" do
|
114
|
-
before do
|
115
|
-
file "clients/x.json", {}
|
116
|
-
file "cookbooks/x/metadata.rb", ""
|
117
|
-
file "data_bags/x/y.json", {}
|
118
|
-
file "environments/_default.json", {}
|
119
|
-
file "environments/x.json", {}
|
120
|
-
file "nodes/x.json", {}
|
121
|
-
file "roles/x.json", {}
|
122
|
-
file "users/x.json", {}
|
123
|
-
end
|
124
|
-
|
125
|
-
it "knife delete --both /cookbooks/x fails" do
|
126
|
-
knife("delete --both /cookbooks/x").should_fail <<~EOM
|
127
|
-
ERROR: /cookbooks/x (remote) must be deleted recursively! Pass -r to knife delete.
|
128
|
-
ERROR: /cookbooks/x (local) must be deleted recursively! Pass -r to knife delete.
|
129
|
-
EOM
|
130
|
-
knife("list -Rf /").should_succeed server_everything
|
131
|
-
knife("list -Rf --local /").should_succeed everything
|
132
|
-
end
|
133
|
-
|
134
|
-
it "knife delete --both -r /cookbooks/x deletes x" do
|
135
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
136
|
-
knife("list -Rf /").should_succeed <<~EOM
|
137
|
-
/clients
|
138
|
-
/clients/chef-validator.json
|
139
|
-
/clients/chef-webui.json
|
140
|
-
/clients/x.json
|
141
|
-
/cookbooks
|
142
|
-
/data_bags
|
143
|
-
/data_bags/x
|
144
|
-
/data_bags/x/y.json
|
145
|
-
/environments
|
146
|
-
/environments/_default.json
|
147
|
-
/environments/x.json
|
148
|
-
/nodes
|
149
|
-
/nodes/x.json
|
150
|
-
/roles
|
151
|
-
/roles/x.json
|
152
|
-
/users
|
153
|
-
/users/admin.json
|
154
|
-
/users/x.json
|
155
|
-
EOM
|
156
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
157
|
-
/clients
|
158
|
-
/clients/x.json
|
159
|
-
/cookbooks
|
160
|
-
/data_bags
|
161
|
-
/data_bags/x
|
162
|
-
/data_bags/x/y.json
|
163
|
-
/environments
|
164
|
-
/environments/_default.json
|
165
|
-
/environments/x.json
|
166
|
-
/nodes
|
167
|
-
/nodes/x.json
|
168
|
-
/roles
|
169
|
-
/roles/x.json
|
170
|
-
/users
|
171
|
-
/users/x.json
|
172
|
-
EOM
|
173
|
-
end
|
174
|
-
|
175
|
-
it "knife delete -r --local /cookbooks/x deletes x locally but not remotely" do
|
176
|
-
knife("delete -r --local /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
177
|
-
knife("list -Rf /").should_succeed server_everything
|
178
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
179
|
-
/clients
|
180
|
-
/clients/x.json
|
181
|
-
/cookbooks
|
182
|
-
/data_bags
|
183
|
-
/data_bags/x
|
184
|
-
/data_bags/x/y.json
|
185
|
-
/environments
|
186
|
-
/environments/_default.json
|
187
|
-
/environments/x.json
|
188
|
-
/nodes
|
189
|
-
/nodes/x.json
|
190
|
-
/roles
|
191
|
-
/roles/x.json
|
192
|
-
/users
|
193
|
-
/users/x.json
|
194
|
-
EOM
|
195
|
-
end
|
196
|
-
|
197
|
-
it "knife delete -r /cookbooks/x deletes x remotely but not locally" do
|
198
|
-
knife("delete -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
199
|
-
knife("list -Rf /").should_succeed <<~EOM
|
200
|
-
/clients
|
201
|
-
/clients/chef-validator.json
|
202
|
-
/clients/chef-webui.json
|
203
|
-
/clients/x.json
|
204
|
-
/cookbooks
|
205
|
-
/data_bags
|
206
|
-
/data_bags/x
|
207
|
-
/data_bags/x/y.json
|
208
|
-
/environments
|
209
|
-
/environments/_default.json
|
210
|
-
/environments/x.json
|
211
|
-
/nodes
|
212
|
-
/nodes/x.json
|
213
|
-
/roles
|
214
|
-
/roles/x.json
|
215
|
-
/users
|
216
|
-
/users/admin.json
|
217
|
-
/users/x.json
|
218
|
-
EOM
|
219
|
-
knife("list -Rf --local /").should_succeed everything
|
220
|
-
end
|
221
|
-
|
222
|
-
# TODO delete empty data bag (particularly different on local side)
|
223
|
-
context "with an empty data bag on both" do
|
224
|
-
before do
|
225
|
-
data_bag "empty", {}
|
226
|
-
directory "data_bags/empty"
|
227
|
-
end
|
228
|
-
|
229
|
-
it "knife delete --both /data_bags/empty fails but deletes local version" do
|
230
|
-
knife("delete --both /data_bags/empty").should_fail <<~EOM
|
231
|
-
ERROR: /data_bags/empty (remote) must be deleted recursively! Pass -r to knife delete.
|
232
|
-
ERROR: /data_bags/empty (local) must be deleted recursively! Pass -r to knife delete.
|
233
|
-
EOM
|
234
|
-
knife("list -Rf /").should_succeed <<~EOM
|
235
|
-
/clients
|
236
|
-
/clients/chef-validator.json
|
237
|
-
/clients/chef-webui.json
|
238
|
-
/clients/x.json
|
239
|
-
/cookbooks
|
240
|
-
/cookbooks/x
|
241
|
-
/cookbooks/x/metadata.rb
|
242
|
-
/data_bags
|
243
|
-
/data_bags/empty
|
244
|
-
/data_bags/x
|
245
|
-
/data_bags/x/y.json
|
246
|
-
/environments
|
247
|
-
/environments/_default.json
|
248
|
-
/environments/x.json
|
249
|
-
/nodes
|
250
|
-
/nodes/x.json
|
251
|
-
/roles
|
252
|
-
/roles/x.json
|
253
|
-
/users
|
254
|
-
/users/admin.json
|
255
|
-
/users/x.json
|
256
|
-
EOM
|
257
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
258
|
-
/clients
|
259
|
-
/clients/x.json
|
260
|
-
/cookbooks
|
261
|
-
/cookbooks/x
|
262
|
-
/cookbooks/x/metadata.rb
|
263
|
-
/data_bags
|
264
|
-
/data_bags/empty
|
265
|
-
/data_bags/x
|
266
|
-
/data_bags/x/y.json
|
267
|
-
/environments
|
268
|
-
/environments/_default.json
|
269
|
-
/environments/x.json
|
270
|
-
/nodes
|
271
|
-
/nodes/x.json
|
272
|
-
/roles
|
273
|
-
/roles/x.json
|
274
|
-
/users
|
275
|
-
/users/x.json
|
276
|
-
EOM
|
277
|
-
end
|
278
|
-
end
|
279
|
-
|
280
|
-
it "knife delete --both /data_bags/x fails" do
|
281
|
-
knife("delete --both /data_bags/x").should_fail <<~EOM
|
282
|
-
ERROR: /data_bags/x (remote) must be deleted recursively! Pass -r to knife delete.
|
283
|
-
ERROR: /data_bags/x (local) must be deleted recursively! Pass -r to knife delete.
|
284
|
-
EOM
|
285
|
-
knife("list -Rf /").should_succeed server_everything
|
286
|
-
knife("list -Rf --local /").should_succeed everything
|
287
|
-
end
|
288
|
-
|
289
|
-
it "knife delete --both -r /data_bags/x deletes x" do
|
290
|
-
knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
|
291
|
-
knife("list -Rf /").should_succeed <<~EOM
|
292
|
-
/clients
|
293
|
-
/clients/chef-validator.json
|
294
|
-
/clients/chef-webui.json
|
295
|
-
/clients/x.json
|
296
|
-
/cookbooks
|
297
|
-
/cookbooks/x
|
298
|
-
/cookbooks/x/metadata.rb
|
299
|
-
/data_bags
|
300
|
-
/environments
|
301
|
-
/environments/_default.json
|
302
|
-
/environments/x.json
|
303
|
-
/nodes
|
304
|
-
/nodes/x.json
|
305
|
-
/roles
|
306
|
-
/roles/x.json
|
307
|
-
/users
|
308
|
-
/users/admin.json
|
309
|
-
/users/x.json
|
310
|
-
EOM
|
311
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
312
|
-
/clients
|
313
|
-
/clients/x.json
|
314
|
-
/cookbooks
|
315
|
-
/cookbooks/x
|
316
|
-
/cookbooks/x/metadata.rb
|
317
|
-
/data_bags
|
318
|
-
/environments
|
319
|
-
/environments/_default.json
|
320
|
-
/environments/x.json
|
321
|
-
/nodes
|
322
|
-
/nodes/x.json
|
323
|
-
/roles
|
324
|
-
/roles/x.json
|
325
|
-
/users
|
326
|
-
/users/x.json
|
327
|
-
EOM
|
328
|
-
end
|
329
|
-
|
330
|
-
it "knife delete --both /environments/x.json deletes x" do
|
331
|
-
knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
|
332
|
-
knife("list -Rf /").should_succeed <<~EOM
|
333
|
-
/clients
|
334
|
-
/clients/chef-validator.json
|
335
|
-
/clients/chef-webui.json
|
336
|
-
/clients/x.json
|
337
|
-
/cookbooks
|
338
|
-
/cookbooks/x
|
339
|
-
/cookbooks/x/metadata.rb
|
340
|
-
/data_bags
|
341
|
-
/data_bags/x
|
342
|
-
/data_bags/x/y.json
|
343
|
-
/environments
|
344
|
-
/environments/_default.json
|
345
|
-
/nodes
|
346
|
-
/nodes/x.json
|
347
|
-
/roles
|
348
|
-
/roles/x.json
|
349
|
-
/users
|
350
|
-
/users/admin.json
|
351
|
-
/users/x.json
|
352
|
-
EOM
|
353
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
354
|
-
/clients
|
355
|
-
/clients/x.json
|
356
|
-
/cookbooks
|
357
|
-
/cookbooks/x
|
358
|
-
/cookbooks/x/metadata.rb
|
359
|
-
/data_bags
|
360
|
-
/data_bags/x
|
361
|
-
/data_bags/x/y.json
|
362
|
-
/environments
|
363
|
-
/environments/_default.json
|
364
|
-
/nodes
|
365
|
-
/nodes/x.json
|
366
|
-
/roles
|
367
|
-
/roles/x.json
|
368
|
-
/users
|
369
|
-
/users/x.json
|
370
|
-
EOM
|
371
|
-
end
|
372
|
-
|
373
|
-
it "knife delete --both /roles/x.json deletes x" do
|
374
|
-
knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
|
375
|
-
knife("list -Rf /").should_succeed <<~EOM
|
376
|
-
/clients
|
377
|
-
/clients/chef-validator.json
|
378
|
-
/clients/chef-webui.json
|
379
|
-
/clients/x.json
|
380
|
-
/cookbooks
|
381
|
-
/cookbooks/x
|
382
|
-
/cookbooks/x/metadata.rb
|
383
|
-
/data_bags
|
384
|
-
/data_bags/x
|
385
|
-
/data_bags/x/y.json
|
386
|
-
/environments
|
387
|
-
/environments/_default.json
|
388
|
-
/environments/x.json
|
389
|
-
/nodes
|
390
|
-
/nodes/x.json
|
391
|
-
/roles
|
392
|
-
/users
|
393
|
-
/users/admin.json
|
394
|
-
/users/x.json
|
395
|
-
EOM
|
396
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
397
|
-
/clients
|
398
|
-
/clients/x.json
|
399
|
-
/cookbooks
|
400
|
-
/cookbooks/x
|
401
|
-
/cookbooks/x/metadata.rb
|
402
|
-
/data_bags
|
403
|
-
/data_bags/x
|
404
|
-
/data_bags/x/y.json
|
405
|
-
/environments
|
406
|
-
/environments/_default.json
|
407
|
-
/environments/x.json
|
408
|
-
/nodes
|
409
|
-
/nodes/x.json
|
410
|
-
/roles
|
411
|
-
/users
|
412
|
-
/users/x.json
|
413
|
-
EOM
|
414
|
-
end
|
415
|
-
|
416
|
-
it "knife delete --both /environments/_default.json fails but still deletes the local copy" do
|
417
|
-
knife("delete --both /environments/_default.json").should_fail stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n", stdout: "Deleted /environments/_default.json\n"
|
418
|
-
knife("list -Rf /").should_succeed server_everything
|
419
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
420
|
-
/clients
|
421
|
-
/clients/x.json
|
422
|
-
/cookbooks
|
423
|
-
/cookbooks/x
|
424
|
-
/cookbooks/x/metadata.rb
|
425
|
-
/data_bags
|
426
|
-
/data_bags/x
|
427
|
-
/data_bags/x/y.json
|
428
|
-
/environments
|
429
|
-
/environments/x.json
|
430
|
-
/nodes
|
431
|
-
/nodes/x.json
|
432
|
-
/roles
|
433
|
-
/roles/x.json
|
434
|
-
/users
|
435
|
-
/users/x.json
|
436
|
-
EOM
|
437
|
-
end
|
438
|
-
|
439
|
-
it "knife delete --both /environments/nonexistent.json fails" do
|
440
|
-
knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
|
441
|
-
knife("list -Rf /").should_succeed server_everything
|
442
|
-
knife("list -Rf --local /").should_succeed everything
|
443
|
-
end
|
444
|
-
|
445
|
-
it "knife delete --both / fails" do
|
446
|
-
knife("delete --both /").should_fail <<~EOM
|
447
|
-
ERROR: / (remote) cannot be deleted.
|
448
|
-
ERROR: / (local) cannot be deleted.
|
449
|
-
EOM
|
450
|
-
knife("list -Rf /").should_succeed server_everything
|
451
|
-
knife("list -Rf --local /").should_succeed everything
|
452
|
-
end
|
453
|
-
|
454
|
-
it "knife delete --both -r /* fails" do
|
455
|
-
knife("delete --both -r /*").should_fail <<~EOM
|
456
|
-
ERROR: / (remote) cannot be deleted.
|
457
|
-
ERROR: / (local) cannot be deleted.
|
458
|
-
ERROR: /clients (remote) cannot be deleted.
|
459
|
-
ERROR: /clients (local) cannot be deleted.
|
460
|
-
ERROR: /cookbooks (remote) cannot be deleted.
|
461
|
-
ERROR: /cookbooks (local) cannot be deleted.
|
462
|
-
ERROR: /data_bags (remote) cannot be deleted.
|
463
|
-
ERROR: /data_bags (local) cannot be deleted.
|
464
|
-
ERROR: /environments (remote) cannot be deleted.
|
465
|
-
ERROR: /environments (local) cannot be deleted.
|
466
|
-
ERROR: /nodes (remote) cannot be deleted.
|
467
|
-
ERROR: /nodes (local) cannot be deleted.
|
468
|
-
ERROR: /roles (remote) cannot be deleted.
|
469
|
-
ERROR: /roles (local) cannot be deleted.
|
470
|
-
ERROR: /users (remote) cannot be deleted.
|
471
|
-
ERROR: /users (local) cannot be deleted.
|
472
|
-
EOM
|
473
|
-
knife("list -Rf /").should_succeed server_everything
|
474
|
-
knife("list -Rf --local /").should_succeed everything
|
475
|
-
end
|
476
|
-
end
|
477
|
-
|
478
|
-
when_the_repository "has only top-level directories" do
|
479
|
-
before do
|
480
|
-
directory "clients"
|
481
|
-
directory "cookbooks"
|
482
|
-
directory "data_bags"
|
483
|
-
directory "environments"
|
484
|
-
directory "nodes"
|
485
|
-
directory "roles"
|
486
|
-
directory "users"
|
487
|
-
end
|
488
|
-
|
489
|
-
it "knife delete --both /cookbooks/x fails" do
|
490
|
-
knife("delete --both /cookbooks/x").should_fail "ERROR: /cookbooks/x (remote) must be deleted recursively! Pass -r to knife delete.\n"
|
491
|
-
knife("list -Rf /").should_succeed server_everything
|
492
|
-
knife("list -Rf --local /").should_succeed nothing
|
493
|
-
end
|
494
|
-
|
495
|
-
it "knife delete --both -r /cookbooks/x deletes x" do
|
496
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
497
|
-
knife("list -Rf /").should_succeed <<~EOM
|
498
|
-
/clients
|
499
|
-
/clients/chef-validator.json
|
500
|
-
/clients/chef-webui.json
|
501
|
-
/clients/x.json
|
502
|
-
/cookbooks
|
503
|
-
/data_bags
|
504
|
-
/data_bags/x
|
505
|
-
/data_bags/x/y.json
|
506
|
-
/environments
|
507
|
-
/environments/_default.json
|
508
|
-
/environments/x.json
|
509
|
-
/nodes
|
510
|
-
/nodes/x.json
|
511
|
-
/roles
|
512
|
-
/roles/x.json
|
513
|
-
/users
|
514
|
-
/users/admin.json
|
515
|
-
/users/x.json
|
516
|
-
EOM
|
517
|
-
knife("list -Rf --local /").should_succeed nothing
|
518
|
-
end
|
519
|
-
|
520
|
-
it "knife delete --both /data_bags/x fails" do
|
521
|
-
knife("delete --both /data_bags/x").should_fail "ERROR: /data_bags/x (remote) must be deleted recursively! Pass -r to knife delete.\n"
|
522
|
-
knife("list -Rf /").should_succeed server_everything
|
523
|
-
knife("list -Rf --local /").should_succeed nothing
|
524
|
-
end
|
525
|
-
|
526
|
-
it "knife delete --both -r /data_bags/x deletes x" do
|
527
|
-
knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
|
528
|
-
knife("list -Rf /").should_succeed <<~EOM
|
529
|
-
/clients
|
530
|
-
/clients/chef-validator.json
|
531
|
-
/clients/chef-webui.json
|
532
|
-
/clients/x.json
|
533
|
-
/cookbooks
|
534
|
-
/cookbooks/x
|
535
|
-
/cookbooks/x/metadata.rb
|
536
|
-
/data_bags
|
537
|
-
/environments
|
538
|
-
/environments/_default.json
|
539
|
-
/environments/x.json
|
540
|
-
/nodes
|
541
|
-
/nodes/x.json
|
542
|
-
/roles
|
543
|
-
/roles/x.json
|
544
|
-
/users
|
545
|
-
/users/admin.json
|
546
|
-
/users/x.json
|
547
|
-
EOM
|
548
|
-
knife("list -Rf --local /").should_succeed nothing
|
549
|
-
end
|
550
|
-
|
551
|
-
it "knife delete --both /environments/x.json deletes x" do
|
552
|
-
knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
|
553
|
-
knife("list -Rf /").should_succeed <<~EOM
|
554
|
-
/clients
|
555
|
-
/clients/chef-validator.json
|
556
|
-
/clients/chef-webui.json
|
557
|
-
/clients/x.json
|
558
|
-
/cookbooks
|
559
|
-
/cookbooks/x
|
560
|
-
/cookbooks/x/metadata.rb
|
561
|
-
/data_bags
|
562
|
-
/data_bags/x
|
563
|
-
/data_bags/x/y.json
|
564
|
-
/environments
|
565
|
-
/environments/_default.json
|
566
|
-
/nodes
|
567
|
-
/nodes/x.json
|
568
|
-
/roles
|
569
|
-
/roles/x.json
|
570
|
-
/users
|
571
|
-
/users/admin.json
|
572
|
-
/users/x.json
|
573
|
-
EOM
|
574
|
-
knife("list -Rf --local /").should_succeed nothing
|
575
|
-
end
|
576
|
-
|
577
|
-
it "knife delete --both /roles/x.json deletes x" do
|
578
|
-
knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
|
579
|
-
knife("list -Rf /").should_succeed <<~EOM
|
580
|
-
/clients
|
581
|
-
/clients/chef-validator.json
|
582
|
-
/clients/chef-webui.json
|
583
|
-
/clients/x.json
|
584
|
-
/cookbooks
|
585
|
-
/cookbooks/x
|
586
|
-
/cookbooks/x/metadata.rb
|
587
|
-
/data_bags
|
588
|
-
/data_bags/x
|
589
|
-
/data_bags/x/y.json
|
590
|
-
/environments
|
591
|
-
/environments/_default.json
|
592
|
-
/environments/x.json
|
593
|
-
/nodes
|
594
|
-
/nodes/x.json
|
595
|
-
/roles
|
596
|
-
/users
|
597
|
-
/users/admin.json
|
598
|
-
/users/x.json
|
599
|
-
EOM
|
600
|
-
knife("list -Rf --local /").should_succeed nothing
|
601
|
-
end
|
602
|
-
|
603
|
-
it "knife delete --both /environments/_default.json fails" do
|
604
|
-
knife("delete --both /environments/_default.json").should_fail "", stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n"
|
605
|
-
knife("list -Rf /").should_succeed server_everything
|
606
|
-
knife("list -Rf --local /").should_succeed nothing
|
607
|
-
end
|
608
|
-
|
609
|
-
it "knife delete --both / fails" do
|
610
|
-
knife("delete --both /").should_fail "ERROR: / (remote) cannot be deleted.\nERROR: / (local) cannot be deleted.\n"
|
611
|
-
knife("list -Rf /").should_succeed server_everything
|
612
|
-
knife("list -Rf --local /").should_succeed nothing
|
613
|
-
end
|
614
|
-
|
615
|
-
it "knife delete --both -r /* fails" do
|
616
|
-
knife("delete --both -r /*").should_fail <<~EOM
|
617
|
-
ERROR: / (remote) cannot be deleted.
|
618
|
-
ERROR: / (local) cannot be deleted.
|
619
|
-
ERROR: /clients (remote) cannot be deleted.
|
620
|
-
ERROR: /clients (local) cannot be deleted.
|
621
|
-
ERROR: /cookbooks (remote) cannot be deleted.
|
622
|
-
ERROR: /cookbooks (local) cannot be deleted.
|
623
|
-
ERROR: /data_bags (remote) cannot be deleted.
|
624
|
-
ERROR: /data_bags (local) cannot be deleted.
|
625
|
-
ERROR: /environments (remote) cannot be deleted.
|
626
|
-
ERROR: /environments (local) cannot be deleted.
|
627
|
-
ERROR: /nodes (remote) cannot be deleted.
|
628
|
-
ERROR: /nodes (local) cannot be deleted.
|
629
|
-
ERROR: /roles (remote) cannot be deleted.
|
630
|
-
ERROR: /roles (local) cannot be deleted.
|
631
|
-
ERROR: /users (remote) cannot be deleted.
|
632
|
-
ERROR: /users (local) cannot be deleted.
|
633
|
-
EOM
|
634
|
-
knife("list -Rf /").should_succeed server_everything
|
635
|
-
knife("list -Rf --local /").should_succeed nothing
|
636
|
-
end
|
637
|
-
|
638
|
-
it "knife delete --both /environments/nonexistent.json fails" do
|
639
|
-
knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
|
640
|
-
knife("list -Rf /").should_succeed server_everything
|
641
|
-
knife("list -Rf --local /").should_succeed nothing
|
642
|
-
end
|
643
|
-
|
644
|
-
context "and cwd is at the top level" do
|
645
|
-
before { cwd "." }
|
646
|
-
it "knife delete fails" do
|
647
|
-
knife("delete").should_fail "FATAL: You must specify at least one argument. If you want to delete everything in this directory, run \"knife delete --recurse .\"\n", stdout: /USAGE/
|
648
|
-
knife("list -Rf /").should_succeed <<~EOM
|
649
|
-
clients
|
650
|
-
clients/chef-validator.json
|
651
|
-
clients/chef-webui.json
|
652
|
-
clients/x.json
|
653
|
-
cookbooks
|
654
|
-
cookbooks/x
|
655
|
-
cookbooks/x/metadata.rb
|
656
|
-
data_bags
|
657
|
-
data_bags/x
|
658
|
-
data_bags/x/y.json
|
659
|
-
environments
|
660
|
-
environments/_default.json
|
661
|
-
environments/x.json
|
662
|
-
nodes
|
663
|
-
nodes/x.json
|
664
|
-
roles
|
665
|
-
roles/x.json
|
666
|
-
users
|
667
|
-
users/admin.json
|
668
|
-
users/x.json
|
669
|
-
EOM
|
670
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
671
|
-
clients
|
672
|
-
cookbooks
|
673
|
-
data_bags
|
674
|
-
environments
|
675
|
-
nodes
|
676
|
-
roles
|
677
|
-
users
|
678
|
-
EOM
|
679
|
-
end
|
680
|
-
end
|
681
|
-
end
|
682
|
-
end
|
683
|
-
|
684
|
-
when_the_chef_server "is empty" do
|
685
|
-
when_the_repository "has one of each thing" do
|
686
|
-
before do
|
687
|
-
file "clients/x.json", {}
|
688
|
-
file "cookbooks/x/metadata.rb", ""
|
689
|
-
file "data_bags/x/y.json", {}
|
690
|
-
file "environments/_default.json", {}
|
691
|
-
file "environments/x.json", {}
|
692
|
-
file "nodes/x.json", {}
|
693
|
-
file "roles/x.json", {}
|
694
|
-
file "users/x.json", {}
|
695
|
-
end
|
696
|
-
|
697
|
-
it "knife delete --both /cookbooks/x fails" do
|
698
|
-
knife("delete --both /cookbooks/x").should_fail "ERROR: /cookbooks/x (local) must be deleted recursively! Pass -r to knife delete.\n"
|
699
|
-
knife("list -Rf /").should_succeed server_nothing
|
700
|
-
knife("list -Rf --local /").should_succeed everything
|
701
|
-
end
|
702
|
-
|
703
|
-
it "knife delete --both -r /cookbooks/x deletes x" do
|
704
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
705
|
-
knife("list -Rf /").should_succeed server_nothing
|
706
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
707
|
-
/clients
|
708
|
-
/clients/x.json
|
709
|
-
/cookbooks
|
710
|
-
/data_bags
|
711
|
-
/data_bags/x
|
712
|
-
/data_bags/x/y.json
|
713
|
-
/environments
|
714
|
-
/environments/_default.json
|
715
|
-
/environments/x.json
|
716
|
-
/nodes
|
717
|
-
/nodes/x.json
|
718
|
-
/roles
|
719
|
-
/roles/x.json
|
720
|
-
/users
|
721
|
-
/users/x.json
|
722
|
-
EOM
|
723
|
-
end
|
724
|
-
|
725
|
-
it "knife delete --both /data_bags/x fails" do
|
726
|
-
knife("delete --both /data_bags/x").should_fail "ERROR: /data_bags/x (local) must be deleted recursively! Pass -r to knife delete.\n"
|
727
|
-
knife("list -Rf /").should_succeed server_nothing
|
728
|
-
knife("list -Rf --local /").should_succeed everything
|
729
|
-
end
|
730
|
-
|
731
|
-
it "knife delete --both -r /data_bags/x deletes x" do
|
732
|
-
knife("delete --both -r /data_bags/x").should_succeed "Deleted /data_bags/x\n"
|
733
|
-
knife("list -Rf /").should_succeed server_nothing
|
734
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
735
|
-
/clients
|
736
|
-
/clients/x.json
|
737
|
-
/cookbooks
|
738
|
-
/cookbooks/x
|
739
|
-
/cookbooks/x/metadata.rb
|
740
|
-
/data_bags
|
741
|
-
/environments
|
742
|
-
/environments/_default.json
|
743
|
-
/environments/x.json
|
744
|
-
/nodes
|
745
|
-
/nodes/x.json
|
746
|
-
/roles
|
747
|
-
/roles/x.json
|
748
|
-
/users
|
749
|
-
/users/x.json
|
750
|
-
EOM
|
751
|
-
end
|
752
|
-
|
753
|
-
it "knife delete --both /environments/x.json deletes x" do
|
754
|
-
knife("delete --both /environments/x.json").should_succeed "Deleted /environments/x.json\n"
|
755
|
-
knife("list -Rf /").should_succeed server_nothing
|
756
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
757
|
-
/clients
|
758
|
-
/clients/x.json
|
759
|
-
/cookbooks
|
760
|
-
/cookbooks/x
|
761
|
-
/cookbooks/x/metadata.rb
|
762
|
-
/data_bags
|
763
|
-
/data_bags/x
|
764
|
-
/data_bags/x/y.json
|
765
|
-
/environments
|
766
|
-
/environments/_default.json
|
767
|
-
/nodes
|
768
|
-
/nodes/x.json
|
769
|
-
/roles
|
770
|
-
/roles/x.json
|
771
|
-
/users
|
772
|
-
/users/x.json
|
773
|
-
EOM
|
774
|
-
end
|
775
|
-
|
776
|
-
it "knife delete --both /roles/x.json deletes x" do
|
777
|
-
knife("delete --both /roles/x.json").should_succeed "Deleted /roles/x.json\n"
|
778
|
-
knife("list -Rf /").should_succeed server_nothing
|
779
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
780
|
-
/clients
|
781
|
-
/clients/x.json
|
782
|
-
/cookbooks
|
783
|
-
/cookbooks/x
|
784
|
-
/cookbooks/x/metadata.rb
|
785
|
-
/data_bags
|
786
|
-
/data_bags/x
|
787
|
-
/data_bags/x/y.json
|
788
|
-
/environments
|
789
|
-
/environments/_default.json
|
790
|
-
/environments/x.json
|
791
|
-
/nodes
|
792
|
-
/nodes/x.json
|
793
|
-
/roles
|
794
|
-
/users
|
795
|
-
/users/x.json
|
796
|
-
EOM
|
797
|
-
end
|
798
|
-
|
799
|
-
it "knife delete --both /environments/_default.json fails but still deletes the local copy" do
|
800
|
-
knife("delete --both /environments/_default.json").should_fail stderr: "ERROR: /environments/_default.json (remote) cannot be deleted (default environment cannot be modified).\n", stdout: "Deleted /environments/_default.json\n"
|
801
|
-
knife("list -Rf /").should_succeed server_nothing
|
802
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
803
|
-
/clients
|
804
|
-
/clients/x.json
|
805
|
-
/cookbooks
|
806
|
-
/cookbooks/x
|
807
|
-
/cookbooks/x/metadata.rb
|
808
|
-
/data_bags
|
809
|
-
/data_bags/x
|
810
|
-
/data_bags/x/y.json
|
811
|
-
/environments
|
812
|
-
/environments/x.json
|
813
|
-
/nodes
|
814
|
-
/nodes/x.json
|
815
|
-
/roles
|
816
|
-
/roles/x.json
|
817
|
-
/users
|
818
|
-
/users/x.json
|
819
|
-
EOM
|
820
|
-
end
|
821
|
-
|
822
|
-
it "knife delete --both / fails" do
|
823
|
-
knife("delete --both /").should_fail "ERROR: / (remote) cannot be deleted.\nERROR: / (local) cannot be deleted.\n"
|
824
|
-
knife("list -Rf /").should_succeed server_nothing
|
825
|
-
knife("list -Rf --local /").should_succeed everything
|
826
|
-
end
|
827
|
-
|
828
|
-
it "knife delete --both -r /* fails" do
|
829
|
-
knife("delete --both -r /*").should_fail <<~EOM
|
830
|
-
ERROR: / (remote) cannot be deleted.
|
831
|
-
ERROR: / (local) cannot be deleted.
|
832
|
-
ERROR: /clients (remote) cannot be deleted.
|
833
|
-
ERROR: /clients (local) cannot be deleted.
|
834
|
-
ERROR: /cookbooks (remote) cannot be deleted.
|
835
|
-
ERROR: /cookbooks (local) cannot be deleted.
|
836
|
-
ERROR: /data_bags (remote) cannot be deleted.
|
837
|
-
ERROR: /data_bags (local) cannot be deleted.
|
838
|
-
ERROR: /environments (remote) cannot be deleted.
|
839
|
-
ERROR: /environments (local) cannot be deleted.
|
840
|
-
ERROR: /nodes (remote) cannot be deleted.
|
841
|
-
ERROR: /nodes (local) cannot be deleted.
|
842
|
-
ERROR: /roles (remote) cannot be deleted.
|
843
|
-
ERROR: /roles (local) cannot be deleted.
|
844
|
-
ERROR: /users (remote) cannot be deleted.
|
845
|
-
ERROR: /users (local) cannot be deleted.
|
846
|
-
EOM
|
847
|
-
knife("list -Rf /").should_succeed server_nothing
|
848
|
-
knife("list -Rf --local /").should_succeed everything
|
849
|
-
end
|
850
|
-
|
851
|
-
it "knife delete --both /environments/nonexistent.json fails" do
|
852
|
-
knife("delete --both /environments/nonexistent.json").should_fail "ERROR: /environments/nonexistent.json: No such file or directory\n"
|
853
|
-
knife("list -Rf /").should_succeed server_nothing
|
854
|
-
knife("list -Rf --local /").should_succeed everything
|
855
|
-
end
|
856
|
-
|
857
|
-
context "and cwd is at the top level" do
|
858
|
-
before { cwd "." }
|
859
|
-
it "knife delete fails" do
|
860
|
-
knife("delete").should_fail "FATAL: You must specify at least one argument. If you want to delete everything in this directory, run \"knife delete --recurse .\"\n", stdout: /USAGE/
|
861
|
-
knife("list -Rf /").should_succeed <<~EOM
|
862
|
-
clients
|
863
|
-
clients/chef-validator.json
|
864
|
-
clients/chef-webui.json
|
865
|
-
cookbooks
|
866
|
-
data_bags
|
867
|
-
environments
|
868
|
-
environments/_default.json
|
869
|
-
nodes
|
870
|
-
roles
|
871
|
-
users
|
872
|
-
users/admin.json
|
873
|
-
EOM
|
874
|
-
knife("list -Rf --local /").should_succeed <<~EOM
|
875
|
-
clients
|
876
|
-
clients/x.json
|
877
|
-
cookbooks
|
878
|
-
cookbooks/x
|
879
|
-
cookbooks/x/metadata.rb
|
880
|
-
data_bags
|
881
|
-
data_bags/x
|
882
|
-
data_bags/x/y.json
|
883
|
-
environments
|
884
|
-
environments/_default.json
|
885
|
-
environments/x.json
|
886
|
-
nodes
|
887
|
-
nodes/x.json
|
888
|
-
roles
|
889
|
-
roles/x.json
|
890
|
-
users
|
891
|
-
users/x.json
|
892
|
-
EOM
|
893
|
-
end
|
894
|
-
end
|
895
|
-
end
|
896
|
-
end
|
897
|
-
|
898
|
-
when_the_repository "has a cookbook" do
|
899
|
-
before do
|
900
|
-
file "cookbooks/x/metadata.rb", 'version "1.0.0"'
|
901
|
-
file "cookbooks/x/onlyin1.0.0.rb", "old_text"
|
902
|
-
end
|
903
|
-
|
904
|
-
when_the_chef_server "has a later version for the cookbook" do
|
905
|
-
before do
|
906
|
-
cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
|
907
|
-
cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" }
|
908
|
-
end
|
909
|
-
|
910
|
-
# TODO this seems wrong
|
911
|
-
it "knife delete --both -r /cookbooks/x deletes the latest version on the server and the local version" do
|
912
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
913
|
-
knife("raw /cookbooks/x").should_succeed(/1.0.0/)
|
914
|
-
knife("list --local /cookbooks").should_succeed ""
|
915
|
-
end
|
916
|
-
end
|
917
|
-
|
918
|
-
when_the_chef_server "has an earlier version for the cookbook" do
|
919
|
-
before do
|
920
|
-
cookbook "x", "1.0.0", { "onlyin1.0.0.rb" => "" }
|
921
|
-
cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" }
|
922
|
-
end
|
923
|
-
|
924
|
-
it "knife delete --both /cookbooks/x deletes the latest version on the server and the local version" do
|
925
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
926
|
-
knife("raw /cookbooks/x").should_succeed(/0.9.9/)
|
927
|
-
knife("list --local /cookbooks").should_succeed ""
|
928
|
-
end
|
929
|
-
end
|
930
|
-
|
931
|
-
when_the_chef_server "has a later version for the cookbook, and no current version" do
|
932
|
-
before { cookbook "x", "1.0.1", { "onlyin1.0.1.rb" => "hi" } }
|
933
|
-
|
934
|
-
it "knife delete --both /cookbooks/x deletes the server and client version of the cookbook" do
|
935
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
936
|
-
knife("raw /cookbooks/x").should_fail(/404/)
|
937
|
-
knife("list --local /cookbooks").should_succeed ""
|
938
|
-
end
|
939
|
-
end
|
940
|
-
|
941
|
-
when_the_chef_server "has an earlier version for the cookbook, and no current version" do
|
942
|
-
before { cookbook "x", "0.9.9", { "onlyin0.9.9.rb" => "hi" } }
|
943
|
-
|
944
|
-
it "knife delete --both /cookbooks/x deletes the server and client version of the cookbook" do
|
945
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
946
|
-
knife("raw /cookbooks/x").should_fail(/404/)
|
947
|
-
knife("list --local /cookbooks").should_succeed ""
|
948
|
-
end
|
949
|
-
end
|
950
|
-
end
|
951
|
-
|
952
|
-
when_the_repository "is empty" do
|
953
|
-
when_the_chef_server "has two versions of a cookbook" do
|
954
|
-
before do
|
955
|
-
cookbook "x", "2.0.11"
|
956
|
-
cookbook "x", "11.0.0"
|
957
|
-
end
|
958
|
-
|
959
|
-
it "knife delete deletes the latest version" do
|
960
|
-
knife("delete --both -r /cookbooks/x").should_succeed "Deleted /cookbooks/x\n"
|
961
|
-
knife("raw /cookbooks/x").should_succeed( /2.0.11/ )
|
962
|
-
end
|
963
|
-
end
|
964
|
-
end
|
965
|
-
|
966
|
-
when_the_chef_server "is in Enterprise mode", osc_compat: false, single_org: false do
|
967
|
-
before do
|
968
|
-
organization "foo" do
|
969
|
-
container "x", {}
|
970
|
-
group "x", {}
|
971
|
-
policy "x", "1.2.3", {}
|
972
|
-
policy_group "x", { "policies" => { "x" => { "revision_id" => "1.2.3" } } }
|
973
|
-
end
|
974
|
-
end
|
975
|
-
|
976
|
-
before :each do
|
977
|
-
Chef::Config.chef_server_url = URI.join(Chef::Config.chef_server_url, "/organizations/foo")
|
978
|
-
end
|
979
|
-
|
980
|
-
it "knife delete /acls/containers/environments.json fails with a reasonable error" do
|
981
|
-
knife("delete /acls/containers/environments.json").should_fail "ERROR: /acls/containers/environments.json (remote) ACLs cannot be deleted.\n"
|
982
|
-
end
|
983
|
-
|
984
|
-
it "knife delete /containers/x.json succeeds" do
|
985
|
-
knife("delete /containers/x.json").should_succeed "Deleted /containers/x.json\n"
|
986
|
-
knife("raw /containers/x.json").should_fail(/404/)
|
987
|
-
end
|
988
|
-
|
989
|
-
it "knife delete /groups/x.json succeeds" do
|
990
|
-
knife("delete /groups/x.json").should_succeed "Deleted /groups/x.json\n"
|
991
|
-
knife("raw /groups/x.json").should_fail(/404/)
|
992
|
-
end
|
993
|
-
|
994
|
-
it "knife delete /policies/x-1.2.3.json succeeds" do
|
995
|
-
knife("raw /policies/x/revisions/1.2.3").should_succeed "{\n \"name\": \"x\",\n \"revision_id\": \"1.2.3\",\n \"run_list\": [\n\n ],\n \"cookbook_locks\": {\n\n }\n}\n"
|
996
|
-
knife("delete /policies/x-1.2.3.json").should_succeed "Deleted /policies/x-1.2.3.json\n"
|
997
|
-
knife("raw /policies/x/revisions/1.2.3").should_fail(/404/)
|
998
|
-
end
|
999
|
-
|
1000
|
-
it "knife delete /policy_groups/x.json succeeds" do
|
1001
|
-
knife("raw /policy_groups/x").should_succeed "{\n \"uri\": \"http://127.0.0.1:8900/organizations/foo/policy_groups/x\",\n \"policies\": {\n \"x\": {\n \"revision_id\": \"1.2.3\"\n }\n }\n}\n"
|
1002
|
-
knife("delete /policy_groups/x.json").should_succeed "Deleted /policy_groups/x.json\n"
|
1003
|
-
knife("raw /policy_groups/x").should_fail(/404/)
|
1004
|
-
end
|
1005
|
-
|
1006
|
-
it "knife delete /org.json fails with a reasonable error" do
|
1007
|
-
knife("delete /org.json").should_fail "ERROR: /org.json (remote) cannot be deleted.\n"
|
1008
|
-
end
|
1009
|
-
|
1010
|
-
it "knife delete /invitations.json fails with a reasonable error" do
|
1011
|
-
knife("delete /invitations.json").should_fail "ERROR: /invitations.json (remote) cannot be deleted.\n"
|
1012
|
-
end
|
1013
|
-
|
1014
|
-
it "knife delete /members.json fails with a reasonable error" do
|
1015
|
-
knife("delete /members.json").should_fail "ERROR: /members.json (remote) cannot be deleted.\n"
|
1016
|
-
end
|
1017
|
-
end
|
1018
|
-
end
|