chef 17.10.95 → 18.1.0
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 +16 -8
- data/README.md +7 -7
- data/Rakefile +3 -22
- data/{chef-universal-mingw32.gemspec → chef-universal-mingw-ucrt.gemspec} +8 -7
- data/chef.gemspec +12 -5
- data/lib/chef/api_client_v1.rb +9 -1
- data/lib/chef/application/exit_code.rb +3 -3
- data/lib/chef/chef_fs/file_system.rb +21 -7
- data/lib/chef/client.rb +169 -17
- data/lib/chef/compliance/input.rb +1 -1
- data/lib/chef/compliance/profile.rb +1 -1
- data/lib/chef/compliance/profile_collection.rb +0 -1
- data/lib/chef/compliance/waiver.rb +1 -1
- data/lib/chef/cookbook/syntax_check.rb +2 -2
- data/lib/chef/dsl/reader_helpers.rb +1 -1
- data/lib/chef/dsl/rest_resource.rb +77 -0
- data/lib/chef/event_dispatch/base.rb +3 -0
- data/lib/chef/exceptions.rb +8 -0
- data/lib/chef/http/authenticator.rb +170 -3
- data/lib/chef/http/ssl_policies.rb +3 -3
- data/lib/chef/mixin/powershell_exec.rb +5 -28
- data/lib/chef/node/mixin/immutablize_array.rb +1 -0
- data/lib/chef/property.rb +13 -6
- data/lib/chef/provider/cron.rb +5 -1
- data/lib/chef/provider/group/windows.rb +1 -1
- data/lib/chef/provider/http_request.rb +11 -9
- data/lib/chef/provider/launchd.rb +1 -0
- data/lib/chef/provider/mount/linux.rb +5 -0
- data/lib/chef/provider/mount/mount.rb +8 -0
- data/lib/chef/provider/mount/windows.rb +1 -1
- data/lib/chef/provider/package/chocolatey.rb +1 -18
- data/lib/chef/provider/package/rubygems.rb +1 -1
- data/lib/chef/provider/package/snap.rb +1 -1
- data/lib/chef/provider/package/windows/msi.rb +2 -2
- data/lib/chef/provider/package/windows/registry_uninstall_entry.rb +1 -1
- data/lib/chef/provider/package/yum/yum_helper.py +5 -17
- data/lib/chef/provider/package/zypper/version.rb +60 -0
- data/lib/chef/provider/package/zypper.rb +47 -3
- data/lib/chef/provider/service/windows.rb +1 -1
- data/lib/chef/provider/user/aix.rb +5 -0
- data/lib/chef/provider/user/linux.rb +29 -0
- data/lib/chef/provider/user/mac.rb +1 -1
- data/lib/chef/provider/user.rb +46 -14
- data/lib/chef/provider/yum_repository.rb +13 -1
- data/lib/chef/provider.rb +1 -1
- data/lib/chef/recipe.rb +1 -1
- data/lib/chef/resource/_rest_resource.rb +389 -0
- data/lib/chef/resource/alternatives.rb +0 -1
- data/lib/chef/resource/apt_package.rb +2 -1
- data/lib/chef/resource/apt_preference.rb +0 -1
- data/lib/chef/resource/apt_repository.rb +0 -1
- data/lib/chef/resource/apt_update.rb +0 -1
- data/lib/chef/resource/archive_file.rb +0 -1
- data/lib/chef/resource/bash.rb +0 -1
- data/lib/chef/resource/batch.rb +0 -1
- data/lib/chef/resource/bff_package.rb +0 -1
- data/lib/chef/resource/breakpoint.rb +0 -1
- data/lib/chef/resource/build_essential.rb +0 -1
- data/lib/chef/resource/cab_package.rb +0 -1
- data/lib/chef/resource/chef_client_config.rb +12 -14
- data/lib/chef/resource/chef_client_cron.rb +1 -2
- data/lib/chef/resource/chef_client_launchd.rb +2 -2
- data/lib/chef/resource/chef_client_scheduled_task.rb +3 -3
- data/lib/chef/resource/chef_client_systemd_timer.rb +0 -1
- data/lib/chef/resource/chef_client_trusted_certificate.rb +0 -1
- data/lib/chef/resource/chef_gem.rb +0 -1
- data/lib/chef/resource/chef_handler.rb +0 -1
- data/lib/chef/resource/chef_sleep.rb +1 -3
- data/lib/chef/resource/chef_vault_secret.rb +0 -1
- data/lib/chef/resource/chocolatey_config.rb +0 -1
- data/lib/chef/resource/chocolatey_feature.rb +0 -1
- data/lib/chef/resource/chocolatey_package.rb +0 -1
- data/lib/chef/resource/chocolatey_source.rb +0 -1
- data/lib/chef/resource/cookbook_file.rb +0 -1
- data/lib/chef/resource/cron/_cron_shared.rb +0 -1
- data/lib/chef/resource/cron/cron.rb +0 -1
- data/lib/chef/resource/cron/cron_d.rb +15 -1
- data/lib/chef/resource/cron_access.rb +0 -1
- data/lib/chef/resource/csh.rb +0 -1
- data/lib/chef/resource/directory.rb +0 -1
- data/lib/chef/resource/dmg_package.rb +2 -1
- data/lib/chef/resource/dnf_package.rb +0 -1
- data/lib/chef/resource/dpkg_package.rb +0 -1
- data/lib/chef/resource/dsc_resource.rb +0 -1
- data/lib/chef/resource/dsc_script.rb +0 -1
- data/lib/chef/resource/execute.rb +0 -1
- data/lib/chef/resource/file.rb +0 -1
- data/lib/chef/resource/freebsd_package.rb +2 -1
- data/lib/chef/resource/gem_package.rb +2 -1
- data/lib/chef/resource/group.rb +25 -2
- data/lib/chef/resource/habitat/habitat_package.rb +0 -1
- data/lib/chef/resource/habitat/habitat_sup.rb +6 -7
- data/lib/chef/resource/habitat/habitat_sup_windows.rb +1 -1
- data/lib/chef/resource/habitat_config.rb +0 -1
- data/lib/chef/resource/habitat_install.rb +0 -1
- data/lib/chef/resource/habitat_service.rb +0 -1
- data/lib/chef/resource/habitat_user_toml.rb +0 -1
- data/lib/chef/resource/homebrew_cask.rb +0 -1
- data/lib/chef/resource/homebrew_package.rb +2 -1
- data/lib/chef/resource/homebrew_tap.rb +0 -1
- data/lib/chef/resource/homebrew_update.rb +0 -2
- data/lib/chef/resource/hostname.rb +0 -1
- data/lib/chef/resource/http_request.rb +0 -1
- data/lib/chef/resource/ifconfig.rb +0 -1
- data/lib/chef/resource/inspec_input.rb +0 -1
- data/lib/chef/resource/inspec_waiver.rb +0 -1
- data/lib/chef/resource/inspec_waiver_file_entry.rb +2 -3
- data/lib/chef/resource/ips_package.rb +0 -1
- data/lib/chef/resource/kernel_module.rb +0 -1
- data/lib/chef/resource/ksh.rb +0 -1
- data/lib/chef/resource/launchd.rb +3 -1
- data/lib/chef/resource/link.rb +0 -1
- data/lib/chef/resource/locale.rb +2 -6
- data/lib/chef/resource/log.rb +0 -1
- data/lib/chef/resource/lwrp_base.rb +0 -4
- data/lib/chef/resource/macos_userdefaults.rb +8 -13
- data/lib/chef/resource/macosx_service.rb +0 -1
- data/lib/chef/resource/macports_package.rb +2 -1
- data/lib/chef/resource/mdadm.rb +0 -1
- data/lib/chef/resource/mount.rb +0 -1
- data/lib/chef/resource/msu_package.rb +0 -1
- data/lib/chef/resource/notify_group.rb +0 -2
- data/lib/chef/resource/ohai.rb +0 -1
- data/lib/chef/resource/ohai_hint.rb +0 -1
- data/lib/chef/resource/openbsd_package.rb +2 -1
- data/lib/chef/resource/openssl_dhparam.rb +0 -2
- data/lib/chef/resource/openssl_ec_private_key.rb +0 -2
- data/lib/chef/resource/openssl_ec_public_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_private_key.rb +0 -2
- data/lib/chef/resource/openssl_rsa_public_key.rb +0 -2
- data/lib/chef/resource/openssl_x509_certificate.rb +0 -2
- data/lib/chef/resource/openssl_x509_crl.rb +0 -2
- data/lib/chef/resource/openssl_x509_request.rb +0 -2
- data/lib/chef/resource/osx_profile.rb +0 -1
- data/lib/chef/resource/package.rb +0 -1
- data/lib/chef/resource/pacman_package.rb +2 -1
- data/lib/chef/resource/paludis_package.rb +0 -1
- data/lib/chef/resource/perl.rb +0 -1
- data/lib/chef/resource/plist.rb +7 -3
- data/lib/chef/resource/portage_package.rb +2 -1
- data/lib/chef/resource/powershell_package.rb +0 -1
- data/lib/chef/resource/powershell_package_source.rb +0 -1
- data/lib/chef/resource/powershell_script.rb +0 -1
- data/lib/chef/resource/python.rb +0 -1
- data/lib/chef/resource/reboot.rb +0 -1
- data/lib/chef/resource/registry_key.rb +0 -1
- data/lib/chef/resource/remote_directory.rb +0 -1
- data/lib/chef/resource/remote_file.rb +0 -1
- data/lib/chef/resource/rhsm_errata.rb +0 -1
- data/lib/chef/resource/rhsm_errata_level.rb +0 -1
- data/lib/chef/resource/rhsm_register.rb +2 -4
- data/lib/chef/resource/rhsm_repo.rb +0 -1
- data/lib/chef/resource/rhsm_subscription.rb +0 -1
- data/lib/chef/resource/route.rb +0 -1
- data/lib/chef/resource/rpm_package.rb +2 -1
- data/lib/chef/resource/ruby.rb +0 -1
- data/lib/chef/resource/ruby_block.rb +0 -1
- data/lib/chef/resource/scm/_scm.rb +0 -2
- data/lib/chef/resource/scm/git.rb +0 -2
- data/lib/chef/resource/scm/subversion.rb +0 -2
- data/lib/chef/resource/script.rb +0 -1
- data/lib/chef/resource/selinux/common_helpers.rb +47 -0
- data/lib/chef/resource/selinux/selinux_debian.erb +18 -0
- data/lib/chef/resource/selinux/selinux_default.erb +15 -0
- data/lib/chef/resource/selinux_boolean.rb +101 -0
- data/lib/chef/resource/selinux_fcontext.rb +160 -0
- data/lib/chef/resource/selinux_install.rb +107 -0
- data/lib/chef/resource/selinux_module.rb +143 -0
- data/lib/chef/resource/selinux_permissive.rb +64 -0
- data/lib/chef/resource/selinux_port.rb +118 -0
- data/lib/chef/resource/selinux_state.rb +166 -0
- data/lib/chef/resource/service.rb +0 -1
- data/lib/chef/resource/smartos_package.rb +2 -1
- data/lib/chef/resource/snap_package.rb +2 -1
- data/lib/chef/resource/solaris_package.rb +2 -1
- data/lib/chef/resource/ssh_known_hosts_entry.rb +0 -1
- data/lib/chef/resource/sudo.rb +0 -1
- data/lib/chef/resource/support/client.erb +2 -2
- data/lib/chef/resource/swap_file.rb +0 -1
- data/lib/chef/resource/sysctl.rb +1 -2
- data/lib/chef/resource/systemd_unit.rb +0 -1
- data/lib/chef/resource/template.rb +0 -1
- data/lib/chef/resource/timezone.rb +0 -1
- data/lib/chef/resource/user/aix_user.rb +0 -1
- data/lib/chef/resource/user/linux_user.rb +0 -1
- data/lib/chef/resource/user/mac_user.rb +0 -1
- data/lib/chef/resource/user/pw_user.rb +0 -1
- data/lib/chef/resource/user/solaris_user.rb +0 -1
- data/lib/chef/resource/user/windows_user.rb +0 -1
- data/lib/chef/resource/user.rb +10 -1
- data/lib/chef/resource/user_ulimit.rb +0 -1
- data/lib/chef/resource/whyrun_safe_ruby_block.rb +0 -1
- data/lib/chef/resource/windows_ad_join.rb +0 -2
- data/lib/chef/resource/windows_audit_policy.rb +0 -2
- data/lib/chef/resource/windows_auto_run.rb +0 -1
- data/lib/chef/resource/windows_defender.rb +0 -1
- data/lib/chef/resource/windows_defender_exclusion.rb +0 -1
- data/lib/chef/resource/windows_dfs_folder.rb +0 -1
- data/lib/chef/resource/windows_dfs_namespace.rb +0 -1
- data/lib/chef/resource/windows_dfs_server.rb +0 -1
- data/lib/chef/resource/windows_dns_record.rb +0 -1
- data/lib/chef/resource/windows_dns_zone.rb +0 -1
- data/lib/chef/resource/windows_env.rb +0 -1
- data/lib/chef/resource/windows_feature.rb +0 -1
- data/lib/chef/resource/windows_feature_dism.rb +0 -1
- data/lib/chef/resource/windows_feature_powershell.rb +0 -1
- data/lib/chef/resource/windows_firewall_profile.rb +0 -2
- data/lib/chef/resource/windows_firewall_rule.rb +0 -1
- data/lib/chef/resource/windows_font.rb +2 -3
- data/lib/chef/resource/windows_package.rb +3 -4
- data/lib/chef/resource/windows_pagefile.rb +0 -2
- data/lib/chef/resource/windows_path.rb +0 -1
- data/lib/chef/resource/windows_printer.rb +0 -1
- data/lib/chef/resource/windows_printer_port.rb +0 -1
- data/lib/chef/resource/windows_script.rb +0 -2
- data/lib/chef/resource/windows_security_policy.rb +0 -1
- data/lib/chef/resource/windows_service.rb +0 -1
- data/lib/chef/resource/windows_share.rb +0 -1
- data/lib/chef/resource/windows_shortcut.rb +1 -2
- data/lib/chef/resource/windows_task.rb +0 -1
- data/lib/chef/resource/windows_uac.rb +0 -1
- data/lib/chef/resource/windows_update_settings.rb +0 -1
- data/lib/chef/resource/windows_user_privilege.rb +0 -1
- data/lib/chef/resource/windows_workgroup.rb +0 -1
- data/lib/chef/resource/yum_package.rb +2 -1
- data/lib/chef/resource/yum_repository.rb +4 -1
- data/lib/chef/resource/zypper_package.rb +2 -1
- data/lib/chef/resource/zypper_repository.rb +0 -1
- data/lib/chef/resource.rb +12 -5
- data/lib/chef/resources.rb +7 -0
- data/lib/chef/run_context.rb +3 -3
- data/lib/chef/secret_fetcher/azure_key_vault.rb +3 -3
- data/lib/chef/version.rb +1 -1
- data/lib/chef/win32/handle.rb +6 -7
- data/lib/chef/win32/registry.rb +7 -3
- data/spec/data/chef_guid +1 -0
- data/spec/data/nodes/mcwfhpowell.json +3 -0
- data/spec/data/rubygems.org/sexp_processor-info +2 -1
- data/spec/data/trusted_certs/example.crt +20 -29
- data/spec/data/trusted_certs/example_no_cn.crt +34 -30
- data/spec/data/trusted_certs/opscode.pem +54 -33
- data/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz +0 -0
- data/spec/functional/assets/yumrepo-empty/repodata/repomd.xml +55 -0
- data/spec/functional/resource/chocolatey_package_spec.rb +20 -32
- data/spec/functional/resource/dsc_script_spec.rb +1 -1
- data/spec/functional/resource/group_spec.rb +10 -6
- data/spec/functional/resource/link_spec.rb +8 -8
- data/spec/functional/resource/macos_userdefaults_spec.rb +4 -4
- data/spec/functional/resource/plist_spec.rb +25 -0
- data/spec/functional/resource/user/linux_user_spec.rb +127 -0
- data/spec/functional/resource/windows_certificate_spec.rb +1 -26
- data/spec/functional/resource/windows_font_spec.rb +12 -9
- data/spec/functional/resource/yum_package_spec.rb +17 -1
- data/spec/functional/resource/zypper_package_spec.rb +12 -0
- data/spec/functional/shell_spec.rb +1 -2
- data/spec/functional/version_spec.rb +1 -1
- data/spec/integration/client/client_spec.rb +82 -3
- data/spec/integration/client/exit_code_spec.rb +1 -1
- data/spec/integration/client/fips_spec.rb +20 -0
- data/spec/integration/client/ipv6_spec.rb +1 -1
- data/spec/integration/compliance/compliance_spec.rb +1 -1
- data/spec/integration/recipes/accumulator_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_inline_resources_spec.rb +1 -1
- data/spec/integration/recipes/lwrp_spec.rb +1 -1
- data/spec/integration/recipes/notifies_spec.rb +1 -1
- data/spec/integration/recipes/notifying_block_spec.rb +1 -1
- data/spec/integration/recipes/remote_directory.rb +1 -1
- data/spec/integration/recipes/unified_mode_spec.rb +1 -1
- data/spec/integration/recipes/use_partial_spec.rb +2 -1
- data/spec/integration/solo/solo_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -0
- data/spec/support/platform_helpers.rb +8 -0
- data/spec/support/ruby_installer.rb +1 -1
- data/spec/support/shared/functional/windows_script.rb +2 -2
- data/spec/unit/application/client_spec.rb +0 -10
- data/spec/unit/chef_fs/file_system_spec.rb +2 -0
- data/spec/unit/client_spec.rb +57 -8
- data/spec/unit/compliance/reporter/chef_server_automate_spec.rb +1 -1
- data/spec/unit/cookbook/syntax_check_spec.rb +3 -0
- data/spec/unit/http/authenticator_spec.rb +68 -0
- data/spec/unit/mixin/powershell_exec_spec.rb +5 -5
- data/spec/unit/platform/query_helpers_spec.rb +2 -17
- data/spec/unit/property/validation_spec.rb +30 -0
- data/spec/unit/provider/cron_spec.rb +36 -0
- data/spec/unit/provider/http_request_spec.rb +60 -72
- data/spec/unit/provider/mount/linux_spec.rb +10 -0
- data/spec/unit/provider/package/chocolatey_spec.rb +3 -19
- data/spec/unit/provider/package/rubygems_spec.rb +1 -1
- data/spec/unit/provider/package/zypper_spec.rb +32 -0
- data/spec/unit/provider/user/linux_spec.rb +51 -11
- data/spec/unit/provider/user_spec.rb +24 -6
- data/spec/unit/resource/archive_file_spec.rb +1 -1
- data/spec/unit/resource/chef_client_cron_spec.rb +5 -0
- data/spec/unit/resource/chef_client_launchd_spec.rb +5 -0
- data/spec/unit/resource/chef_client_scheduled_task_spec.rb +5 -0
- data/spec/unit/resource/chef_client_systemd_timer_spec.rb +1 -1
- data/spec/unit/resource/cron_d_spec.rb +37 -1
- data/spec/unit/resource/macos_user_defaults_spec.rb +4 -4
- data/spec/unit/resource/rest_resource_spec.rb +381 -0
- data/spec/unit/resource/selinux_boolean_spec.rb +92 -0
- data/spec/unit/resource/selinux_fcontext_spec.rb +65 -0
- data/spec/unit/resource/selinux_install_spec.rb +60 -0
- data/spec/unit/resource/selinux_module_spec.rb +55 -0
- data/spec/unit/resource/selinux_permissive_spec.rb +39 -0
- data/spec/unit/resource/selinux_port_spec.rb +42 -0
- data/spec/unit/resource/selinux_state_spec.rb +46 -0
- data/spec/unit/resource/sysctl_spec.rb +2 -2
- data/spec/unit/resource/user/linux_user_spec.rb +42 -0
- data/spec/unit/resource/yum_repository_spec.rb +4 -0
- data/spec/unit/resource_spec.rb +0 -1
- data/spec/unit/util/dsc/local_configuration_manager_spec.rb +1 -1
- data/tasks/rspec.rb +1 -1
- metadata +107 -31
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.0.0.nupkg → test-A.1.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.1.5.0.nupkg → test-A.1.5.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-A.2.0.0.nupkg → test-A.2.0.nupkg} +0 -0
- /data/spec/functional/assets/chocolatey_feed/{test-B.1.0.0.nupkg → test-B.1.0.nupkg} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{01a3b-filelists.sqlite.bz2 → 4632d67cb92636e7575d911c24f0e04d3505a944e97c483abe0c3e73a7c62d33-filelists.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{6bf96-other.xml.gz → 74599b793e54d877323837d2d81a1c3c594c44e4335f9528234bb490f7b9b439-other.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{5dc1e-primary.sqlite.bz2 → a845d418f919d2115ab95a56b2c76f6825ad0d0bede49181a55c04f58995d057-primary.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{7c365-other.sqlite.bz2 → af9b7cf9ef23bd7b43068d74a460f3b5d06753d638e58e4a0c9edc35bfb9cdc4-other.sqlite.bz2} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{401dc-filelists.xml.gz → bdb4f5f1492a3b9532f22c43110a81500dd744f23da0aec5c33b2a41317c737d-filelists.xml.gz} +0 -0
- /data/spec/functional/assets/yumrepo/repodata/{dabe2-primary.xml.gz → c10d1d34ce99e02f12ec96ef68360543ab1bb7c3cb81a4a2bf78df7d8597e9df-primary.xml.gz} +0 -0
|
@@ -1,36 +1,57 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
|
-
|
|
2
|
+
MIIElDCCA3ygAwIBAgIQAf2j627KdciIQ4tyS8+8kTANBgkqhkiG9w0BAQsFADBh
|
|
3
3
|
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
4
|
+
d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
|
|
5
|
+
QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaME0xCzAJBgNVBAYTAlVT
|
|
6
|
+
MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJzAlBgNVBAMTHkRpZ2lDZXJ0IFNIQTIg
|
|
7
|
+
U2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
|
8
|
+
ANyuWJBNwcQwFZA1W248ghX1LFy949v/cUP6ZCWA1O4Yok3wZtAKc24RmDYXZK83
|
|
9
|
+
nf36QYSvx6+M/hpzTc8zl5CilodTgyu5pnVILR1WN3vaMTIa16yrBvSqXUu3R0bd
|
|
10
|
+
KpPDkC55gIDvEwRqFDu1m5K+wgdlTvza/P96rtxcflUxDOg5B6TXvi/TC2rSsd9f
|
|
11
|
+
/ld0Uzs1gN2ujkSYs58O09rg1/RrKatEp0tYhG2SS4HD2nOLEpdIkARFdRrdNzGX
|
|
12
|
+
kujNVA075ME/OV4uuPNcfhCOhkEAjUVmR7ChZc6gqikJTvOX6+guqw9ypzAO+sf0
|
|
13
|
+
/RR3w6RbKFfCs/mC/bdFWJsCAwEAAaOCAVowggFWMBIGA1UdEwEB/wQIMAYBAf8C
|
|
14
|
+
AQAwDgYDVR0PAQH/BAQDAgGGMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY
|
|
15
|
+
aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6
|
|
16
|
+
Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RDQS5jcmwwN6A1
|
|
17
|
+
oDOGMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RD
|
|
18
|
+
QS5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8v
|
|
19
|
+
d3d3LmRpZ2ljZXJ0LmNvbS9DUFMwHQYDVR0OBBYEFA+AYRyCMWHVLyjnjUY4tCzh
|
|
20
|
+
xtniMB8GA1UdIwQYMBaAFAPeUDVW0Uy7ZvCj4hsbw5eyPdFVMA0GCSqGSIb3DQEB
|
|
21
|
+
CwUAA4IBAQAjPt9L0jFCpbZ+QlwaRMxp0Wi0XUvgBCFsS+JtzLHgl4+mUwnNqipl
|
|
22
|
+
5TlPHoOlblyYoiQm5vuh7ZPHLgLGTUq/sELfeNqzqPlt/yGFUzZgTHbO7Djc1lGA
|
|
23
|
+
8MXW5dRNJ2Srm8c+cftIl7gzbckTB+6WohsYFfZcTEDts8Ls/3HB40f/1LkAtDdC
|
|
24
|
+
2iDJ6m6K7hQGrn2iWZiIqBtvLfTyyRRfJs8sjX7tN8Cp1Tm5gr8ZDOo0rwAhaPit
|
|
25
|
+
c+LJMto4JQtV05od8GiG7S5BNO98pVAdvzr508EIDObtHopYJeS4d60tbvVS3bR0
|
|
26
|
+
j6tJLp07kzQoH3jOlOrHvdPJbRzeXDLz
|
|
27
|
+
-----END CERTIFICATE-----
|
|
28
|
+
-----BEGIN CERTIFICATE-----
|
|
29
|
+
MIIFDTCCA/WgAwIBAgIQBZ8R1sZP2Lbc8x554UUQ2DANBgkqhkiG9w0BAQsFADBN
|
|
30
|
+
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
|
|
31
|
+
aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTQxMTEwMDAwMDAwWhcN
|
|
32
|
+
MTcxMTE0MTIwMDAwWjBlMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
|
|
33
|
+
bjEQMA4GA1UEBxMHU2VhdHRsZTEbMBkGA1UEChMSQ2hlZiBTb2Z0d2FyZSwgSW5j
|
|
34
|
+
MRIwEAYDVQQDDAkqLmNoZWYuaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
35
|
+
AoIBAQC3xCIczkV10O5jTDpbd4YlPLC6kfnVoOkno2N/OOlcLQu3ulj/Lj1j4r6e
|
|
36
|
+
2XthJLcFgTO+y+1/IKnnpLKDfkx1YngWEBXEBP+MrrpDUKKs053s45/bI9QBPISA
|
|
37
|
+
tXgnYxMH9Glo6FWWd13TUq++OKGw1p1wazH64XK4MAf5y/lkmWXIWumNuO35ZqtB
|
|
38
|
+
ME3wJISwVHzHB2CQjlDklt+Mb0APEiIFIZflgu9JNBYzLdvUtxiz15FUZQI7SsYL
|
|
39
|
+
TfXOD1KBNMWqN8snG2e5gRAzB2D161DFvAZt8OiYUe+3QurNlTYVzeHv1ok6UqgM
|
|
40
|
+
ZcLzg8m801rRip0D7FCGvMCU/ktdAgMBAAGjggHPMIIByzAfBgNVHSMEGDAWgBQP
|
|
41
|
+
gGEcgjFh1S8o541GOLQs4cbZ4jAdBgNVHQ4EFgQUwldjw4Pb4HV+wxGZ7MSSRh+d
|
|
42
|
+
pm4wHQYDVR0RBBYwFIIJKi5jaGVmLmlvggdjaGVmLmlvMA4GA1UdDwEB/wQEAwIF
|
|
43
|
+
oDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwawYDVR0fBGQwYjAvoC2g
|
|
44
|
+
K4YpaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL3NzY2Etc2hhMi1nMy5jcmwwL6At
|
|
45
|
+
oCuGKWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9zc2NhLXNoYTItZzMuY3JsMEIG
|
|
46
|
+
A1UdIAQ7MDkwNwYJYIZIAYb9bAEBMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3
|
|
47
|
+
LmRpZ2ljZXJ0LmNvbS9DUFMwfAYIKwYBBQUHAQEEcDBuMCQGCCsGAQUFBzABhhho
|
|
48
|
+
dHRwOi8vb2NzcC5kaWdpY2VydC5jb20wRgYIKwYBBQUHMAKGOmh0dHA6Ly9jYWNl
|
|
49
|
+
cnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJTZWN1cmVTZXJ2ZXJDQS5jcnQw
|
|
50
|
+
DAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAvcTWenNuvvrhX2omm8LQ
|
|
51
|
+
zWOuu8jqpoflACwD4lOSZ4TgOe4pQGCjXq8aRBD5k+goqQrPVf9lHnelUHFQac0Q
|
|
52
|
+
5WT4YUmisUbF0S4uY5OGQymM52MvUWG4ODL4gaWhFvN+HAXrDPP/9iitsjV0QOnl
|
|
53
|
+
CDq7Q4/XYRYW3opu5nLLbfW6v4QvF5yzZagEACGs7Vt32p6l391UcU8f6wiB3uMD
|
|
54
|
+
eioCvjpv/+2YOUNlDPCM3uBubjUhHOwO817wBxXkzdk1OSRe4jzcw/uX6wL7birt
|
|
55
|
+
fbaSkpilvVX529pSzB2Lvi9xWOoGMM578dpQ0h3PwhmmvKhhCWP+pI05k3oSkYCP
|
|
56
|
+
ng==
|
|
36
57
|
-----END CERTIFICATE-----
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm">
|
|
3
|
+
<revision>1667508211</revision>
|
|
4
|
+
<data type="filelists">
|
|
5
|
+
<checksum type="sha256">401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93</checksum>
|
|
6
|
+
<open-checksum type="sha256">bf9808b81cb2dbc54b4b8e35adc584ddcaa73bd81f7088d73bf7dbbada961310</open-checksum>
|
|
7
|
+
<location href="repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz"/>
|
|
8
|
+
<timestamp>1667508211</timestamp>
|
|
9
|
+
<size>123</size>
|
|
10
|
+
<open-size>125</open-size>
|
|
11
|
+
</data>
|
|
12
|
+
<data type="primary">
|
|
13
|
+
<checksum type="sha256">dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9</checksum>
|
|
14
|
+
<open-checksum type="sha256">e1e2ffd2fb1ee76f87b70750d00ca5677a252b397ab6c2389137a0c33e7b359f</open-checksum>
|
|
15
|
+
<location href="repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz"/>
|
|
16
|
+
<timestamp>1667508211</timestamp>
|
|
17
|
+
<size>134</size>
|
|
18
|
+
<open-size>167</open-size>
|
|
19
|
+
</data>
|
|
20
|
+
<data type="primary_db">
|
|
21
|
+
<checksum type="sha256">5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945</checksum>
|
|
22
|
+
<open-checksum type="sha256">f0d550414e8f2e960e82e704549364299ca9e3e8664ad4faffd208262c3b6d12</open-checksum>
|
|
23
|
+
<location href="repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2"/>
|
|
24
|
+
<timestamp>1667508211</timestamp>
|
|
25
|
+
<database_version>10</database_version>
|
|
26
|
+
<size>1131</size>
|
|
27
|
+
<open-size>21504</open-size>
|
|
28
|
+
</data>
|
|
29
|
+
<data type="other_db">
|
|
30
|
+
<checksum type="sha256">7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4</checksum>
|
|
31
|
+
<open-checksum type="sha256">4de0fe7c5dd2674849a7c63c326e42f33af0a0f46219bc6dd59f51dfa2ac8c68</open-checksum>
|
|
32
|
+
<location href="repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2"/>
|
|
33
|
+
<timestamp>1667508211</timestamp>
|
|
34
|
+
<database_version>10</database_version>
|
|
35
|
+
<size>575</size>
|
|
36
|
+
<open-size>6144</open-size>
|
|
37
|
+
</data>
|
|
38
|
+
<data type="other">
|
|
39
|
+
<checksum type="sha256">6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670</checksum>
|
|
40
|
+
<open-checksum type="sha256">e0ed5e0054194df036cf09c1a911e15bf2a4e7f26f2a788b6f47d53e80717ccc</open-checksum>
|
|
41
|
+
<location href="repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz"/>
|
|
42
|
+
<timestamp>1667508211</timestamp>
|
|
43
|
+
<size>123</size>
|
|
44
|
+
<open-size>121</open-size>
|
|
45
|
+
</data>
|
|
46
|
+
<data type="filelists_db">
|
|
47
|
+
<checksum type="sha256">01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523</checksum>
|
|
48
|
+
<open-checksum type="sha256">c4211f57bdcbb142c9f93a6d32401539f775eb6a670ab7a423e13f435ce94689</open-checksum>
|
|
49
|
+
<location href="repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2"/>
|
|
50
|
+
<timestamp>1667508211</timestamp>
|
|
51
|
+
<database_version>10</database_version>
|
|
52
|
+
<size>586</size>
|
|
53
|
+
<open-size>7168</open-size>
|
|
54
|
+
</data>
|
|
55
|
+
</repomd>
|
|
@@ -22,16 +22,8 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
22
22
|
include Chef::Mixin::ShellOut
|
|
23
23
|
|
|
24
24
|
let(:package_name) { "test-A" }
|
|
25
|
+
let(:package_list) { proc { shell_out!("choco list -lo -r #{Array(package_name).join(" ")}").stdout.chomp } }
|
|
25
26
|
let(:package_source) { File.join(CHEF_SPEC_ASSETS, "chocolatey_feed") }
|
|
26
|
-
let(:package_list) do
|
|
27
|
-
if Chef::Provider::Package::Chocolatey.query_command == "list"
|
|
28
|
-
# using result of query_command because that indicates which "search" command to use
|
|
29
|
-
# which coincides with the package list output
|
|
30
|
-
proc { shell_out!("choco search -lo #{Array(package_name).join(" ")}").stdout.chomp }
|
|
31
|
-
else
|
|
32
|
-
proc { shell_out!("choco list #{Array(package_name).join(" ")}").stdout.chomp }
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
27
|
|
|
36
28
|
let(:run_context) do
|
|
37
29
|
Chef::RunContext.new(Chef::Node.new, {}, Chef::EventDispatch::Dispatcher.new)
|
|
@@ -62,16 +54,12 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
62
54
|
ENV["Path"] = ENV.delete("Path")
|
|
63
55
|
end
|
|
64
56
|
|
|
65
|
-
after(:each) do
|
|
66
|
-
described_class.instance_variable_set(:@get_choco_version, nil)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
57
|
context "installing a package" do
|
|
70
58
|
after { remove_package }
|
|
71
59
|
|
|
72
60
|
it "installs the latest version" do
|
|
73
61
|
subject.run_action(:install)
|
|
74
|
-
expect(package_list.call).to
|
|
62
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
75
63
|
end
|
|
76
64
|
|
|
77
65
|
it "does not install if already installed" do
|
|
@@ -81,19 +69,19 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
81
69
|
end
|
|
82
70
|
|
|
83
71
|
it "installs version given" do
|
|
84
|
-
subject.version "1.0
|
|
72
|
+
subject.version "1.0"
|
|
85
73
|
subject.run_action(:install)
|
|
86
|
-
expect(package_list.call).to
|
|
74
|
+
expect(package_list.call).to eq("#{package_name}|1.0")
|
|
87
75
|
end
|
|
88
76
|
|
|
89
77
|
it "installs new version if one is already installed" do
|
|
90
|
-
subject.version "1.0
|
|
78
|
+
subject.version "1.0"
|
|
91
79
|
subject.run_action(:install)
|
|
92
|
-
expect(package_list.call).to
|
|
80
|
+
expect(package_list.call).to eq("#{package_name}|1.0")
|
|
93
81
|
|
|
94
|
-
subject.version "2.0
|
|
82
|
+
subject.version "2.0"
|
|
95
83
|
subject.run_action(:install)
|
|
96
|
-
expect(package_list.call).to
|
|
84
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
97
85
|
end
|
|
98
86
|
|
|
99
87
|
context "installing multiple packages" do
|
|
@@ -101,7 +89,7 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
101
89
|
|
|
102
90
|
it "installs both packages" do
|
|
103
91
|
subject.run_action(:install)
|
|
104
|
-
expect(package_list.call).to
|
|
92
|
+
expect(package_list.call).to eq("test-A|2.0\r\ntest-B|1.0")
|
|
105
93
|
end
|
|
106
94
|
end
|
|
107
95
|
|
|
@@ -113,13 +101,13 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
113
101
|
it "installs with an option as a string" do
|
|
114
102
|
subject.options "--force --confirm"
|
|
115
103
|
subject.run_action(:install)
|
|
116
|
-
expect(package_list.call).to
|
|
104
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
117
105
|
end
|
|
118
106
|
|
|
119
107
|
it "installs with multiple options as a string" do
|
|
120
108
|
subject.options "--force --confirm"
|
|
121
109
|
subject.run_action(:install)
|
|
122
|
-
expect(package_list.call).to
|
|
110
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
123
111
|
end
|
|
124
112
|
|
|
125
113
|
context "when multiple options passed as string" do
|
|
@@ -149,7 +137,7 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
149
137
|
it "installs with multiple options as an array" do
|
|
150
138
|
subject.options [ "--force", "--confirm" ]
|
|
151
139
|
subject.run_action(:install)
|
|
152
|
-
expect(package_list.call).to
|
|
140
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
153
141
|
end
|
|
154
142
|
end
|
|
155
143
|
|
|
@@ -157,24 +145,24 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
157
145
|
after { remove_package }
|
|
158
146
|
|
|
159
147
|
it "upgrades to a specific version" do
|
|
160
|
-
subject.version "1.0
|
|
148
|
+
subject.version "1.0"
|
|
161
149
|
subject.run_action(:install)
|
|
162
|
-
expect(package_list.call).to
|
|
150
|
+
expect(package_list.call).to eq("#{package_name}|1.0")
|
|
163
151
|
|
|
164
|
-
subject.version "1.5
|
|
152
|
+
subject.version "1.5"
|
|
165
153
|
subject.run_action(:upgrade)
|
|
166
|
-
expect(package_list.call).to
|
|
154
|
+
expect(package_list.call).to eq("#{package_name}|1.5")
|
|
167
155
|
end
|
|
168
156
|
|
|
169
157
|
it "upgrades to the latest version if no version given" do
|
|
170
|
-
subject.version "1.0
|
|
158
|
+
subject.version "1.0"
|
|
171
159
|
subject.run_action(:install)
|
|
172
|
-
expect(package_list.call).to
|
|
160
|
+
expect(package_list.call).to eq("#{package_name}|1.0")
|
|
173
161
|
|
|
174
162
|
subject2 = Chef::Resource::ChocolateyPackage.new("test-A", run_context)
|
|
175
163
|
subject2.source package_source
|
|
176
164
|
subject2.run_action(:upgrade)
|
|
177
|
-
expect(package_list.call).to
|
|
165
|
+
expect(package_list.call).to eq("#{package_name}|2.0")
|
|
178
166
|
end
|
|
179
167
|
end
|
|
180
168
|
|
|
@@ -182,7 +170,7 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do
|
|
|
182
170
|
it "removes an installed package" do
|
|
183
171
|
subject.run_action(:install)
|
|
184
172
|
remove_package
|
|
185
|
-
expect(package_list.call).to
|
|
173
|
+
expect(package_list.call).to eq("")
|
|
186
174
|
end
|
|
187
175
|
end
|
|
188
176
|
|
|
@@ -263,7 +263,7 @@ describe Chef::Resource::DscScript, :windows_powershell_dsc_only, :ruby64_only d
|
|
|
263
263
|
dsc_test_resource.cwd(dsc_environment_fail_etc_directory)
|
|
264
264
|
expect {
|
|
265
265
|
dsc_test_resource.run_action(:run)
|
|
266
|
-
}.to raise_error(
|
|
266
|
+
}.to raise_error(ChefPowerShell::PowerShellExceptions::PowerShellCommandFailed, /#{exception_message_signature}/)
|
|
267
267
|
end
|
|
268
268
|
end
|
|
269
269
|
end
|
|
@@ -44,10 +44,10 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
|
|
|
44
44
|
members.shift # Get rid of GroupMembership: string
|
|
45
45
|
members.include?(user)
|
|
46
46
|
else
|
|
47
|
-
#
|
|
48
|
-
# Adding a
|
|
49
|
-
#
|
|
50
|
-
sleep
|
|
47
|
+
# NOTE: For some reason our temporary AIX 7.x systems do not correctly report group membership immediately after changes have been made.
|
|
48
|
+
# Adding a delay for this platform is enough to get correct results.
|
|
49
|
+
# reference: https://github.com/chef/release-engineering/issues/1617
|
|
50
|
+
sleep 3 if aix?
|
|
51
51
|
Etc.getgrnam(group_name).mem.include?(user)
|
|
52
52
|
end
|
|
53
53
|
end
|
|
@@ -133,6 +133,10 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
|
|
|
133
133
|
temp_resource.append(true)
|
|
134
134
|
temp_resource.run_action(:modify)
|
|
135
135
|
members.each do |member|
|
|
136
|
+
# NOTE For some reason our temporary AIX 7.x systems do not correctly report group membership immediately after changes have been made.
|
|
137
|
+
# Adding a delay for this platform is enough to get correct results.
|
|
138
|
+
# reference: https://github.com/chef/release-engineering/issues/1617
|
|
139
|
+
sleep 3 if aix?
|
|
136
140
|
expect(user_exist_in_group?(member)).to eq(true)
|
|
137
141
|
end
|
|
138
142
|
end
|
|
@@ -425,7 +429,7 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
|
|
|
425
429
|
end
|
|
426
430
|
end
|
|
427
431
|
|
|
428
|
-
describe "when there is a group" do
|
|
432
|
+
describe "when there is a group", :not_supported_on_freebsd_gte_12_3 do
|
|
429
433
|
it_behaves_like "correct group management"
|
|
430
434
|
end
|
|
431
435
|
|
|
@@ -463,7 +467,7 @@ describe Chef::Resource::Group, :requires_root_or_running_windows do
|
|
|
463
467
|
end
|
|
464
468
|
end
|
|
465
469
|
|
|
466
|
-
describe "when there is a group" do
|
|
470
|
+
describe "when there is a group", :not_supported_on_freebsd_gte_12_3 do
|
|
467
471
|
it_behaves_like "correct group management"
|
|
468
472
|
end
|
|
469
473
|
|
|
@@ -345,17 +345,17 @@ describe Chef::Resource::Link do
|
|
|
345
345
|
let(:test_user) { "test-link-user" }
|
|
346
346
|
before do
|
|
347
347
|
user(test_user).run_action(:create)
|
|
348
|
-
#
|
|
349
|
-
# Adding a
|
|
350
|
-
#
|
|
351
|
-
sleep
|
|
348
|
+
# NOTE: For some reason our temporary AIX 7.x systems do not correctly report user existence immediately after changes have been made.
|
|
349
|
+
# Adding a delay for this platform is enough to get correct results.
|
|
350
|
+
# reference: https://github.com/chef/release-engineering/issues/1617
|
|
351
|
+
sleep 3 if aix?
|
|
352
352
|
end
|
|
353
353
|
after do
|
|
354
354
|
user(test_user).run_action(:remove)
|
|
355
|
-
# TODO For some reason our temporary AIX 7.
|
|
356
|
-
# Adding a
|
|
357
|
-
#
|
|
358
|
-
sleep
|
|
355
|
+
# TODO For some reason our temporary AIX 7.x systems do not correctly report user existence immediately after changes have been made.
|
|
356
|
+
# Adding a delay for this platform is enough to get correct results.
|
|
357
|
+
# reference: https://github.com/chef/release-engineering/issues/1617
|
|
358
|
+
sleep 3 if aix?
|
|
359
359
|
end
|
|
360
360
|
before(:each) do
|
|
361
361
|
resource.owner(test_user)
|
|
@@ -38,12 +38,12 @@ describe Chef::Resource::MacosUserDefaults, :macos_only do
|
|
|
38
38
|
expect(resource.domain).to eq("NSGlobalDomain")
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
-
it "
|
|
42
|
-
expect(resource.host).to
|
|
41
|
+
it "nil for the host property" do
|
|
42
|
+
expect(resource.host).to be_nil
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
it "
|
|
46
|
-
expect(resource.user).to
|
|
45
|
+
it "nil for the user property" do
|
|
46
|
+
expect(resource.user).to be_nil
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
it ":write for resource action" do
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require "spec_helper"
|
|
2
|
+
require "plist"
|
|
3
|
+
|
|
4
|
+
describe Chef::Resource::PlistResource, :macos_only, requires_root: true do
|
|
5
|
+
include RecipeDSLHelper
|
|
6
|
+
|
|
7
|
+
let(:global_prefs) do
|
|
8
|
+
File.join(Dir.mktmpdir, ".GlobalPreferences.plist")
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
before(:each) do
|
|
12
|
+
FileUtils.rm_f global_prefs
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
context "make Monday the first DOW" do
|
|
16
|
+
it "creates a new plist with a hash value" do
|
|
17
|
+
plist global_prefs do
|
|
18
|
+
entry "AppleFirstWeekday"
|
|
19
|
+
value(gregorian: 4)
|
|
20
|
+
end
|
|
21
|
+
expect(File.exist?(global_prefs))
|
|
22
|
+
expect(shell_out!("/usr/libexec/PlistBuddy -c 'Print :\"AppleFirstWeekday\":gregorian' \"#{global_prefs}\"").stdout.to_i).to eq(4)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright:: Copyright (c) Chef Software Inc.
|
|
3
|
+
# License:: Apache License, Version 2.0
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
require "spec_helper"
|
|
19
|
+
require "chef/mixin/shell_out"
|
|
20
|
+
|
|
21
|
+
metadata = {
|
|
22
|
+
requires_root: true,
|
|
23
|
+
linux_only: true,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
describe "Chef::Resource::User with Chef::Provider::User::LinuxUser provider", metadata do
|
|
27
|
+
include Chef::Mixin::ShellOut
|
|
28
|
+
|
|
29
|
+
def clean_user
|
|
30
|
+
shell_out!("/usr/sbin/userdel #{username}")
|
|
31
|
+
rescue Mixlib::ShellOut::ShellCommandFailed
|
|
32
|
+
# Raised when the user is already cleaned
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def ensure_file_cache_path_exists
|
|
36
|
+
path = Chef::Config["file_cache_path"]
|
|
37
|
+
FileUtils.mkdir_p(path) unless File.directory?(path)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def user_should_exist
|
|
41
|
+
expect(shell_out("grep -q #{username} /etc/passwd").error?).to be(false)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def check_password(pass, user)
|
|
45
|
+
expect(shell_out("grep ^#{user}: /etc/shadow | cut -d: -f2 | grep ^#{pass}$").exitstatus).to eq(0)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
let(:node) do
|
|
49
|
+
n = Chef::Node.new
|
|
50
|
+
n.consume_external_attrs(OHAI_SYSTEM.data.dup, {})
|
|
51
|
+
n
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
let(:events) do
|
|
55
|
+
Chef::EventDispatch::Dispatcher.new
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
let(:run_context) do
|
|
59
|
+
Chef::RunContext.new(node, {}, events)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
let(:username) do
|
|
63
|
+
"greatchef"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
let(:uid) { nil }
|
|
67
|
+
let(:gid) do
|
|
68
|
+
# SLES 15 doesn't have the "20" group and
|
|
69
|
+
# so lets just pick the last group... no,
|
|
70
|
+
# Etc.group.map(&:gid).last does not work
|
|
71
|
+
Etc.enum_for(:group).map(&:gid).last
|
|
72
|
+
end
|
|
73
|
+
let(:home) { nil }
|
|
74
|
+
let(:manage_home) { false }
|
|
75
|
+
let(:password) { "XXXYYYZZZ" }
|
|
76
|
+
let(:comment) { "Great Chef" }
|
|
77
|
+
let(:shell) { "/bin/bash" }
|
|
78
|
+
let(:salt) { nil }
|
|
79
|
+
|
|
80
|
+
let(:user_resource) do
|
|
81
|
+
r = Chef::Resource::User::LinuxUser.new("TEST USER RESOURCE", run_context)
|
|
82
|
+
r.username(username)
|
|
83
|
+
r.uid(uid)
|
|
84
|
+
r.gid(gid)
|
|
85
|
+
|
|
86
|
+
r.home(home)
|
|
87
|
+
r.shell(shell)
|
|
88
|
+
r.comment(comment)
|
|
89
|
+
r.manage_home(manage_home)
|
|
90
|
+
r.password(password)
|
|
91
|
+
r.salt(salt)
|
|
92
|
+
r
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
before do
|
|
96
|
+
clean_user
|
|
97
|
+
ensure_file_cache_path_exists
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
after(:each) do
|
|
101
|
+
clean_user
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
describe "action :create" do
|
|
105
|
+
it "should create the user" do
|
|
106
|
+
user_resource.run_action(:create)
|
|
107
|
+
user_should_exist
|
|
108
|
+
check_password(password, username)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
describe "when user exists" do
|
|
113
|
+
before do
|
|
114
|
+
existing_resource = user_resource.dup
|
|
115
|
+
existing_resource.run_action(:create)
|
|
116
|
+
user_should_exist
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
describe "when password is updated" do
|
|
120
|
+
it "should update the password of the user" do
|
|
121
|
+
user_resource.password("mykitchen")
|
|
122
|
+
user_resource.run_action(:create)
|
|
123
|
+
check_password("mykitchen", username)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -56,34 +56,10 @@ describe Chef::Resource::WindowsCertificate, :windows_only do
|
|
|
56
56
|
let(:store) { "Chef-Functional-Test" }
|
|
57
57
|
let(:store_name) { "MY" }
|
|
58
58
|
let(:store_location) { "LocalMachine" }
|
|
59
|
-
let(:
|
|
60
|
-
<<~CERT
|
|
61
|
-
-----BEGIN CERTIFICATE-----
|
|
62
|
-
MIIDQTCCAimgAwIBAgIQX3zqNCJbsKlEvzCz3Z9aNDANBgkqhkiG9w0BAQsFADAh
|
|
63
|
-
MR8wHQYDVQQDDBZ3d3cuZHVtbXljaGVmdGVzdHMuY29tMCAXDTIwMDMwNTEwMjcw
|
|
64
|
-
NVoYDzIxMjAwMzA1MTAzNzA2WjAhMR8wHQYDVQQDDBZ3d3cuZHVtbXljaGVmdGVz
|
|
65
|
-
dHMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtuYKDb6woWIH
|
|
66
|
-
HPPOrcVpgJFVxbkjgk+tsYwbIiqR9jtRaKE6nM/awOgn9/dFF4k8KB8Em0sUx7Vq
|
|
67
|
-
J3YhK2N2cAacgP2Frqqf5znpNBBOg968RoZzGx0EiXFvLsqC4y8ggApWTbMXPRk4
|
|
68
|
-
1a7GlpUpSqI3y5cLeEbzwGQKu8I1I+v7P2fTlnJPHarM7sBbL8bieukkFHYu78iV
|
|
69
|
-
u1wpKOCCfs5DTmJu8WN+z1Mar9vyrWMBlt2wBBgNHPz5mcXUzJHTzaI/D9RGgBgF
|
|
70
|
-
V0IkNqISx/IzR62jjj2g6MgTH4G/0mM6O5sxduM4yGmWZNZpVzh0yMLgH619MZlj
|
|
71
|
-
SMQIN3U/SQIDAQABo3MwcTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYB
|
|
72
|
-
BQUHAwIGCCsGAQUFBwMBMCEGA1UdEQQaMBiCFnd3dy5kdW1teWNoZWZ0ZXN0cy5j
|
|
73
|
-
b20wHQYDVR0OBBYEFHwS3gs03m6RcpR+66u4OqGiZdYnMA0GCSqGSIb3DQEBCwUA
|
|
74
|
-
A4IBAQCFHqMjHUfBZahIsKHQIcFCbC1NFh1ZHlJKZzrRBRwRzX19OttHGMyLpDd6
|
|
75
|
-
tM9Ac6LLR8S4QIWg+HF3IrkN+vfTRDZAccj+tIwBRstmdsEz/rAJ79Vb/00mXZQx
|
|
76
|
-
0FPiBDR3hE7On2oo24DU8kJP3v6TrunwtIomVGqrrkwZzvxqyW+WJMB2shGNFw5J
|
|
77
|
-
mKYBiiXsHl4Bi7V4zhXssrLp877sqpNLeXloXBmAlT39SwQTP9ImZaV5R6udqlvo
|
|
78
|
-
Gfgm5PH/WeK6MV3n5ik0v1rS0LwR2o82WlIB6a4iSEbzY3qSLsWOwt8o5QjAVzCR
|
|
79
|
-
tNdbdS3U8nrG73iA2clmF57ARQWC
|
|
80
|
-
-----END CERTIFICATE-----
|
|
81
|
-
CERT
|
|
82
|
-
end
|
|
59
|
+
let(:download_cert_url) { "https://testingchef.blob.core.windows.net/files/test.cer" }
|
|
83
60
|
let(:cert_output_path) { ::File.join(Chef::Config[:file_cache_path], "output.cer") }
|
|
84
61
|
let(:pfx_output_path) { ::File.join(Chef::Config[:file_cache_path], "output.pfx") }
|
|
85
62
|
let(:key_output_path) { ::File.join(Chef::Config[:file_cache_path], "output.key") }
|
|
86
|
-
let(:download_cert_url) { "https://testingchef.blob.core.windows.net/files/test.cer" }
|
|
87
63
|
let(:cer_path) { File.join(CHEF_SPEC_DATA, "windows_certificates", "test.cer") }
|
|
88
64
|
let(:base64_path) { File.join(CHEF_SPEC_DATA, "windows_certificates", "base64_test.cer") }
|
|
89
65
|
let(:pem_path) { File.join(CHEF_SPEC_DATA, "windows_certificates", "test.pem") }
|
|
@@ -152,7 +128,6 @@ tNdbdS3U8nrG73iA2clmF57ARQWC
|
|
|
152
128
|
end
|
|
153
129
|
|
|
154
130
|
it "can add a certificate from a valid url" do
|
|
155
|
-
stub_request(:get, download_cert_url).to_return(body: test_cert_body)
|
|
156
131
|
resource.source = download_cert_url
|
|
157
132
|
resource.run_action(:create)
|
|
158
133
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
require "spec_helper"
|
|
20
20
|
|
|
21
|
-
describe Chef::Resource::WindowsFont, :windows_only
|
|
21
|
+
describe Chef::Resource::WindowsFont, :windows_only do
|
|
22
22
|
let(:resource_name) { "Playmaker.ttf" }
|
|
23
23
|
let(:resource_source) { "https://www.wfonts.com/download/data/2020/05/06/playmaker/Playmaker.ttf" }
|
|
24
24
|
|
|
@@ -37,13 +37,16 @@ describe Chef::Resource::WindowsFont, :windows_only, :broken do # these tests ha
|
|
|
37
37
|
resource
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
expect(subject).to be_updated_by_last_action
|
|
43
|
-
end
|
|
40
|
+
## these were commented out because testing hangs in the verify pipeline with them enabled. WEIRD
|
|
41
|
+
## that needs to be addressed
|
|
44
42
|
|
|
45
|
-
it "
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
end
|
|
43
|
+
# it "installs font on first install" do
|
|
44
|
+
# subject.run_action(:install)
|
|
45
|
+
# expect(subject).to be_updated_by_last_action
|
|
46
|
+
# end
|
|
47
|
+
|
|
48
|
+
# it "does not install font when already installed" do
|
|
49
|
+
# subject.run_action(:install)
|
|
50
|
+
# expect(subject).not_to be_updated_by_last_action
|
|
51
|
+
# end
|
|
49
52
|
end
|