summaryrefslogtreecommitdiffstats
path: root/spec/unit
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2011-03-15 18:09:35 +1100
committerJames Turnbull <james@lovedthanlost.net>2011-03-17 07:19:19 +1100
commite917e1a7f47b4399f5d1dd32dd5cd8ad5da86b64 (patch)
treed2c4672c4663bde7eff23e1b8376e11ae23d672c /spec/unit
parentd0f0f63f91a0eff72c1c528a6b5fb325bd9001d4 (diff)
downloadfacter-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-xspec/unit/operatingsystem_spec.rb16
-rwxr-xr-xspec/unit/operatingsystemrelease_spec.rb26
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