summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/chef/resource/alternatives.rb2
-rw-r--r--spec/unit/resource/alternatives_spec.rb14
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/chef/resource/alternatives.rb b/lib/chef/resource/alternatives.rb
index ab99365399..a1ecb50439 100644
--- a/lib/chef/resource/alternatives.rb
+++ b/lib/chef/resource/alternatives.rb
@@ -115,7 +115,7 @@ class Chef
def path_priority
# https://rubular.com/r/IcUlEU0mSNaMm3
escaped_path = Regexp.new(Regexp.escape("#{new_resource.path} - priority ") + "(.*)")
- match = shell_out("#{alternatives_cmd} --display #{new_resource.link_name}").stdout.match(escaped_path)
+ match = shell_out(alternatives_cmd, "--display", new_resource.link_name).stdout.match(escaped_path)
match.nil? ? nil : match[1].to_i
end
diff --git a/spec/unit/resource/alternatives_spec.rb b/spec/unit/resource/alternatives_spec.rb
index d1e03e0b1a..d8e7977125 100644
--- a/spec/unit/resource/alternatives_spec.rb
+++ b/spec/unit/resource/alternatives_spec.rb
@@ -77,6 +77,20 @@ describe Chef::Resource::Alternatives do
end
end
+ describe "#current_path" do
+ it "extracts the current path by running alternatives --display" do
+ allow(provider).to receive(:shell_out).with("alternatives", "--display", "fakey_fakerton").and_return(alternatives_display_exists)
+ expect(provider.current_path).to eql("/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java")
+ end
+ end
+
+ describe "#path_priority" do
+ it "extracts the path priority by running alternatives --display" do
+ allow(provider).to receive(:shell_out).with("alternatives", "--display", "fakey_fakerton").and_return(alternatives_display_exists)
+ expect(provider.path_priority).to eql(1081)
+ end
+ end
+
describe "#alternatives_cmd" do
it "returns alternatives on fedora" do
node.automatic_attrs[:platform_family] = "fedora"