Files
puppetlabs-java/spec/unit/facter/java_default_home_spec.rb
Sebastian Reitenbach e50eb64614 do not use unportable readlink utility to find the java_default_home,
use Ruby in a more portable fashion.

adapt tests as well
2017-11-15 14:37:42 +00:00

46 lines
1.7 KiB
Ruby

require "spec_helper"
describe Facter::Util::Fact do
describe "java_default_home" do
before(:each) {
Facter.clear
Facter.fact(:kernel).stubs(:value).returns('Linux')
}
context 'returns java home path when java found in PATH' do
context "when java is in /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java" do
it do
File.delete('./java') if File.exist?('./java')
File.symlink('/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java', './java')
Facter::Util::Resolution.expects(:which).with("java").returns("./java")
expect(File.readlink('./java')).to eq('/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java')
expect(Facter.value(:java_default_home)).to eql '/usr/lib/jvm/java-7-openjdk-amd64'
File.delete('./java') if File.exist?('./java')
end
end
context "when java is in /usr/lib/jvm/oracle-java8-jre-amd64/bin/java" do
it do
File.delete('./java') if File.exist?('./java')
File.symlink('/usr/lib/jvm/oracle-java8-jre-amd64/bin/java', './java')
Facter::Util::Resolution.expects(:which).with("java").returns("./java")
expect(File.readlink('./java')).to eq('/usr/lib/jvm/oracle-java8-jre-amd64/bin/java')
expect(Facter.value(:java_default_home)).to eql '/usr/lib/jvm/oracle-java8-jre-amd64'
File.delete('./java') if File.exist?('./java')
end
end
end
context 'returns nil when java not present' do
it do
Facter::Util::Resolution.stubs(:exec)
Facter::Util::Resolution.expects(:which).with("java").at_least(1).returns(false)
expect(Facter.value(:java_default_home)).to be_nil
end
end
end
end