diff options
-rw-r--r-- | lib/facter/operatingsystemrelease.rb | 4 | ||||
-rw-r--r-- | spec/unit/operatingsystemrelease.rb | 39 |
2 files changed, 41 insertions, 2 deletions
diff --git a/lib/facter/operatingsystemrelease.rb b/lib/facter/operatingsystemrelease.rb index 30f2989..280208b 100644 --- a/lib/facter/operatingsystemrelease.rb +++ b/lib/facter/operatingsystemrelease.rb @@ -8,9 +8,9 @@ Facter.add(:operatingsystemrelease) do releasefile = "/etc/fedora-release" when "MeeGo" releasefile = "/etc/meego-release" - when "OEL" + when "OEL", "oel" releasefile = "/etc/enterprise-release" - when "OVS" + when "OVS", "ovs" releasefile = "/etc/ovs-release" end File::open(releasefile, "r") do |f| diff --git a/spec/unit/operatingsystemrelease.rb b/spec/unit/operatingsystemrelease.rb new file mode 100644 index 0000000..31d4ae8 --- /dev/null +++ b/spec/unit/operatingsystemrelease.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../spec_helper' + +require 'facter' + +describe "Operating System Release fact" do + + before do + Facter.clear + end + + after do + Facter.clear + end + + test_cases = { + "CentOS" => "/etc/redhat-release", + "RedHat" => "/etc/redhat-release", + "Fedora" => "/etc/fedora-release", + "MeeGo" => "/etc/meego-release", + "OEL" => "/etc/enterprise-release", + "oel" => "/etc/enterprise-release", + "OVS" => "/etc/ovs-release", + "ovs" => "/etc/ovs-release" + } + + test_cases.each do |system, file| + context "with operatingsystem reported as #{system.inspect}" do + it "should read the #{file.inspect} file" do + Facter.fact(:operatingsystem).stubs(:value).returns(system) + + File.expects(:open).with(file, "r").at_least(1) + + Facter.fact(:operatingsystemrelease).value + end + end + end +end |