diff options
author | Davi Arnaut <davi@verdesmares.com> | 2022-12-13 12:21:02 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-13 15:21:02 -0500 |
commit | 9b1ef8c55c33e4200523b53d997b989dbfdef2aa (patch) | |
tree | 394d53a6424d47cd42a5648a7ebd86c288be75f6 /spec | |
parent | 62a9952f14b049b6af15efcb0789eeb15bb6455c (diff) | |
download | chef-9b1ef8c55c33e4200523b53d997b989dbfdef2aa.tar.gz |
Fix indentation of condition for disabling repos (#13327)
* Fix indentation of condition for disabling repos
The helper was only disabling repos if the disable action appeared
last in the repos array. This was also hiding a problem where the
helper failed to re-enable repos when all repos are disabled using
a wildcard (e.g. "*").
Signed-off-by: Davi Arnaut <davi@verdesmares.com>
Diffstat (limited to 'spec')
8 files changed, 71 insertions, 0 deletions
diff --git a/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 b/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 Binary files differnew file mode 100644 index 0000000000..edcae3c3f9 --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2 diff --git a/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz Binary files differnew file mode 100644 index 0000000000..995719dbc2 --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz diff --git a/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 b/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 Binary files differnew file mode 100644 index 0000000000..251c6599ee --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 diff --git a/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz Binary files differnew file mode 100644 index 0000000000..d44692a8d7 --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz diff --git a/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 b/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 Binary files differnew file mode 100644 index 0000000000..7af62d2fbc --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 diff --git a/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz Binary files differnew file mode 100644 index 0000000000..2e5f2cf57e --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz diff --git a/spec/functional/assets/yumrepo-empty/repodata/repomd.xml b/spec/functional/assets/yumrepo-empty/repodata/repomd.xml new file mode 100644 index 0000000000..06e1254795 --- /dev/null +++ b/spec/functional/assets/yumrepo-empty/repodata/repomd.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<repomd xmlns="http://linux.duke.edu/metadata/repo" xmlns:rpm="http://linux.duke.edu/metadata/rpm"> + <revision>1667508211</revision> +<data type="filelists"> + <checksum type="sha256">401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93</checksum> + <open-checksum type="sha256">bf9808b81cb2dbc54b4b8e35adc584ddcaa73bd81f7088d73bf7dbbada961310</open-checksum> + <location href="repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz"/> + <timestamp>1667508211</timestamp> + <size>123</size> + <open-size>125</open-size> +</data> +<data type="primary"> + <checksum type="sha256">dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9</checksum> + <open-checksum type="sha256">e1e2ffd2fb1ee76f87b70750d00ca5677a252b397ab6c2389137a0c33e7b359f</open-checksum> + <location href="repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz"/> + <timestamp>1667508211</timestamp> + <size>134</size> + <open-size>167</open-size> +</data> +<data type="primary_db"> + <checksum type="sha256">5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945</checksum> + <open-checksum type="sha256">f0d550414e8f2e960e82e704549364299ca9e3e8664ad4faffd208262c3b6d12</open-checksum> + <location href="repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2"/> + <timestamp>1667508211</timestamp> + <database_version>10</database_version> + <size>1131</size> + <open-size>21504</open-size> +</data> +<data type="other_db"> + <checksum type="sha256">7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4</checksum> + <open-checksum type="sha256">4de0fe7c5dd2674849a7c63c326e42f33af0a0f46219bc6dd59f51dfa2ac8c68</open-checksum> + <location href="repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2"/> + <timestamp>1667508211</timestamp> + <database_version>10</database_version> + <size>575</size> + <open-size>6144</open-size> +</data> +<data type="other"> + <checksum type="sha256">6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670</checksum> + <open-checksum type="sha256">e0ed5e0054194df036cf09c1a911e15bf2a4e7f26f2a788b6f47d53e80717ccc</open-checksum> + <location href="repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz"/> + <timestamp>1667508211</timestamp> + <size>123</size> + <open-size>121</open-size> +</data> +<data type="filelists_db"> + <checksum type="sha256">01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523</checksum> + <open-checksum type="sha256">c4211f57bdcbb142c9f93a6d32401539f775eb6a670ab7a423e13f435ce94689</open-checksum> + <location href="repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2"/> + <timestamp>1667508211</timestamp> + <database_version>10</database_version> + <size>586</size> + <open-size>7168</open-size> +</data> +</repomd> diff --git a/spec/functional/resource/yum_package_spec.rb b/spec/functional/resource/yum_package_spec.rb index 27912f6d35..ca45a3a0f7 100644 --- a/spec/functional/resource/yum_package_spec.rb +++ b/spec/functional/resource/yum_package_spec.rb @@ -57,6 +57,12 @@ describe Chef::Resource::YumPackage, :requires_root, external: exclude_test do baseurl=file://#{CHEF_SPEC_ASSETS}/yumrepo enable=1 gpgcheck=0 + [chef-yum-empty] + name=Chef DNF spec empty repo + baseurl=file://#{CHEF_SPEC_ASSETS}/yumrepo-empty + enable=1 + gpgcheck=0 + EOF end # ensure we don't have any stray chef_rpms installed @@ -1095,6 +1101,16 @@ describe Chef::Resource::YumPackage, :requires_root, external: exclude_test do end.should_not_be_updated end + it "should work to disable a repo" do + flush_cache + expect { + yum_package "chef_rpm" do + options "--disablerepo=chef-yum-localtesting --enablerepo=chef-yum-empty" + action :install + end + }.to raise_error(Chef::Exceptions::Package, /No candidate version available/) + end + it "when an idempotent install action is run, does not leave repos disabled" do flush_cache # this is a bit tricky -- we need this action to be idempotent, so that it doesn't recycle any |