mirror of
https://github.com/inspec/inspec
synced 2024-11-27 23:20:33 +00:00
46 lines
1.6 KiB
Ruby
46 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
|