diff options
author | James Turnbull <james@lovedthanlost.net> | 2011-03-15 18:09:35 +1100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2011-03-17 07:19:19 +1100 |
commit | e917e1a7f47b4399f5d1dd32dd5cd8ad5da86b64 (patch) | |
tree | d2c4672c4663bde7eff23e1b8376e11ae23d672c /spec/unit | |
parent | d0f0f63f91a0eff72c1c528a6b5fb325bd9001d4 (diff) | |
download | facter-e917e1a7f47b4399f5d1dd32dd5cd8ad5da86b64.tar.gz facter-e917e1a7f47b4399f5d1dd32dd5cd8ad5da86b64.tar.xz facter-e917e1a7f47b4399f5d1dd32dd5cd8ad5da86b64.zip |
Fixed #3087 - Identify VMWare
Added support for VMWareESX and ESXi to operatingsystem and
operatingsystemrelease facts
Added appropriate tests
Diffstat (limited to 'spec/unit')
-rwxr-xr-x | spec/unit/operatingsystem_spec.rb | 16 | ||||
-rwxr-xr-x | spec/unit/operatingsystemrelease_spec.rb | 26 |
2 files changed, 33 insertions, 9 deletions
diff --git a/spec/unit/operatingsystem_spec.rb b/spec/unit/operatingsystem_spec.rb index 73b3649..91cd311 100755 --- a/spec/unit/operatingsystem_spec.rb +++ b/spec/unit/operatingsystem_spec.rb @@ -26,8 +26,13 @@ describe "Operating System fact" do Facter.fact(:operatingsystem).value.should == "Solaris" end - it "should identify Oracle VM as OVS" do + it "should be ESXi for VMkernel" do + Facter.fact(:kernel).stubs(:value).returns("VMkernel") + + Facter.fact(:operatingsystem).value.should == "ESXi" + end + it "should identify Oracle VM as OVS" do Facter.fact(:kernel).stubs(:value).returns("Linux") FileTest.stubs(:exists?).returns false @@ -36,4 +41,13 @@ describe "Operating System fact" do Facter.fact(:operatingsystem).value.should == "OVS" end + + it "should identify VMWare ESX" do + Facter.fact(:kernel).stubs(:value).returns("Linux") + FileTest.stubs(:exists?).returns false + + FileTest.expects(:exists?).with("/etc/vmware-release").returns true + + Facter.fact(:operatingsystem).value.should == "VMWareESX" + end end diff --git a/spec/unit/operatingsystemrelease_spec.rb b/spec/unit/operatingsystemrelease_spec.rb index 1cfb4ac..739a20a 100755 --- a/spec/unit/operatingsystemrelease_spec.rb +++ b/spec/unit/operatingsystemrelease_spec.rb @@ -15,14 +15,14 @@ describe "Operating System Release fact" do 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" + "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| @@ -36,4 +36,14 @@ describe "Operating System Release fact" do 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 |