diff options
author | Scott Hain <shain@chef.io> | 2017-07-03 13:03:46 -0700 |
---|---|---|
committer | Scott Hain <shain@chef.io> | 2017-07-03 13:46:11 -0700 |
commit | 28bae297c9a83a566fa20aea212e3b81118c4bb1 (patch) | |
tree | c2ff6dc4ca7116488248d0283326c7ae70be7046 | |
parent | e419d7f0eb0c494a0a2f5d5963eac6fb35153bac (diff) | |
download | chef-shain/enable_zypper_options.tar.gz |
Enable zypper package optionsshain/enable_zypper_options
Signed-off-by: Scott Hain <shain@chef.io>
-rw-r--r-- | lib/chef/provider/package/zypper.rb | 10 | ||||
-rw-r--r-- | spec/unit/provider/package/zypper_spec.rb | 43 |
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 |