summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-02-27 12:44:44 -0800
committerTim Smith <tsmith@chef.io>2018-02-27 12:44:44 -0800
commit7514ffc67cc0586a82bba2d8539a6df55c9b8fe7 (patch)
treee8dc80f18104fbeba932f3f69e6476421bea6530
parentd371a88317eb3b1eef0556c96e115d742edc5978 (diff)
downloadohai-7514ffc67cc0586a82bba2d8539a6df55c9b8fe7.tar.gz
Move windows kernel specs into their own spec file
Next step make this run on any OS Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--spec/unit/plugins/kernel_spec.rb52
-rw-r--r--spec/unit/plugins/windows/kernel_spec.rb69
2 files changed, 69 insertions, 52 deletions
diff --git a/spec/unit/plugins/kernel_spec.rb b/spec/unit/plugins/kernel_spec.rb
index ed78d866..8e25975e 100644
--- a/spec/unit/plugins/kernel_spec.rb
+++ b/spec/unit/plugins/kernel_spec.rb
@@ -35,56 +35,4 @@ describe Ohai::System, "plugin kernel" do
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", ""])
it_should_check_from_mash("kernel", "processor", "uname -p", [0, "i386\n", ""])
-
- describe "when running on windows", :windows_only do
- before do
- require "wmi-lite/wmi"
-
- @ohai_system = Ohai::System.new
- @plugin = get_plugin("kernel", @ohai_system)
-
- # Mock a Win32_OperatingSystem OLE32 WMI object
- 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)
-
- allow(os).to receive(:invoke).with(build_number.name).and_return("7601")
- allow(os).to receive(:invoke).with(csd_version.name).and_return("Service Pack 1")
- allow(os).to receive(:invoke).with(os_type.name).and_return(18)
- allow(os).to receive(:invoke).with(caption.name).and_return("Microsoft Windows 7 Ultimate")
- allow(os).to receive(:invoke).with(version.name).and_return("6.1.7601")
-
- os_wmi = WmiLite::Wmi::Instance.new(os)
-
- expect_any_instance_of(WmiLite::Wmi).to receive(:first_of).with("Win32_OperatingSystem").and_return(os_wmi)
-
- # Mock a Win32_ComputerSystem OLE32 WMI object
- x64_system_type = "x64-based PC"
-
- cs = double("WIN32OLE",
- :properties_ => [ double("WIN32OLE", :name => "SystemType") ])
-
- allow(cs).to receive(:invoke).with("SystemType").and_return(x64_system_type)
-
- cs_wmi = WmiLite::Wmi::Instance.new(cs)
-
- expect_any_instance_of(WmiLite::Wmi).to receive(:first_of).with("Win32_ComputerSystem").and_return(cs_wmi)
-
- @plugin.run
- end
- it "should set the correct system information" do
- expect(@ohai_system.data[:kernel][:name]).to eq("Microsoft Windows 7 Ultimate")
- expect(@ohai_system.data[:kernel][:release]).to eq("6.1.7601")
- expect(@ohai_system.data[:kernel][:version]).to eq("6.1.7601 Service Pack 1 Build 7601")
- expect(@ohai_system.data[:kernel][:os]).to eq("WINNT")
- expect(@ohai_system.data[:kernel][:machine]).to eq("x86_64")
- end
- end
-
end
diff --git a/spec/unit/plugins/windows/kernel_spec.rb b/spec/unit/plugins/windows/kernel_spec.rb
new file mode 100644
index 00000000..1033f593
--- /dev/null
+++ b/spec/unit/plugins/windows/kernel_spec.rb
@@ -0,0 +1,69 @@
+#
+# Copyright:: Copyright (c) 2018 Chef Software, Inc.
+# License:: Apache License, Version 2.0
+#
+# 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.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require_relative "../../../spec_helper.rb"
+
+describe Ohai::System, "Windows kernel plugin", :windows_only do
+ let(:plugin) { get_plugin("kernel") }
+
+ before do
+ require "wmi-lite/wmi"
+
+ # Mock a Win32_OperatingSystem OLE32 WMI object
+ 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)
+
+ allow(os).to receive(:invoke).with(build_number.name).and_return("7601")
+ allow(os).to receive(:invoke).with(csd_version.name).and_return("Service Pack 1")
+ allow(os).to receive(:invoke).with(os_type.name).and_return(18)
+ allow(os).to receive(:invoke).with(caption.name).and_return("Microsoft Windows 7 Ultimate")
+ allow(os).to receive(:invoke).with(version.name).and_return("6.1.7601")
+
+ os_wmi = WmiLite::Wmi::Instance.new(os)
+
+ expect_any_instance_of(WmiLite::Wmi).to receive(:first_of).with("Win32_OperatingSystem").and_return(os_wmi)
+
+ # Mock a Win32_ComputerSystem OLE32 WMI object
+ x64_system_type = "x64-based PC"
+
+ cs = double("WIN32OLE",
+ :properties_ => [ double("WIN32OLE", :name => "SystemType") ])
+
+ allow(cs).to receive(:invoke).with("SystemType").and_return(x64_system_type)
+
+ cs_wmi = WmiLite::Wmi::Instance.new(cs)
+
+ expect_any_instance_of(WmiLite::Wmi).to receive(:first_of).with("Win32_ComputerSystem").and_return(cs_wmi)
+
+ plugin.run
+ end
+
+ it "should set the correct system information" do
+ expect(plugin[:kernel][:name]).to eq("Microsoft Windows 7 Ultimate")
+ expect(plugin[:kernel][:release]).to eq("6.1.7601")
+ expect(plugin[:kernel][:version]).to eq("6.1.7601 Service Pack 1 Build 7601")
+ expect(plugin[:kernel][:os]).to eq("WINNT")
+ expect(plugin[:kernel][:machine]).to eq("x86_64")
+ end
+end