summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2017-07-10 09:27:30 -0700
committerGitHub <noreply@github.com>2017-07-10 09:27:30 -0700
commitf16ebec744dd40fba625e9123647d722f1fefece (patch)
tree8592e04c9d6e5784ed33d3a88623a9858c0a3bee
parent1ae29909d51af9a9e9550753c3ce69cf69a4ba8e (diff)
parent28bae297c9a83a566fa20aea212e3b81118c4bb1 (diff)
downloadchef-f16ebec744dd40fba625e9123647d722f1fefece.tar.gz
Merge pull request #6252 from chef/shain/enable_zypper_options
Enable zypper package options
-rw-r--r--lib/chef/provider/package/zypper.rb10
-rw-r--r--spec/unit/provider/package/zypper_spec.rb43
2 files changed, 48 insertions, 5 deletions
diff --git a/lib/chef/provider/package/zypper.rb b/lib/chef/provider/package/zypper.rb
index 7b8fd6c426..41e8433046 100644
--- a/lib/chef/provider/package/zypper.rb
+++ b/lib/chef/provider/package/zypper.rb
@@ -103,7 +103,7 @@ class Chef
end
def install_package(name, version)
- zypper_package("install", "--auto-agree-with-licenses", name, version)
+ zypper_package("install", *options, "--auto-agree-with-licenses", name, version)
end
def upgrade_package(name, version)
@@ -112,19 +112,19 @@ class Chef
end
def remove_package(name, version)
- zypper_package("remove", name, version)
+ zypper_package("remove", *options, name, version)
end
def purge_package(name, version)
- zypper_package("remove", "--clean-deps", name, version)
+ zypper_package("remove", *options, "--clean-deps", name, version)
end
def lock_package(name, version)
- zypper_package("addlock", name, version)
+ zypper_package("addlock", *options, name, version)
end
def unlock_package(name, version)
- zypper_package("removelock", name, version)
+ zypper_package("removelock", *options, name, version)
end
private
diff --git a/spec/unit/provider/package/zypper_spec.rb b/spec/unit/provider/package/zypper_spec.rb
index f3c31dc730..b20a548c73 100644
--- a/spec/unit/provider/package/zypper_spec.rb
+++ b/spec/unit/provider/package/zypper_spec.rb
@@ -139,6 +139,14 @@ describe Chef::Provider::Package::Zypper do
)
provider.install_package(["emacs"], ["1.0"])
end
+
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "install", "--user-provided", "--auto-agree-with-licenses", "emacs=1.0"
+ )
+ provider.install_package(["emacs"], ["1.0"])
+ end
end
describe "upgrade_package" do
@@ -162,6 +170,13 @@ describe Chef::Provider::Package::Zypper do
)
provider.upgrade_package(["emacs"], ["1.0"])
end
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "install", "--user-provided", "--auto-agree-with-licenses", "emacs=1.0"
+ )
+ provider.upgrade_package(["emacs"], ["1.0"])
+ end
end
describe "remove_package" do
@@ -196,6 +211,13 @@ describe Chef::Provider::Package::Zypper do
)
provider.remove_package(["emacs"], ["1.0"])
end
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "remove", "--user-provided", "emacs=1.0"
+ )
+ provider.remove_package(["emacs"], ["1.0"])
+ end
end
end
@@ -220,6 +242,13 @@ describe Chef::Provider::Package::Zypper do
)
provider.purge_package(["emacs"], ["1.0"])
end
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "remove", "--user-provided", "--clean-deps", "emacs=1.0"
+ )
+ provider.purge_package(["emacs"], ["1.0"])
+ end
end
describe "lock_package" do
@@ -236,6 +265,13 @@ describe Chef::Provider::Package::Zypper do
)
provider.lock_package(["emacs"], [nil])
end
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "addlock", "--user-provided", "emacs"
+ )
+ provider.lock_package(["emacs"], [nil])
+ end
end
describe "unlock_package" do
@@ -252,6 +288,13 @@ describe Chef::Provider::Package::Zypper do
)
provider.unlock_package(["emacs"], [nil])
end
+ it "should add user provided options to the command" do
+ new_resource.options "--user-provided"
+ shell_out_expectation!(
+ "zypper", "--non-interactive", "removelock", "--user-provided", "emacs"
+ )
+ provider.unlock_package(["emacs"], [nil])
+ end
end
describe "on an older zypper" do