chef 16.18.0-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 -13
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -1
- data/chef.gemspec +6 -8
- data/lib/chef/action_collection.rb +1 -1
- data/lib/chef/application/base.rb +1 -1
- data/lib/chef/application.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 +5 -5
- 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/gem_installer.rb +1 -5
- 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/cookbook_version.rb +4 -26
- data/lib/chef/data_bag_item.rb +11 -2
- data/lib/chef/data_collector/run_end_message.rb +2 -2
- data/lib/chef/delayed_evaluator.rb +4 -0
- data/lib/chef/deprecated.rb +6 -12
- data/lib/chef/dsl/chef_vault.rb +6 -6
- data/lib/chef/dsl/reboot_pending.rb +1 -2
- data/lib/chef/exceptions.rb +0 -3
- data/lib/chef/formatters/error_inspectors/resource_failure_inspector.rb +20 -22
- data/lib/chef/formatters/error_mapper.rb +2 -2
- data/lib/chef/group.rb +75 -0
- data/lib/chef/http.rb +5 -5
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/node/attribute.rb +9 -24
- data/lib/chef/node/immutable_collections.rb +13 -0
- data/lib/chef/node/mixin/deep_merge_cache.rb +14 -10
- data/lib/chef/node.rb +19 -20
- data/lib/chef/org.rb +3 -2
- data/lib/chef/policy_builder/policyfile.rb +0 -5
- data/lib/chef/property.rb +18 -0
- 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/dscl.rb +1 -1
- 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/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/mount.rb +5 -5
- 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/powershell.rb +0 -5
- data/lib/chef/provider/package/rubygems.rb +9 -15
- data/lib/chef/provider/package/windows.rb +2 -4
- data/lib/chef/provider/package/yum/yum_helper.py +1 -1
- data/lib/chef/provider/package.rb +17 -21
- data/lib/chef/provider/route.rb +2 -2
- 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/service.rb +6 -6
- data/lib/chef/provider/subversion.rb +10 -12
- data/lib/chef/provider/systemd_unit.rb +36 -10
- data/lib/chef/provider/template/content.rb +3 -7
- 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/user.rb +2 -2
- data/lib/chef/provider/zypper_repository.rb +2 -2
- data/lib/chef/provider.rb +1 -1
- 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 +8 -9
- 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_client_trusted_certificate.rb +0 -1
- 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 +5 -15
- 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 +3 -2
- 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 +7 -11
- data/lib/chef/resource/scm/git.rb +1 -1
- data/lib/chef/resource/sudo.rb +6 -6
- data/lib/chef/resource/support/client.erb +2 -6
- data/lib/chef/resource/sysctl.rb +2 -6
- data/lib/chef/resource/systemd_unit.rb +3 -3
- 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 -3
- 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 +9 -12
- 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 +2 -4
- data/lib/chef/resource/windows_user_privilege.rb +5 -5
- data/lib/chef/resource/windows_workgroup.rb +1 -2
- data/lib/chef/resource.rb +1 -1
- data/lib/chef/resource_reporter.rb +1 -1
- data/lib/chef/resources.rb +0 -1
- data/lib/chef/shell/ext.rb +3 -3
- 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/api.rb +2 -9
- data/lib/chef/win32/registry.rb +4 -2
- data/lib/chef/win32/version.rb +1 -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/resources/resource.rb +2 -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/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 +9 -0
- data/spec/functional/resource/dnf_package_spec.rb +4 -1
- data/spec/functional/resource/group_spec.rb +1 -5
- data/spec/functional/resource/link_spec.rb +0 -8
- 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/client_spec.rb +4 -4
- 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/cookbook_version_spec.rb +0 -52
- data/spec/unit/data_bag_item_spec.rb +1 -6
- data/spec/unit/data_collector_spec.rb +2 -71
- 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/mixin/powershell_out_spec.rb +2 -2
- 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/policy_builder/policyfile_spec.rb +1 -11
- 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/powershell_spec.rb +12 -74
- data/spec/unit/provider/package/rubygems_spec.rb +18 -30
- 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/archive_file_spec.rb +1 -13
- data/spec/unit/resource/chef_client_trusted_certificate_spec.rb +0 -14
- data/spec/unit/resource/homebrew_cask_spec.rb +11 -29
- data/spec/unit/resource/mount_spec.rb +0 -10
- data/spec/unit/resource/powershell_script_spec.rb +2 -2
- data/spec/unit/resource/rhsm_subscription_spec.rb +3 -50
- data/spec/unit/resource/systemd_unit_spec.rb +1 -1
- data/spec/unit/resource/user_ulimit_spec.rb +1 -14
- data/spec/unit/resource/windows_task_spec.rb +1 -1
- data/spec/unit/resource_spec.rb +2 -7
- data/spec/unit/user_spec.rb +1 -1
- data/spec/unit/user_v1_spec.rb +6 -4
- data/tasks/rspec.rb +15 -7
- 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/flatten_enumerable.rb +0 -35
- data/lib/chef/chef_fs/parallelizer/parallel_enumerable.rb +0 -278
- data/lib/chef/chef_fs/parallelizer.rb +0 -102
- data/lib/chef/cookbook_site_streaming_uploader.rb +0 -244
- 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/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/bootstrap.rb +0 -1192
- 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 -405
- 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/knife.rb +0 -665
- 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 -1616
- 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,133 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Tyler Cloke (<tyler@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
|
-
|
19
|
-
require "spec_helper"
|
20
|
-
require "chef/knife/user_key_delete"
|
21
|
-
require "chef/knife/client_key_delete"
|
22
|
-
require "chef/knife/key_delete"
|
23
|
-
require "chef/key"
|
24
|
-
|
25
|
-
describe "key delete commands that inherit knife" do
|
26
|
-
shared_examples_for "a key delete command" do
|
27
|
-
let(:stderr) { StringIO.new }
|
28
|
-
let(:params) { [] }
|
29
|
-
let(:service_object) { instance_double(Chef::Knife::KeyDelete) }
|
30
|
-
let(:command) do
|
31
|
-
c = described_class.new([])
|
32
|
-
c.ui.config[:disable_editing] = true
|
33
|
-
allow(c.ui).to receive(:stderr).and_return(stderr)
|
34
|
-
allow(c.ui).to receive(:stdout).and_return(stderr)
|
35
|
-
allow(c).to receive(:show_usage)
|
36
|
-
c
|
37
|
-
end
|
38
|
-
|
39
|
-
context "after apply_params! is called with valid args" do
|
40
|
-
let(:params) { %w{charmander charmander-key} }
|
41
|
-
before do
|
42
|
-
command.apply_params!(params)
|
43
|
-
end
|
44
|
-
|
45
|
-
context "when the service object is called" do
|
46
|
-
it "creates a new instance of Chef::Knife::KeyDelete with the correct args" do
|
47
|
-
expect(Chef::Knife::KeyDelete).to receive(:new)
|
48
|
-
.with("charmander-key", "charmander", command.actor_field_name, command.ui)
|
49
|
-
.and_return(service_object)
|
50
|
-
command.service_object
|
51
|
-
end
|
52
|
-
end # when the service object is called
|
53
|
-
end # after apply_params! is called with valid args
|
54
|
-
end # a key delete command
|
55
|
-
|
56
|
-
describe Chef::Knife::UserKeyDelete do
|
57
|
-
it_should_behave_like "a key delete command"
|
58
|
-
# defined in key_helpers.rb
|
59
|
-
it_should_behave_like "a knife key command with a keyname as the second arg"
|
60
|
-
it_should_behave_like "a knife key command" do
|
61
|
-
let(:service_object) { instance_double(Chef::Knife::KeyDelete) }
|
62
|
-
let(:params) { %w{charmander charmander-key} }
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
describe Chef::Knife::ClientKeyDelete do
|
67
|
-
it_should_behave_like "a key delete command"
|
68
|
-
# defined in key_helpers.rb
|
69
|
-
it_should_behave_like "a knife key command with a keyname as the second arg"
|
70
|
-
it_should_behave_like "a knife key command" do
|
71
|
-
let(:service_object) { instance_double(Chef::Knife::KeyDelete) }
|
72
|
-
let(:params) { %w{charmander charmander-key} }
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
describe Chef::Knife::KeyDelete do
|
78
|
-
let(:actor) { "charmander" }
|
79
|
-
let(:keyname) { "charmander-key" }
|
80
|
-
let(:ui) { instance_double("Chef::Knife::UI") }
|
81
|
-
|
82
|
-
shared_examples_for "key delete run command" do
|
83
|
-
let(:key_delete_object) do
|
84
|
-
described_class.new(keyname, actor, actor_field_name, ui)
|
85
|
-
end
|
86
|
-
|
87
|
-
before do
|
88
|
-
allow_any_instance_of(Chef::Key).to receive(:destroy)
|
89
|
-
allow(key_delete_object).to receive(:print_destroyed)
|
90
|
-
allow(key_delete_object).to receive(:confirm!)
|
91
|
-
end
|
92
|
-
|
93
|
-
context "when the command is run" do
|
94
|
-
it "calls Chef::Key.new with the proper input" do
|
95
|
-
expect(Chef::Key).to receive(:new).with(actor, actor_field_name).and_call_original
|
96
|
-
key_delete_object.run
|
97
|
-
end
|
98
|
-
|
99
|
-
it "calls name on the Chef::Key instance with the proper input" do
|
100
|
-
expect_any_instance_of(Chef::Key).to receive(:name).with(keyname)
|
101
|
-
key_delete_object.run
|
102
|
-
end
|
103
|
-
|
104
|
-
it "calls destroy on the Chef::Key instance" do
|
105
|
-
expect_any_instance_of(Chef::Key).to receive(:destroy).once
|
106
|
-
key_delete_object.run
|
107
|
-
end
|
108
|
-
|
109
|
-
it "calls confirm!" do
|
110
|
-
expect(key_delete_object).to receive(:confirm!)
|
111
|
-
key_delete_object.run
|
112
|
-
end
|
113
|
-
|
114
|
-
it "calls print_destroyed" do
|
115
|
-
expect(key_delete_object).to receive(:print_destroyed)
|
116
|
-
key_delete_object.run
|
117
|
-
end
|
118
|
-
end # when the command is run
|
119
|
-
|
120
|
-
end # key delete run command
|
121
|
-
|
122
|
-
context "when actor_field_name is 'user'" do
|
123
|
-
it_should_behave_like "key delete run command" do
|
124
|
-
let(:actor_field_name) { "user" }
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
context "when actor_field_name is 'client'" do
|
129
|
-
it_should_behave_like "key delete run command" do
|
130
|
-
let(:actor_field_name) { "client" }
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
@@ -1,264 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Tyler Cloke (<tyler@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
|
-
|
19
|
-
require "spec_helper"
|
20
|
-
require "chef/knife/user_key_edit"
|
21
|
-
require "chef/knife/client_key_edit"
|
22
|
-
require "chef/knife/key_edit"
|
23
|
-
require "chef/key"
|
24
|
-
|
25
|
-
describe "key edit commands that inherit knife" do
|
26
|
-
shared_examples_for "a key edit command" do
|
27
|
-
let(:stderr) { StringIO.new }
|
28
|
-
let(:params) { [] }
|
29
|
-
let(:service_object) { instance_double(Chef::Knife::KeyEdit) }
|
30
|
-
let(:command) do
|
31
|
-
c = described_class.new([])
|
32
|
-
c.ui.config[:disable_editing] = true
|
33
|
-
allow(c.ui).to receive(:stderr).and_return(stderr)
|
34
|
-
allow(c.ui).to receive(:stdout).and_return(stderr)
|
35
|
-
allow(c).to receive(:show_usage)
|
36
|
-
c
|
37
|
-
end
|
38
|
-
|
39
|
-
context "after apply_params! is called with valid args" do
|
40
|
-
let(:params) { %w{charmander charmander-key} }
|
41
|
-
before do
|
42
|
-
command.apply_params!(params)
|
43
|
-
end
|
44
|
-
|
45
|
-
context "when the service object is called" do
|
46
|
-
it "creates a new instance of Chef::Knife::KeyEdit with the correct args" do
|
47
|
-
expect(Chef::Knife::KeyEdit).to receive(:new)
|
48
|
-
.with("charmander-key", "charmander", command.actor_field_name, command.ui, command.config)
|
49
|
-
.and_return(service_object)
|
50
|
-
command.service_object
|
51
|
-
end
|
52
|
-
end # when the service object is called
|
53
|
-
end # after apply_params! is called with valid args
|
54
|
-
end # a key edit command
|
55
|
-
|
56
|
-
describe Chef::Knife::UserKeyEdit do
|
57
|
-
it_should_behave_like "a key edit command"
|
58
|
-
# defined in key_helpers.rb
|
59
|
-
it_should_behave_like "a knife key command with a keyname as the second arg"
|
60
|
-
it_should_behave_like "a knife key command" do
|
61
|
-
let(:service_object) { instance_double(Chef::Knife::KeyEdit) }
|
62
|
-
let(:params) { %w{charmander charmander-key} }
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
describe Chef::Knife::ClientKeyEdit do
|
67
|
-
it_should_behave_like "a key edit command"
|
68
|
-
# defined in key_helpers.rb
|
69
|
-
it_should_behave_like "a knife key command with a keyname as the second arg"
|
70
|
-
it_should_behave_like "a knife key command" do
|
71
|
-
let(:service_object) { instance_double(Chef::Knife::KeyEdit) }
|
72
|
-
let(:params) { %w{charmander charmander-key} }
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
describe Chef::Knife::KeyEdit do
|
78
|
-
let(:public_key) do
|
79
|
-
"-----BEGIN PUBLIC KEY-----
|
80
|
-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvPo+oNPB7uuNkws0fC02
|
81
|
-
KxSwdyqPLu0fhI1pOweNKAZeEIiEz2PkybathHWy8snSXGNxsITkf3eyvIIKa8OZ
|
82
|
-
WrlqpI3yv/5DOP8HTMCxnFuMJQtDwMcevlqebX4bCxcByuBpNYDcAHjjfLGSfMjn
|
83
|
-
E5lZpgYWwnpic4kSjYcL9ORK9nYvlWV9P/kCYmRhIjB4AhtpWRiOfY/TKi3P2LxT
|
84
|
-
IjSmiN/ihHtlhV/VSnBJ5PzT/lRknlrJ4kACoz7Pq9jv+aAx5ft/xE9yDa2DYs0q
|
85
|
-
Tfuc9dUYsFjptWYrV6pfEQ+bgo1OGBXORBFcFL+2D7u9JYquKrMgosznHoEkQNLo
|
86
|
-
0wIDAQAB
|
87
|
-
-----END PUBLIC KEY-----"
|
88
|
-
end
|
89
|
-
let(:config) { {} }
|
90
|
-
let(:actor) { "charmander" }
|
91
|
-
let(:keyname) { "charmander-key" }
|
92
|
-
let(:ui) { instance_double("Chef::Knife::UI") }
|
93
|
-
|
94
|
-
shared_examples_for "key edit run command" do
|
95
|
-
let(:key_edit_object) do
|
96
|
-
described_class.new(keyname, actor, actor_field_name, ui, config)
|
97
|
-
end
|
98
|
-
|
99
|
-
context "when the command is run" do
|
100
|
-
let(:expected_hash) do
|
101
|
-
{
|
102
|
-
actor_field_name => "charmander",
|
103
|
-
}
|
104
|
-
end
|
105
|
-
let(:new_keyname) { "charizard-key" }
|
106
|
-
|
107
|
-
before do
|
108
|
-
allow(File).to receive(:read).and_return(public_key)
|
109
|
-
allow(File).to receive(:expand_path)
|
110
|
-
|
111
|
-
allow(key_edit_object).to receive(:output_private_key_to_file)
|
112
|
-
allow(key_edit_object).to receive(:display_private_key)
|
113
|
-
allow(key_edit_object).to receive(:edit_hash).and_return(expected_hash)
|
114
|
-
allow(key_edit_object).to receive(:display_info)
|
115
|
-
end
|
116
|
-
|
117
|
-
context "when public_key and create_key are passed" do
|
118
|
-
before do
|
119
|
-
key_edit_object.config[:public_key] = "public_key_path"
|
120
|
-
key_edit_object.config[:create_key] = true
|
121
|
-
end
|
122
|
-
|
123
|
-
it "raises a Chef::Exceptions::KeyCommandInputError with the proper error message" do
|
124
|
-
expect { key_edit_object.run }.to raise_error(Chef::Exceptions::KeyCommandInputError, key_edit_object.public_key_and_create_key_error_msg)
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
128
|
-
context "when key_name is passed" do
|
129
|
-
let(:expected_hash) do
|
130
|
-
{
|
131
|
-
actor_field_name => "charmander",
|
132
|
-
"name" => new_keyname,
|
133
|
-
}
|
134
|
-
end
|
135
|
-
before do
|
136
|
-
key_edit_object.config[:key_name] = new_keyname
|
137
|
-
allow_any_instance_of(Chef::Key).to receive(:update)
|
138
|
-
end
|
139
|
-
|
140
|
-
it "update_key_from_hash gets passed a hash with new key name" do
|
141
|
-
expect(key_edit_object).to receive(:update_key_from_hash).with(expected_hash).and_return(Chef::Key.from_hash(expected_hash))
|
142
|
-
key_edit_object.run
|
143
|
-
end
|
144
|
-
|
145
|
-
it "Chef::Key.update is passed a string containing the original keyname" do
|
146
|
-
expect_any_instance_of(Chef::Key).to receive(:update).with(/#{keyname}/).and_return(Chef::Key.from_hash(expected_hash))
|
147
|
-
key_edit_object.run
|
148
|
-
end
|
149
|
-
|
150
|
-
it "Chef::Key.update is not passed a string containing the new keyname" do
|
151
|
-
expect_any_instance_of(Chef::Key).not_to receive(:update).with(/#{new_keyname}/)
|
152
|
-
allow_any_instance_of(Chef::Key).to receive(:update).and_return(Chef::Key.from_hash(expected_hash))
|
153
|
-
key_edit_object.run
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
context "when public_key, key_name, and expiration_date are passed" do
|
158
|
-
let(:expected_hash) do
|
159
|
-
{
|
160
|
-
actor_field_name => "charmander",
|
161
|
-
"public_key" => public_key,
|
162
|
-
"name" => new_keyname,
|
163
|
-
"expiration_date" => "infinity",
|
164
|
-
}
|
165
|
-
end
|
166
|
-
before do
|
167
|
-
key_edit_object.config[:public_key] = "this-public-key"
|
168
|
-
key_edit_object.config[:key_name] = new_keyname
|
169
|
-
key_edit_object.config[:expiration_date] = "infinity"
|
170
|
-
allow(key_edit_object).to receive(:update_key_from_hash).and_return(Chef::Key.from_hash(expected_hash))
|
171
|
-
end
|
172
|
-
|
173
|
-
it "passes the right hash to update_key_from_hash" do
|
174
|
-
expect(key_edit_object).to receive(:update_key_from_hash).with(expected_hash)
|
175
|
-
key_edit_object.run
|
176
|
-
end
|
177
|
-
end
|
178
|
-
|
179
|
-
context "when create_key is passed" do
|
180
|
-
let(:expected_hash) do
|
181
|
-
{
|
182
|
-
actor_field_name => "charmander",
|
183
|
-
"create_key" => true,
|
184
|
-
}
|
185
|
-
end
|
186
|
-
|
187
|
-
before do
|
188
|
-
key_edit_object.config[:create_key] = true
|
189
|
-
allow(key_edit_object).to receive(:update_key_from_hash).and_return(Chef::Key.from_hash(expected_hash))
|
190
|
-
end
|
191
|
-
|
192
|
-
it "passes the right hash to update_key_from_hash" do
|
193
|
-
expect(key_edit_object).to receive(:update_key_from_hash).with(expected_hash)
|
194
|
-
key_edit_object.run
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
context "when public_key is passed" do
|
199
|
-
let(:expected_hash) do
|
200
|
-
{
|
201
|
-
actor_field_name => "charmander",
|
202
|
-
"public_key" => public_key,
|
203
|
-
}
|
204
|
-
end
|
205
|
-
before do
|
206
|
-
allow(key_edit_object).to receive(:update_key_from_hash).and_return(Chef::Key.from_hash(expected_hash))
|
207
|
-
key_edit_object.config[:public_key] = "public_key_path"
|
208
|
-
end
|
209
|
-
|
210
|
-
it "calls File.expand_path with the public_key input" do
|
211
|
-
expect(File).to receive(:expand_path).with("public_key_path")
|
212
|
-
key_edit_object.run
|
213
|
-
end
|
214
|
-
end # when public_key is passed
|
215
|
-
|
216
|
-
context "when the server returns a private key" do
|
217
|
-
let(:expected_hash) do
|
218
|
-
{
|
219
|
-
actor_field_name => "charmander",
|
220
|
-
"public_key" => public_key,
|
221
|
-
"private_key" => "super_private",
|
222
|
-
}
|
223
|
-
end
|
224
|
-
|
225
|
-
before do
|
226
|
-
allow(key_edit_object).to receive(:update_key_from_hash).and_return(Chef::Key.from_hash(expected_hash))
|
227
|
-
key_edit_object.config[:public_key] = "public_key_path"
|
228
|
-
end
|
229
|
-
|
230
|
-
context "when file is not passed" do
|
231
|
-
it "calls display_private_key with the private_key" do
|
232
|
-
expect(key_edit_object).to receive(:display_private_key).with("super_private")
|
233
|
-
key_edit_object.run
|
234
|
-
end
|
235
|
-
end
|
236
|
-
|
237
|
-
context "when file is passed" do
|
238
|
-
before do
|
239
|
-
key_edit_object.config[:file] = "/fake/file"
|
240
|
-
end
|
241
|
-
|
242
|
-
it "calls output_private_key_to_file with the private_key" do
|
243
|
-
expect(key_edit_object).to receive(:output_private_key_to_file).with("super_private")
|
244
|
-
key_edit_object.run
|
245
|
-
end
|
246
|
-
end
|
247
|
-
end # when the server returns a private key
|
248
|
-
|
249
|
-
end # when the command is run
|
250
|
-
|
251
|
-
end # key edit run command
|
252
|
-
|
253
|
-
context "when actor_field_name is 'user'" do
|
254
|
-
it_should_behave_like "key edit run command" do
|
255
|
-
let(:actor_field_name) { "user" }
|
256
|
-
end
|
257
|
-
end
|
258
|
-
|
259
|
-
context "when actor_field_name is 'client'" do
|
260
|
-
it_should_behave_like "key edit run command" do
|
261
|
-
let(:actor_field_name) { "client" }
|
262
|
-
end
|
263
|
-
end
|
264
|
-
end
|
@@ -1,74 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Tyler Cloke (<tyler@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
|
-
|
19
|
-
require "spec_helper"
|
20
|
-
|
21
|
-
shared_examples_for "a knife key command" do
|
22
|
-
let(:stderr) { StringIO.new }
|
23
|
-
let(:params) { [] }
|
24
|
-
let(:command) do
|
25
|
-
c = described_class.new([])
|
26
|
-
c.ui.config[:disable_editing] = true
|
27
|
-
allow(c.ui).to receive(:stderr).and_return(stderr)
|
28
|
-
allow(c.ui).to receive(:stdout).and_return(stderr)
|
29
|
-
allow(c).to receive(:show_usage)
|
30
|
-
c
|
31
|
-
end
|
32
|
-
|
33
|
-
context "before apply_params! is called" do
|
34
|
-
context "when apply_params! is called with invalid args" do
|
35
|
-
it "shows the usage" do
|
36
|
-
expect(command).to receive(:show_usage)
|
37
|
-
expect { command.apply_params!(params) }.to exit_with_code(1)
|
38
|
-
end
|
39
|
-
|
40
|
-
it "outputs the proper error" do
|
41
|
-
expect { command.apply_params!(params) }.to exit_with_code(1)
|
42
|
-
expect(stderr.string).to include(command.actor_missing_error)
|
43
|
-
end
|
44
|
-
|
45
|
-
it "exits 1" do
|
46
|
-
expect { command.apply_params!(params) }.to exit_with_code(1)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end # before apply_params! is called
|
50
|
-
|
51
|
-
context "after apply_params! is called with valid args" do
|
52
|
-
let(:params) { ["charmander"] }
|
53
|
-
before do
|
54
|
-
command.apply_params!(params)
|
55
|
-
end
|
56
|
-
|
57
|
-
it "properly defines the actor" do
|
58
|
-
expect(command.actor).to eq("charmander")
|
59
|
-
end
|
60
|
-
end # after apply_params! is called with valid args
|
61
|
-
|
62
|
-
context "when the command is run" do
|
63
|
-
before do
|
64
|
-
allow(command).to receive(:service_object).and_return(service_object)
|
65
|
-
allow(command).to receive(:name_args).and_return(["charmander"])
|
66
|
-
end
|
67
|
-
|
68
|
-
context "when the command is successful" do
|
69
|
-
before do
|
70
|
-
expect(service_object).to receive(:run)
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end # a knife key command
|
@@ -1,216 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Author:: Tyler Cloke (<tyler@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
|
-
|
19
|
-
require "spec_helper"
|
20
|
-
require "chef/knife/user_key_list"
|
21
|
-
require "chef/knife/client_key_list"
|
22
|
-
require "chef/knife/key_list"
|
23
|
-
require "chef/key"
|
24
|
-
|
25
|
-
describe "key list commands that inherit knife" do
|
26
|
-
shared_examples_for "a key list command" do
|
27
|
-
let(:stderr) { StringIO.new }
|
28
|
-
let(:params) { [] }
|
29
|
-
let(:service_object) { instance_double(Chef::Knife::KeyList) }
|
30
|
-
let(:command) do
|
31
|
-
c = described_class.new([])
|
32
|
-
c.ui.config[:disable_editing] = true
|
33
|
-
allow(c.ui).to receive(:stderr).and_return(stderr)
|
34
|
-
allow(c.ui).to receive(:stdout).and_return(stderr)
|
35
|
-
allow(c).to receive(:show_usage)
|
36
|
-
c
|
37
|
-
end
|
38
|
-
|
39
|
-
context "after apply_params! is called with valid args" do
|
40
|
-
let(:params) { ["charmander"] }
|
41
|
-
before do
|
42
|
-
command.apply_params!(params)
|
43
|
-
end
|
44
|
-
|
45
|
-
context "when the service object is called" do
|
46
|
-
it "creates a new instance of Chef::Knife::KeyList with the correct args" do
|
47
|
-
expect(Chef::Knife::KeyList).to receive(:new)
|
48
|
-
.with("charmander", command.list_method, command.ui, command.config)
|
49
|
-
.and_return(service_object)
|
50
|
-
command.service_object
|
51
|
-
end
|
52
|
-
end # when the service object is called
|
53
|
-
end # after apply_params! is called with valid args
|
54
|
-
end # a key list command
|
55
|
-
|
56
|
-
describe Chef::Knife::UserKeyList do
|
57
|
-
it_should_behave_like "a key list command"
|
58
|
-
# defined in key_helpers.rb
|
59
|
-
it_should_behave_like "a knife key command" do
|
60
|
-
let(:service_object) { instance_double(Chef::Knife::KeyList) }
|
61
|
-
let(:params) { ["charmander"] }
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
describe Chef::Knife::ClientKeyList do
|
66
|
-
it_should_behave_like "a key list command"
|
67
|
-
# defined in key_helpers.rb
|
68
|
-
it_should_behave_like "a knife key command" do
|
69
|
-
let(:service_object) { instance_double(Chef::Knife::KeyList) }
|
70
|
-
let(:params) { ["charmander"] }
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
describe Chef::Knife::KeyList do
|
76
|
-
let(:config) { {} }
|
77
|
-
let(:actor) { "charmander" }
|
78
|
-
let(:ui) { instance_double("Chef::Knife::UI") }
|
79
|
-
|
80
|
-
shared_examples_for "key list run command" do
|
81
|
-
let(:key_list_object) do
|
82
|
-
described_class.new(actor, list_method, ui, config)
|
83
|
-
end
|
84
|
-
|
85
|
-
before do
|
86
|
-
allow(Chef::Key).to receive(list_method).and_return(http_response)
|
87
|
-
allow(key_list_object).to receive(:display_info)
|
88
|
-
# simply pass the string though that colorize takes in
|
89
|
-
allow(key_list_object).to receive(:colorize).with(kind_of(String)) do |input|
|
90
|
-
input
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
context "when only_expired and only_non_expired were both passed" do
|
95
|
-
before do
|
96
|
-
key_list_object.config[:only_expired] = true
|
97
|
-
key_list_object.config[:only_non_expired] = true
|
98
|
-
end
|
99
|
-
|
100
|
-
it "raises a Chef::Exceptions::KeyCommandInputError with the proper error message" do
|
101
|
-
expect { key_list_object.run }.to raise_error(Chef::Exceptions::KeyCommandInputError, key_list_object.expired_and_non_expired_msg)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
context "when the command is run" do
|
106
|
-
before do
|
107
|
-
key_list_object.config[:only_expired] = false
|
108
|
-
key_list_object.config[:only_non_expired] = false
|
109
|
-
key_list_object.config[:with_details] = false
|
110
|
-
end
|
111
|
-
|
112
|
-
it "calls Chef::Key with the proper list command and input" do
|
113
|
-
expect(Chef::Key).to receive(list_method).with(actor)
|
114
|
-
key_list_object.run
|
115
|
-
end
|
116
|
-
|
117
|
-
it "displays all the keys" do
|
118
|
-
expect(key_list_object).to receive(:display_info).with(/non-expired/).twice
|
119
|
-
expect(key_list_object).to receive(:display_info).with(/out-of-date/).once
|
120
|
-
key_list_object.run
|
121
|
-
end
|
122
|
-
|
123
|
-
context "when only_expired is called" do
|
124
|
-
before do
|
125
|
-
key_list_object.config[:only_expired] = true
|
126
|
-
end
|
127
|
-
|
128
|
-
it "excludes displaying non-expired keys" do
|
129
|
-
expect(key_list_object).to receive(:display_info).with(/non-expired/).exactly(0).times
|
130
|
-
key_list_object.run
|
131
|
-
end
|
132
|
-
|
133
|
-
it "displays the expired keys" do
|
134
|
-
expect(key_list_object).to receive(:display_info).with(/out-of-date/).once
|
135
|
-
key_list_object.run
|
136
|
-
end
|
137
|
-
end # when only_expired is called
|
138
|
-
|
139
|
-
context "when only_non_expired is called" do
|
140
|
-
before do
|
141
|
-
key_list_object.config[:only_non_expired] = true
|
142
|
-
end
|
143
|
-
|
144
|
-
it "excludes displaying expired keys" do
|
145
|
-
expect(key_list_object).to receive(:display_info).with(/out-of-date/).exactly(0).times
|
146
|
-
key_list_object.run
|
147
|
-
end
|
148
|
-
|
149
|
-
it "displays the non-expired keys" do
|
150
|
-
expect(key_list_object).to receive(:display_info).with(/non-expired/).twice
|
151
|
-
key_list_object.run
|
152
|
-
end
|
153
|
-
end # when only_expired is called
|
154
|
-
|
155
|
-
context "when with_details is false" do
|
156
|
-
before do
|
157
|
-
key_list_object.config[:with_details] = false
|
158
|
-
end
|
159
|
-
|
160
|
-
it "does not display the uri" do
|
161
|
-
expect(key_list_object).to receive(:display_info).with(/https/).exactly(0).times
|
162
|
-
key_list_object.run
|
163
|
-
end
|
164
|
-
|
165
|
-
it "does not display the expired status" do
|
166
|
-
expect(key_list_object).to receive(:display_info).with(/\(expired\)/).exactly(0).times
|
167
|
-
key_list_object.run
|
168
|
-
end
|
169
|
-
end # when with_details is false
|
170
|
-
|
171
|
-
context "when with_details is true" do
|
172
|
-
before do
|
173
|
-
key_list_object.config[:with_details] = true
|
174
|
-
end
|
175
|
-
|
176
|
-
it "displays the uri" do
|
177
|
-
expect(key_list_object).to receive(:display_info).with(/https/).exactly(3).times
|
178
|
-
key_list_object.run
|
179
|
-
end
|
180
|
-
|
181
|
-
it "displays the expired status" do
|
182
|
-
expect(key_list_object).to receive(:display_info).with(/\(expired\)/).once
|
183
|
-
key_list_object.run
|
184
|
-
end
|
185
|
-
end # when with_details is true
|
186
|
-
|
187
|
-
end # when the command is run
|
188
|
-
|
189
|
-
end # key list run command
|
190
|
-
|
191
|
-
context "when list_method is :list_by_user" do
|
192
|
-
it_should_behave_like "key list run command" do
|
193
|
-
let(:list_method) { :list_by_user }
|
194
|
-
let(:http_response) do
|
195
|
-
[
|
196
|
-
{ "uri" => "https://api.opscode.piab/users/charmander/keys/non-expired1", "name" => "non-expired1", "expired" => false },
|
197
|
-
{ "uri" => "https://api.opscode.piab/users/charmander/keys/non-expired2", "name" => "non-expired2", "expired" => false },
|
198
|
-
{ "uri" => "https://api.opscode.piab/users/mary/keys/out-of-date", "name" => "out-of-date", "expired" => true },
|
199
|
-
]
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|
203
|
-
|
204
|
-
context "when list_method is :list_by_client" do
|
205
|
-
it_should_behave_like "key list run command" do
|
206
|
-
let(:list_method) { :list_by_client }
|
207
|
-
let(:http_response) do
|
208
|
-
[
|
209
|
-
{ "uri" => "https://api.opscode.piab/organizations/pokemon/clients/charmander/keys/non-expired1", "name" => "non-expired1", "expired" => false },
|
210
|
-
{ "uri" => "https://api.opscode.piab/organizations/pokemon/clients/charmander/keys/non-expired2", "name" => "non-expired2", "expired" => false },
|
211
|
-
{ "uri" => "https://api.opscode.piab/organizations/pokemon/clients/mary/keys/out-of-date", "name" => "out-of-date", "expired" => true },
|
212
|
-
]
|
213
|
-
end
|
214
|
-
end
|
215
|
-
end
|
216
|
-
end
|