inspec/test/unit/resources/windows_feature_test.rb
Miah Johnson 659b4b373a Remove # encoding: utf8 magic comments
Signed-off-by: Miah Johnson <miah@chia-pet.org>
2019-05-07 16:06:23 -07:00

66 lines
2.1 KiB
Ruby

# author: Christoph Hartmann
# author: Dominik Richter
require 'helper'
require 'inspec/resource'
describe 'Inspec::Resources::WindowsFeature' do
it 'can retrieve feature info using PowerShell' do
resource = MockLoader.new(:windows).load_resource(
'windows_feature',
'DHCP',
:powershell,
)
params = {
name: 'DHCP',
description: 'Dynamic Host Configuration Protocol (DHCP) Server enables you to centrally configure, manage, and provide temporary IP addresses and related information for client computers.',
installed: false,
method: :powershell,
}
_(resource.info).must_equal params
_(resource.installed?).must_equal false
end
it 'can retrieve feature info using DISM' do
resource = MockLoader.new(:windows).load_resource(
'windows_feature',
'IIS-WebServer',
:dism,
)
params = {
name: 'IIS-WebServer',
description: 'Installs the IIS 10.0 World Wide Web Services. Provides support for HTML web sites and optional support for ASP.NET, Classic ASP, and web server extensions.',
installed: true,
method: :dism,
}
_(resource.info).must_equal params
_(resource.installed?).must_equal true
end
it 'uses DISM when Get-WindowsFeature does not exist' do
resource = MockLoader.new(:windows)
.load_resource('windows_feature', 'IIS-WebServer')
params = {
name: 'IIS-WebServer',
description: 'Installs the IIS 10.0 World Wide Web Services. Provides support for HTML web sites and optional support for ASP.NET, Classic ASP, and web server extensions.',
installed: true,
method: :dism,
}
_(resource.info).must_equal params
_(resource.installed?).must_equal true
end
it 'fails the resource if PowerShell method is used but command not found' do
resource = MockLoader.new(:windows).load_resource(
'windows_feature',
'IIS-WebServer',
:powershell,
)
e = proc {
resource.info
}.must_raise(Inspec::Exceptions::ResourceFailed)
e.message.must_match(/Could not find `Get-WindowsFeature`/)
end
end