inspec/test/unit/resources/wmi_test.rb
Christoph Hartmann cd57b26bd0 wmi unit test
2016-03-20 11:53:56 +01:00

45 lines
1.6 KiB
Ruby

# encoding: utf-8
# author: Christoph Hartmann
# author: Dominik Richter
require 'helper'
require 'inspec/resource'
describe 'Inspec::Resources::WMI' do
# Check the following as unit test
# describe wmi('win32_service', {
# filter: "name like '%winrm%'"
# }) do
# its(['Path','ClassName']) { should eq 'Win32_Service' }
# its('DisplayName') { should eq 'Windows Remote Management (WS-Management)'}
# end
# windows
it 'verify wmi parsing on windows' do
resource = MockLoader.new(:windows).load_resource('wmi', 'win32_service', { filter: "name like '%winrm%'" })
_(resource.send('DisplayName')).must_equal 'Windows Remote Management (WS-Management)'
_(resource.send('method_missing', 'Path', 'ClassName')).must_equal 'Win32_Service'
end
# ubuntu 14.04 with upstart
it 'fail wmi on ubuntu' do
resource = MockLoader.new(:ubuntu1404).load_resource('wmi', 'win32_service', { filter: "name like '%winrm%'" })
_(resource.send('DisplayName')).must_equal nil
_(resource.send('method_missing', 'Path', 'ClassName')).must_equal nil
end
# centos 7 with systemd
it 'fail wmi on centos' do
resource = MockLoader.new(:centos7).load_resource('wmi', 'win32_service', { filter: "name like '%winrm%'" })
_(resource.send('DisplayName')).must_equal nil
_(resource.send('method_missing', 'Path', 'ClassName')).must_equal nil
end
# unknown OS
it 'fail wmi on unknown os' do
resource = MockLoader.new(:undefined).load_resource('wmi', 'win32_service', { filter: "name like '%winrm%'" })
_(resource.send('DisplayName')).must_equal nil
_(resource.send('method_missing', 'Path', 'ClassName')).must_equal nil
end
end