Sha256: 5a7b58b329e1e651b50fd67c0592bb59f40bfdc7e73b9d16ab9eca91ed3afc0e

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

#!/usr/bin/env ruby

require File.expand_path(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|
        describe "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

    it "for VMWareESX it should run the vmware -v command" do
        Facter.fact(:kernel).stubs(:value).returns("VMkernel")
        Facter.fact(:kernelrelease).stubs(:value).returns("4.1.0")
        Facter.fact(:operatingsystem).stubs(:value).returns("VMwareESX")

        Facter::Util::Resolution.stubs(:exec).with('vmware -v').returns('foo')

        Facter.fact(:operatingsystemrelease).value
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
facter-1.6.0 spec/unit/operatingsystemrelease_spec.rb
facter-1.5.9 spec/unit/operatingsystemrelease_spec.rb