summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDavi Arnaut <davi@verdesmares.com>2022-12-13 12:21:02 -0800
committerGitHub <noreply@github.com>2022-12-13 15:21:02 -0500
commit9b1ef8c55c33e4200523b53d997b989dbfdef2aa (patch)
tree394d53a6424d47cd42a5648a7ebd86c288be75f6 /spec
parent62a9952f14b049b6af15efcb0789eeb15bb6455c (diff)
downloadchef-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')
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2bin0 -> 586 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gzbin0 -> 123 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2bin0 -> 1131 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gzbin0 -> 123 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2bin0 -> 575 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gzbin0 -> 134 bytes
-rw-r--r--spec/functional/assets/yumrepo-empty/repodata/repomd.xml55
-rw-r--r--spec/functional/resource/yum_package_spec.rb16
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
new file mode 100644
index 0000000000..edcae3c3f9
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
Binary files differ
diff --git a/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
new file mode 100644
index 0000000000..995719dbc2
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
Binary files differ
diff --git a/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2 b/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
new file mode 100644
index 0000000000..251c6599ee
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
Binary files differ
diff --git a/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
new file mode 100644
index 0000000000..d44692a8d7
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
Binary files differ
diff --git a/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2 b/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
new file mode 100644
index 0000000000..7af62d2fbc
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
Binary files differ
diff --git a/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz b/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
new file mode 100644
index 0000000000..2e5f2cf57e
--- /dev/null
+++ b/spec/functional/assets/yumrepo-empty/repodata/dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
Binary files differ
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