Skip to content
Browse files

Unit test for windows kernel plugin.

  • Loading branch information...
1 parent e1a3b35 commit 68739a56a558dd8d38c8152ca260440f301d91a7 @sersut sersut committed
Showing with 47 additions and 2 deletions.
  1. +4 −0 Gemfile
  2. +43 −2 spec/unit/plugins/kernel_spec.rb
View
4 Gemfile
@@ -2,6 +2,10 @@ source "https://rubygems.org"
gemspec
+platforms :mswin, :mingw do
+ gem "rdp-ruby-wmi", "0.3.1"
+end
+
group :development do
gem "sigar", :platform => "ruby"
View
45 spec/unit/plugins/kernel_spec.rb
@@ -6,9 +6,9 @@
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
-#
+#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -35,4 +35,45 @@
it_should_check_from_mash("kernel", "version", "uname -v", [0, "Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1\/RELEASE_I386\n", ""])
it_should_check_from_mash("kernel", "machine", "uname -m", [0, "i386\n", ""])
+ describe "when running on windows", :windows_only do
+ before do
+ require 'ruby-wmi'
+
+ @ohai_system = Ohai::System.new
+ @plugin = get_plugin("kernel", @ohai_system)
+
+ caption = double("WIN32OLE", :name => "caption")
+ version = double("WIN32OLE", :name => "version")
+ build_number = double("WIN32OLE", :name => "BuildNumber")
+ csd_version = double("WIN32OLE", :name => "CsdVersion")
+ os_type = double("WIN32OLE", :name => "OsType")
+ os_properties = [ caption, version, build_number, csd_version, os_type ]
+
+ os = double("WIN32OLE",
+ :properties_ => os_properties,
+ :caption => "Microsoft Windows 7 Ultimate",
+ :version => "6.1.7601",
+ :BuildNumber => "7601",
+ :CsdVersion => "Service Pack 1",
+ :OsType => 18)
+ WMI::Win32_OperatingSystem.should_receive(:find).with(:first).and_return(os)
+
+ cs = double("WIN32OLE",
+ :properties_ => [ double("WIN32OLE", :name => "SystemType") ],
+ :SystemType => "x64-based PC")
+ WMI::Win32_ComputerSystem.should_receive(:find).with(:first).and_return(cs)
+
+ WMI::Win32_PnPSignedDriver.should_receive(:find).with(:all).and_return([ ])
+
+ @plugin.run
+ end
+ it "should set the corrent system information" do
+ @ohai_system.data[:kernel][:name].should == "Microsoft Windows 7 Ultimate"
+ @ohai_system.data[:kernel][:release].should == "6.1.7601"
+ @ohai_system.data[:kernel][:version].should == "6.1.7601 Service Pack 1 Build 7601"
+ @ohai_system.data[:kernel][:os].should == "WINNT"
+ @ohai_system.data[:kernel][:machine].should == "x86_64"
+ end
+ end
+
end

0 comments on commit 68739a5

Please sign in to comment.
Something went wrong with that request. Please try again.