chef 16.18.30 → 17.0.242
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +9 -22
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/chef-universal-mingw32.gemspec +1 -2
- data/chef.gemspec +7 -10
- 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/checksum.rb +0 -6
- data/lib/chef/mixin/get_source_from_package.rb +1 -1
- data/lib/chef/mixin/powershell_exec.rb +26 -7
- 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/platform/query_helpers.rb +2 -2
- data/lib/chef/policy_builder/policyfile.rb +0 -5
- data/lib/chef/property.rb +18 -0
- data/lib/chef/provider/cron.rb +2 -6
- data/lib/chef/provider/execute.rb +2 -1
- data/lib/chef/provider/file.rb +3 -3
- 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 +3 -5
- data/lib/chef/provider/package/yum/yum_helper.py +11 -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 +3 -4
- 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 -23
- 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 +26 -36
- 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 +2 -4
- 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/assets/yumrepo/repodata/4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo/repodata/bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo/repodata/c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz +0 -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/dsc_script_spec.rb +1 -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/resource/windows_font_spec.rb +1 -2
- data/spec/functional/resource/yum_package_spec.rb +0 -12
- data/spec/functional/shell_spec.rb +0 -5
- 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 -17
- 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 -12
- 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/daemon_spec.rb +5 -1
- 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/checksum_spec.rb +0 -28
- data/spec/unit/mixin/params_validate_spec.rb +4 -3
- data/spec/unit/mixin/powershell_exec_spec.rb +9 -9
- 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/platform/query_helpers_spec.rb +5 -5
- 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 -35
- 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/spec/unit/util/dsc/local_configuration_manager_spec.rb +2 -2
- data/tasks/rspec.rb +15 -7
- metadata +43 -388
- 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/assets/yumrepo-empty/repodata/01a3b-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/401dc-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/5dc1e-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/6bf96-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/7c365-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/dabe2-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +0 -55
- 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/client/fips_spec.rb +0 -21
- 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
data/spec/spec_helper.rb
CHANGED
@@ -35,12 +35,6 @@ require "rexml/document"
|
|
35
35
|
require "webmock/rspec"
|
36
36
|
|
37
37
|
require "chef"
|
38
|
-
require "chef/knife"
|
39
|
-
|
40
|
-
Dir["lib/chef/knife/**/*.rb"]
|
41
|
-
.map { |f| f.gsub("lib/", "") }
|
42
|
-
.map { |f| f.gsub(/\.rb$/, "") }
|
43
|
-
.each { |f| require f }
|
44
38
|
|
45
39
|
require "chef/resource_resolver"
|
46
40
|
require "chef/provider_resolver"
|
@@ -82,6 +76,7 @@ require "spec/support/recipe_dsl_helper"
|
|
82
76
|
Dir["spec/support/**/*.rb"]
|
83
77
|
.reject { |f| f =~ %r{^spec/support/platforms} }
|
84
78
|
.reject { |f| f =~ %r{^spec/support/pedant} }
|
79
|
+
.reject { |f| f =~ %r{^spec/support/shared/integration/knife_support} }
|
85
80
|
.map { |f| f.gsub(/.rb$/, "") }
|
86
81
|
.map { |f| f.gsub(%r{spec/}, "") }
|
87
82
|
.each { |f| require f }
|
@@ -139,16 +134,10 @@ RSpec.configure do |config|
|
|
139
134
|
|
140
135
|
config.filter_run_excluding skip_buildkite: true if ENV["BUILDKITE"]
|
141
136
|
|
142
|
-
config.filter_run_excluding fips_mode: !fips_mode_build? unless opensuse?
|
143
|
-
# RubyDistros OpenSUSE docker images have a broken fips
|
144
|
-
config.filter_run_excluding :fips_mode if opensuse?
|
145
|
-
|
146
137
|
config.filter_run_excluding windows_only: true unless windows?
|
147
138
|
config.filter_run_excluding not_supported_on_windows: true if windows?
|
148
139
|
config.filter_run_excluding not_supported_on_macos: true if macos?
|
149
140
|
config.filter_run_excluding macos_only: true unless macos?
|
150
|
-
config.filter_run_excluding macos_1013: true unless macos_1013?
|
151
|
-
config.filter_run_excluding macos_gte_1014: true unless macos_gte_1014?
|
152
141
|
config.filter_run_excluding not_macos_gte_11: true if macos_gte_11?
|
153
142
|
config.filter_run_excluding not_supported_on_aix: true if aix?
|
154
143
|
config.filter_run_excluding not_supported_on_solaris: true if solaris?
|
@@ -164,12 +153,8 @@ RSpec.configure do |config|
|
|
164
153
|
config.filter_run_excluding windows_powershell_no_dsc_only: true if windows_powershell_dsc?
|
165
154
|
config.filter_run_excluding windows_domain_joined_only: true unless windows_domain_joined?
|
166
155
|
config.filter_run_excluding windows_not_domain_joined_only: true if windows_domain_joined?
|
167
|
-
|
168
|
-
# testers. If we ever fix it we should restore it.
|
169
|
-
# config.filter_run_excluding :windows_service_requires_assign_token => true if !STDOUT.isatty && !windows_user_right?("SeAssignPrimaryTokenPrivilege")
|
170
|
-
config.filter_run_excluding windows_service_requires_assign_token: true
|
156
|
+
config.filter_run_excluding windows_service_requires_assign_token: true if !STDOUT.isatty && !windows_user_right?("SeAssignPrimaryTokenPrivilege")
|
171
157
|
config.filter_run_excluding solaris_only: true unless solaris?
|
172
|
-
config.filter_run_excluding system_windows_service_gem_only: true unless system_windows_service_gem?
|
173
158
|
config.filter_run_excluding unix_only: true unless unix?
|
174
159
|
config.filter_run_excluding linux_only: true unless linux?
|
175
160
|
config.filter_run_excluding aix_only: true unless aix?
|
@@ -243,6 +228,14 @@ RSpec.configure do |config|
|
|
243
228
|
|
244
229
|
Chef.reset!
|
245
230
|
|
231
|
+
# Hack warning:
|
232
|
+
#
|
233
|
+
# Something across gem_installer_spec and mixlib_cli specs are polluting gem state so that the 'unmockening' test in rubygems_spec fails.
|
234
|
+
# This works around that until we can understand root cause.
|
235
|
+
#
|
236
|
+
# To explore the minimal test case around that and see more detailed notes, see branch `mp/broken-gems`
|
237
|
+
Gem.clear_paths
|
238
|
+
|
246
239
|
Chef::ChefFS::FileSystemCache.instance.reset!
|
247
240
|
|
248
241
|
Chef::Config.reset
|
@@ -40,22 +40,6 @@ def make_tmpname(prefix_suffix, n = nil)
|
|
40
40
|
path << suffix
|
41
41
|
end
|
42
42
|
|
43
|
-
# This is a helper to determine if the ruby in the PATH contains
|
44
|
-
# win32/service gem. windows_service_manager tests create a windows
|
45
|
-
# service that starts with the system ruby and requires this gem.
|
46
|
-
def system_windows_service_gem?
|
47
|
-
windows_service_gem_check_command = %{ruby -r "win32/daemon" -e ":noop" > #{File::NULL} 2>&1}
|
48
|
-
if defined?(Bundler)
|
49
|
-
Bundler.with_unbundled_env do
|
50
|
-
# This returns true if the gem can be loaded
|
51
|
-
system(windows_service_gem_check_command)
|
52
|
-
end
|
53
|
-
else
|
54
|
-
# This returns true if the gem can be loaded
|
55
|
-
system(windows_service_gem_check_command)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
43
|
# This is a helper to canonicalize paths that we're using in the file
|
60
44
|
# tests.
|
61
45
|
def canonicalize_path(path)
|
@@ -59,15 +59,13 @@ module Matchers
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def profiler
|
62
|
-
@profiler ||=
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
end
|
70
|
-
end
|
62
|
+
@profiler ||= if ChefUtils.windows?
|
63
|
+
require File.join(__dir__, "..", "platforms", "prof", "win32")
|
64
|
+
RSpec::Prof::Win32::Profiler.new
|
65
|
+
else
|
66
|
+
require File.join(__dir__, "..", "prof", "gc")
|
67
|
+
RSpec::Prof::GC::Profiler.new
|
68
|
+
end
|
71
69
|
end
|
72
70
|
|
73
71
|
end
|
@@ -2,6 +2,7 @@ require "fcntl"
|
|
2
2
|
require "chef/mixin/shell_out"
|
3
3
|
require "ohai/mixin/http_helper"
|
4
4
|
require "ohai/mixin/gce_metadata"
|
5
|
+
require "spec/support/chef_helpers"
|
5
6
|
|
6
7
|
class ShellHelpers
|
7
8
|
extend Chef::Mixin::ShellOut
|
@@ -92,14 +93,6 @@ def windows_user_right?(right)
|
|
92
93
|
Chef::ReservedNames::Win32::Security.get_account_right(ENV["USERNAME"]).include?(right)
|
93
94
|
end
|
94
95
|
|
95
|
-
def macos_1013?
|
96
|
-
macos? && Gem::Requirement.new("~> 10.13.0").satisfied_by?(Gem::Version.new(ohai[:platform_version]))
|
97
|
-
end
|
98
|
-
|
99
|
-
def macos_gte_1014?
|
100
|
-
macos? && Gem::Requirement.new(">= 10.14").satisfied_by?(Gem::Version.new(ohai[:platform_version]))
|
101
|
-
end
|
102
|
-
|
103
96
|
# detects if the hardware is 64-bit (evaluates to true in "WOW64" mode in a 32-bit app on a 64-bit system)
|
104
97
|
def windows64?
|
105
98
|
windows? && ( ENV["PROCESSOR_ARCHITECTURE"] == "AMD64" || ENV["PROCESSOR_ARCHITEW6432"] == "AMD64" )
|
@@ -226,10 +219,6 @@ def fips?
|
|
226
219
|
ENV["CHEF_FIPS"] == "1"
|
227
220
|
end
|
228
221
|
|
229
|
-
def fips_mode_build?
|
230
|
-
OpenSSL::OPENSSL_FIPS
|
231
|
-
end
|
232
|
-
|
233
222
|
class HttpHelper
|
234
223
|
extend Ohai::Mixin::HttpHelper
|
235
224
|
def self.logger
|
@@ -47,9 +47,9 @@ shared_examples_for "a script resource" do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
describe "when executing guards" do
|
50
|
-
it "inherits exactly the :cwd, :domain, :environment, :group, :password, :path, :user, and :
|
50
|
+
it "inherits exactly the :cwd, :domain, :environment, :group, :password, :path, :user, :umask, and :login attributes from a parent resource class" do
|
51
51
|
inherited_difference = Chef::Resource::Script.guard_inherited_attributes -
|
52
|
-
%i{cwd domain environment group password path user umask}
|
52
|
+
%i{cwd domain environment group password path user umask login}
|
53
53
|
|
54
54
|
expect(inherited_difference).to eq([])
|
55
55
|
end
|
@@ -108,7 +108,7 @@ describe Chef::Application::Solo do
|
|
108
108
|
tarfile = StringIO.new("remote_tarball_content")
|
109
109
|
target_file = StringIO.new
|
110
110
|
|
111
|
-
expect(
|
111
|
+
expect(URI).to receive(:open).with("http://junglist.gen.nz/recipes.tgz").and_yield(tarfile)
|
112
112
|
expect(File).to receive(:open).with("#{Dir.tmpdir}/chef-solo/recipes.tgz", "wb").and_yield(target_file)
|
113
113
|
|
114
114
|
archive = double(Mixlib::Archive)
|
@@ -202,7 +202,7 @@ describe Chef::Application::Solo do
|
|
202
202
|
expect(Chef::Config).to receive(:find_chef_repo_path).and_return(root_path)
|
203
203
|
app.reconfigure
|
204
204
|
expect(Chef::Config.key?(:chef_repo_path)).to be_truthy
|
205
|
-
expect(Chef::Config[:chef_repo_path]).to eq
|
205
|
+
expect(Chef::Config[:chef_repo_path]).to eq(root_path)
|
206
206
|
end
|
207
207
|
|
208
208
|
it "runs chef-client in local mode" do
|
@@ -20,7 +20,7 @@ require "spec_helper"
|
|
20
20
|
require "chef/chef_fs/file_pattern"
|
21
21
|
require "chef/chef_fs/command_line"
|
22
22
|
|
23
|
-
describe "diff", uses_diff: true do
|
23
|
+
describe "diff", uses_diff: true, ruby: ">= 3.0" do
|
24
24
|
include FileSystemSupport
|
25
25
|
|
26
26
|
# Removes the date stamp from the diff and replaces it with ' DATE'
|
@@ -20,7 +20,7 @@ require "spec_helper"
|
|
20
20
|
require "chef/chef_fs/file_system"
|
21
21
|
require "chef/chef_fs/file_pattern"
|
22
22
|
|
23
|
-
describe Chef::ChefFS::FileSystem do
|
23
|
+
describe Chef::ChefFS::FileSystem, ruby: ">= 3.0" do
|
24
24
|
include FileSystemSupport
|
25
25
|
|
26
26
|
context "with empty filesystem" do
|
data/spec/unit/client_spec.rb
CHANGED
@@ -310,14 +310,14 @@ describe Chef::Client do
|
|
310
310
|
|
311
311
|
describe "eol release warning" do
|
312
312
|
it "warns when running an EOL release" do
|
313
|
-
stub_const("Chef::VERSION",
|
314
|
-
allow(Time).to receive(:now).and_return(Time.new(
|
315
|
-
expect(logger).to receive(:warn).with(
|
313
|
+
stub_const("Chef::VERSION", 15)
|
314
|
+
allow(Time).to receive(:now).and_return(Time.new(2021, 5, 1, 5))
|
315
|
+
expect(logger).to receive(:warn).with(/This release of.*became end of life \(EOL\) on May 1st 2021/)
|
316
316
|
client.warn_if_eol
|
317
317
|
end
|
318
318
|
|
319
319
|
it "does not warn when running an non-EOL release" do
|
320
|
-
stub_const("Chef::VERSION",
|
320
|
+
stub_const("Chef::VERSION", 15)
|
321
321
|
allow(Time).to receive(:now).and_return(Time.new(2021, 4, 31))
|
322
322
|
expect(logger).to_not receive(:warn).with(/became end of life/)
|
323
323
|
client.warn_if_eol
|
@@ -29,14 +29,6 @@ describe Chef::Compliance::Fetcher::Automate do
|
|
29
29
|
expect(res.target).to eq(expected)
|
30
30
|
end
|
31
31
|
|
32
|
-
it "raises an exception with no data collector token" do
|
33
|
-
Chef::Config[:data_collector].delete(:token)
|
34
|
-
|
35
|
-
expect {
|
36
|
-
Chef::Compliance::Fetcher::Automate.resolve("compliance://namespace/profile_name")
|
37
|
-
}.to raise_error(/No data-collector token set/)
|
38
|
-
end
|
39
|
-
|
40
32
|
it "includes the data collector token" do
|
41
33
|
expect(Chef::Compliance::Fetcher::Automate).to receive(:new).with(
|
42
34
|
"https://automate.test/compliance/profiles/namespace/profile_name/tar",
|
@@ -108,14 +100,6 @@ describe Chef::Compliance::Fetcher::Automate do
|
|
108
100
|
expect(res.target).to eq(expected)
|
109
101
|
end
|
110
102
|
|
111
|
-
it "raises an exception with no data collector token" do
|
112
|
-
Chef::Config[:data_collector].delete(:token)
|
113
|
-
|
114
|
-
expect {
|
115
|
-
Chef::Compliance::Fetcher::Automate.resolve(compliance: "namespace/profile_name")
|
116
|
-
}.to raise_error(Inspec::FetcherFailure, /No data-collector token set/)
|
117
|
-
end
|
118
|
-
|
119
103
|
it "includes the data collector token" do
|
120
104
|
expect(Chef::Compliance::Fetcher::Automate).to receive(:new).with(
|
121
105
|
"https://automate.test/compliance/profiles/namespace/profile_name/tar",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
require "json" # For .to_json
|
3
3
|
|
4
|
+
require "chef/compliance/reporter/automate"
|
4
5
|
describe Chef::Compliance::Reporter::Automate do
|
5
6
|
let(:reporter) { Chef::Compliance::Reporter::Automate.new(opts) }
|
6
7
|
|
@@ -264,11 +265,34 @@ describe Chef::Compliance::Reporter::Automate do
|
|
264
265
|
expect(metasearch_stub).to have_been_requested
|
265
266
|
expect(report_stub).to have_been_requested
|
266
267
|
end
|
268
|
+
end
|
267
269
|
|
268
|
-
|
270
|
+
describe "#validate_config!" do
|
271
|
+
it "raises CMPL004 when entity_uuid is not present" do
|
269
272
|
opts.delete(:entity_uuid)
|
273
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL004/)
|
274
|
+
end
|
275
|
+
|
276
|
+
it "raises CMPL005 when run_id is not present" do
|
277
|
+
opts.delete(:run_id)
|
278
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL005/)
|
279
|
+
end
|
280
|
+
|
281
|
+
it "raises CMPL006 when data collector URL is missing" do
|
282
|
+
Chef::Config[:data_collector] = { token: "not_nil", server_url: nil }
|
270
283
|
reporter = Chef::Compliance::Reporter::Automate.new(opts)
|
271
|
-
expect
|
284
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL006/)
|
285
|
+
end
|
286
|
+
|
287
|
+
it "raises CMPL006 when data collector token is missing" do
|
288
|
+
Chef::Config[:data_collector] = { token: nil, server_url: "not_nil" }
|
289
|
+
reporter = Chef::Compliance::Reporter::Automate.new(opts)
|
290
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL006/)
|
291
|
+
end
|
292
|
+
|
293
|
+
it "otherwise passes" do
|
294
|
+
Chef::Config[:data_collector] = { token: "not_nil", server_url: "not_nil" }
|
295
|
+
reporter.validate_config!
|
272
296
|
end
|
273
297
|
end
|
274
298
|
|
@@ -1,7 +1,9 @@
|
|
1
1
|
require "spec_helper"
|
2
|
+
require "chef/compliance/reporter/chef_server_automate"
|
2
3
|
|
3
4
|
describe Chef::Compliance::Reporter::ChefServerAutomate do
|
4
5
|
before do
|
6
|
+
# Isn't this already done globally in
|
5
7
|
WebMock.disable_net_connect!
|
6
8
|
|
7
9
|
Chef::Config[:client_key] = File.expand_path("../../../data/ssl/private_key.pem", __dir__)
|
@@ -174,4 +176,22 @@ describe Chef::Compliance::Reporter::ChefServerAutomate do
|
|
174
176
|
|
175
177
|
expect(report_stub).to have_been_requested
|
176
178
|
end
|
179
|
+
|
180
|
+
describe "#validate_config!" do
|
181
|
+
it "raises CMPL007 when entity_uuid is not present" do
|
182
|
+
opts.delete(:entity_uuid)
|
183
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL007/)
|
184
|
+
end
|
185
|
+
|
186
|
+
it "raises CMPL008 when run_id is not present" do
|
187
|
+
opts.delete(:run_id)
|
188
|
+
expect { reporter.validate_config! }.to raise_error(/^CMPL008/)
|
189
|
+
end
|
190
|
+
|
191
|
+
it "otherwise passes" do
|
192
|
+
reporter.validate_config!
|
193
|
+
end
|
194
|
+
|
195
|
+
end
|
196
|
+
|
177
197
|
end
|
@@ -12,6 +12,12 @@ describe Chef::Compliance::Runner do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
describe "#enabled?" do
|
15
|
+
context "when the node is not available" do
|
16
|
+
let(:runner) { described_class.new }
|
17
|
+
it "is false because it needs the node to answer that question" do
|
18
|
+
expect(runner).not_to be_enabled
|
19
|
+
end
|
20
|
+
end
|
15
21
|
|
16
22
|
it "is true if the node attributes have audit profiles and the audit cookbook is not present, and the compliance mode attribute is nil" do
|
17
23
|
node.normal["audit"]["profiles"]["ssh"] = { 'compliance': "base/ssh" }
|
@@ -124,7 +130,7 @@ describe Chef::Compliance::Runner do
|
|
124
130
|
expect(runner.inspec_profiles).to eq(expected)
|
125
131
|
end
|
126
132
|
|
127
|
-
it "raises
|
133
|
+
it "raises a CMPL010 message when the profiles are in the old audit-cookbook format" do
|
128
134
|
node.normal["audit"]["profiles"] = [
|
129
135
|
{
|
130
136
|
name: "Windows 2019 Baseline",
|
@@ -132,7 +138,7 @@ describe Chef::Compliance::Runner do
|
|
132
138
|
},
|
133
139
|
]
|
134
140
|
|
135
|
-
expect { runner.inspec_profiles }.to raise_error(/
|
141
|
+
expect { runner.inspec_profiles }.to raise_error(/CMPL010:/)
|
136
142
|
end
|
137
143
|
end
|
138
144
|
|
@@ -180,9 +186,29 @@ describe Chef::Compliance::Runner do
|
|
180
186
|
end
|
181
187
|
end
|
182
188
|
|
183
|
-
|
184
|
-
|
189
|
+
end
|
190
|
+
|
191
|
+
describe "#load_and_validate! when compliance is enabled" do
|
192
|
+
before do
|
193
|
+
allow(runner).to receive(:enabled?).and_return(true)
|
194
|
+
end
|
195
|
+
|
196
|
+
it "raises CMPL003 when the reporter is not a supported reporter type" do
|
197
|
+
node.normal["audit"]["reporter"] = [ "invalid" ]
|
198
|
+
expect { runner.load_and_validate! }.to raise_error(/^CMPL003:/)
|
199
|
+
end
|
200
|
+
it "raises CMPL002 if the configured fetcher is not supported" do
|
201
|
+
node.normal["audit"]["fetcher"] = "invalid"
|
202
|
+
expect { runner.load_and_validate! }.to raise_error(/^CMPL002:/)
|
185
203
|
end
|
204
|
+
|
205
|
+
it "validates configured reporters" do
|
206
|
+
node.normal["audit"]["reporter"] = [ "chef-automate" ]
|
207
|
+
reporter_double = double("reporter", validate_config!: nil)
|
208
|
+
expect(runner).to receive(:reporter).with("chef-automate").and_return(reporter_double)
|
209
|
+
runner.load_and_validate!
|
210
|
+
end
|
211
|
+
|
186
212
|
end
|
187
213
|
|
188
214
|
describe "#inspec_opts" do
|
@@ -41,59 +41,7 @@ describe Chef::CookbookVersion do
|
|
41
41
|
it "has empty metadata" do
|
42
42
|
expect(cookbook_version.metadata).to eq(Chef::Cookbook::Metadata.new)
|
43
43
|
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "#recipe_yml_filenames_by_name" do
|
47
|
-
let(:cookbook_version) { Chef::CookbookVersion.new("mycb", "/tmp/mycb") }
|
48
|
-
|
49
|
-
def files_for_recipe(extension)
|
50
|
-
[
|
51
|
-
{ name: "recipes/default.#{extension}", full_path: "/home/user/repo/cookbooks/test/recipes/default.#{extension}" },
|
52
|
-
{ name: "recipes/other.#{extension}", full_path: "/home/user/repo/cookbooks/test/recipes/other.#{extension}" },
|
53
|
-
]
|
54
|
-
end
|
55
|
-
context "and YAML files present include both a recipes/default.yml and a recipes/default.yaml" do
|
56
|
-
before(:each) do
|
57
|
-
allow(cookbook_version).to receive(:files_for).with("recipes").and_return(
|
58
|
-
[
|
59
|
-
{ name: "recipes/default.yml", full_path: "/home/user/repo/cookbooks/test/recipes/default.yml" },
|
60
|
-
{ name: "recipes/default.yaml", full_path: "/home/user/repo/cookbooks/test/recipes/default.yaml" },
|
61
|
-
]
|
62
|
-
)
|
63
|
-
end
|
64
|
-
it "because both are valid and we can't pick, it raises an error that contains the info needed to fix the problem" do
|
65
|
-
expect { cookbook_version.recipe_yml_filenames_by_name }
|
66
|
-
.to raise_error(Chef::Exceptions::AmbiguousYAMLFile, /.*default.yml.*default.yaml.*update the cookbook to remove/)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
%w{yml yaml}.each do |extension|
|
71
|
-
|
72
|
-
context "and YAML files are present including a recipes/default.#{extension}" do
|
73
|
-
before(:each) do
|
74
|
-
allow(cookbook_version).to receive(:files_for).with("recipes").and_return(files_for_recipe(extension))
|
75
|
-
end
|
76
|
-
|
77
|
-
context "and manifest does not include a root_files/recipe.#{extension}" do
|
78
|
-
it "returns all YAML recipes with a correct default of default.#{extension}" do
|
79
|
-
expect(cookbook_version.recipe_yml_filenames_by_name).to eq({ "default" => "/home/user/repo/cookbooks/test/recipes/default.#{extension}",
|
80
|
-
"other" => "/home/user/repo/cookbooks/test/recipes/other.#{extension}" })
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
context "and manifest also includes a root_files/recipe.#{extension}" do
|
85
|
-
let(:root_files) { [{ name: "root_files/recipe.#{extension}", full_path: "/home/user/repo/cookbooks/test/recipe.#{extension}" } ] }
|
86
|
-
before(:each) do
|
87
|
-
allow(cookbook_version.cookbook_manifest).to receive(:root_files).and_return(root_files)
|
88
|
-
end
|
89
44
|
|
90
|
-
it "returns all YAML recipes with a correct default of recipe.#{extension}" do
|
91
|
-
expect(cookbook_version.recipe_yml_filenames_by_name).to eq({ "default" => "/home/user/repo/cookbooks/test/recipe.#{extension}",
|
92
|
-
"other" => "/home/user/repo/cookbooks/test/recipes/other.#{extension}" })
|
93
|
-
end
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
45
|
end
|
98
46
|
|
99
47
|
describe "with a cookbook directory named tatft" do
|
data/spec/unit/daemon_spec.rb
CHANGED
@@ -170,7 +170,11 @@ describe Chef::Daemon do
|
|
170
170
|
|
171
171
|
it "should log an appropriate error message and fail miserably" do
|
172
172
|
allow(Process).to receive(:initgroups).and_raise(Errno::EPERM)
|
173
|
-
|
173
|
+
error = "Operation not permitted"
|
174
|
+
if RUBY_PLATFORM.match("solaris2") || RUBY_PLATFORM.match("aix")
|
175
|
+
error = "Not owner"
|
176
|
+
end
|
177
|
+
expect(Chef::Application).to receive(:fatal!).with("Permission denied when trying to change 999:999 to 501:20. #{error}")
|
174
178
|
Chef::Daemon._change_privilege(testuser)
|
175
179
|
end
|
176
180
|
end
|
@@ -148,12 +148,7 @@ describe Chef::DataBagItem do
|
|
148
148
|
end
|
149
149
|
|
150
150
|
it "implements all the methods of Hash" do
|
151
|
-
methods =
|
152
|
-
default= default_proc index size length
|
153
|
-
empty? each_value each_key each_pair each keys values
|
154
|
-
values_at delete delete_if reject! clear
|
155
|
-
invert update replace merge! merge has_key? has_value?
|
156
|
-
key? value?}
|
151
|
+
methods = Hash.public_instance_methods
|
157
152
|
methods.each do |m|
|
158
153
|
expect(data_bag_item).to respond_to(m)
|
159
154
|
end
|
@@ -142,17 +142,11 @@ describe Chef::DataCollector do
|
|
142
142
|
def expect_converge_message(keys)
|
143
143
|
keys["message_type"] = "run_converge"
|
144
144
|
keys["message_version"] = "1.1.0"
|
145
|
-
# if (keys.key?("node") && !keys["node"].empty?)
|
146
|
-
# expect(rest_client).to receive(:post) do |_a, hash, _b|
|
147
|
-
# require 'pry'; binding.pry
|
148
|
-
# end
|
149
|
-
# else
|
150
145
|
expect(rest_client).to receive(:post).with(
|
151
146
|
nil,
|
152
147
|
hash_including(keys),
|
153
148
|
{ "Content-Type" => "application/json" }
|
154
149
|
)
|
155
|
-
# end
|
156
150
|
end
|
157
151
|
|
158
152
|
def resource_has_diff(new_resource, status)
|
@@ -164,7 +158,7 @@ describe Chef::DataCollector do
|
|
164
158
|
"after" => after_resource&.state_for_resource_reporter || {},
|
165
159
|
"before" => before_resource&.state_for_resource_reporter || {},
|
166
160
|
"cookbook_name" => cookbook_name,
|
167
|
-
"cookbook_version" => cookbook_version
|
161
|
+
"cookbook_version" => cookbook_version.version,
|
168
162
|
"delta" => resource_has_diff(new_resource, status) ? new_resource.diff : "",
|
169
163
|
"duration" => duration,
|
170
164
|
"id" => new_resource.identity,
|
@@ -208,7 +202,7 @@ describe Chef::DataCollector do
|
|
208
202
|
end
|
209
203
|
|
210
204
|
it "has a node" do
|
211
|
-
expect_converge_message("node" => expected_node
|
205
|
+
expect_converge_message("node" => expected_node)
|
212
206
|
send_run_failed_or_completed_event
|
213
207
|
end
|
214
208
|
|
@@ -567,29 +561,6 @@ describe Chef::DataCollector do
|
|
567
561
|
it_behaves_like "sends a converge message"
|
568
562
|
end
|
569
563
|
|
570
|
-
context "when the run contains a file resource that is up-to-date from a @recipe_files, returns nil for the version" do
|
571
|
-
let(:total_resource_count) { 1 }
|
572
|
-
let(:updated_resource_count) { 0 }
|
573
|
-
let(:cookbook_name) { "@recipe_files" }
|
574
|
-
let(:resource_record) { [ resource_record_for(new_resource, current_resource, after_resource, :create, "up-to-date", "1234") ] }
|
575
|
-
let(:status) { "success" }
|
576
|
-
let(:cookbook_version) { nil }
|
577
|
-
|
578
|
-
before do
|
579
|
-
allow(new_resource).to receive(:cookbook_version).and_call_original
|
580
|
-
events.resource_action_start(new_resource, :create)
|
581
|
-
events.resource_current_state_loaded(new_resource, :create, current_resource)
|
582
|
-
events.resource_up_to_date(new_resource, :create)
|
583
|
-
events.resource_after_state_loaded(new_resource, :create, after_resource)
|
584
|
-
new_resource.instance_variable_set(:@elapsed_time, 1.2345)
|
585
|
-
events.resource_completed(new_resource)
|
586
|
-
events.converge_complete
|
587
|
-
run_status.stop_clock
|
588
|
-
end
|
589
|
-
|
590
|
-
it_behaves_like "sends a converge message"
|
591
|
-
end
|
592
|
-
|
593
564
|
context "when the run contains a file resource that is updated" do
|
594
565
|
let(:total_resource_count) { 1 }
|
595
566
|
let(:updated_resource_count) { 1 }
|
@@ -837,46 +808,6 @@ describe Chef::DataCollector do
|
|
837
808
|
it_behaves_like "sends a converge message"
|
838
809
|
end
|
839
810
|
|
840
|
-
context "when node attributes are block-listed" do
|
841
|
-
let(:status) { "success" }
|
842
|
-
before do
|
843
|
-
Chef::Config[:blocked_default_attributes] = [
|
844
|
-
%w{secret key_to_the_kingdom},
|
845
|
-
]
|
846
|
-
node.default = {
|
847
|
-
"secret" => { "key_to_the_kingdom" => "under the flower pot to the left of the drawbridge" },
|
848
|
-
"publicinfo" => { "num_flower_pots" => 18 },
|
849
|
-
}
|
850
|
-
end
|
851
|
-
|
852
|
-
it "payload should exclude blocked attributes" do
|
853
|
-
expect(rest_client).to receive(:post) do |_addr, hash, _headers|
|
854
|
-
expect(hash["node"]["default"]).to eq({ "secret" => {}, "publicinfo" => { "num_flower_pots" => 18 } })
|
855
|
-
end
|
856
|
-
send_run_failed_or_completed_event
|
857
|
-
end
|
858
|
-
end
|
859
|
-
|
860
|
-
context "when node attributes are allow-listed" do
|
861
|
-
let(:status) { "success" }
|
862
|
-
before do
|
863
|
-
Chef::Config[:allowed_default_attributes] = [
|
864
|
-
%w{public entrance},
|
865
|
-
]
|
866
|
-
node.default = {
|
867
|
-
"public" => { "entrance" => "is the drawbridge" },
|
868
|
-
"secret" => { "entrance" => "is the tunnel" },
|
869
|
-
}
|
870
|
-
end
|
871
|
-
|
872
|
-
it "payload should include only allowed attributes" do
|
873
|
-
expect(rest_client).to receive(:post) do |_addr, hash, _headers|
|
874
|
-
expect(hash["node"]["default"]).to eq({ "public" => { "entrance" => "is the drawbridge" } })
|
875
|
-
end
|
876
|
-
send_run_failed_or_completed_event
|
877
|
-
end
|
878
|
-
end
|
879
|
-
|
880
811
|
end
|
881
812
|
end
|
882
813
|
|
@@ -51,9 +51,9 @@ describe Chef::DSL::RebootPending do
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
context "
|
54
|
+
context "platform_family is debian" do
|
55
55
|
before do
|
56
|
-
allow(recipe).to receive(:
|
56
|
+
allow(recipe).to receive(:platform_family?).with("debian").and_return(true)
|
57
57
|
end
|
58
58
|
|
59
59
|
it "should return true if /var/run/reboot-required exists" do
|