inspec/test/unit/resources/security_policy_test.rb
ViolentOr 3c7bace964 Update security_policy resource to return Names, not SIDs (#2462)
* Added possibility to translate SID to human-readable name (using 'translate_sid: true' switch)

Signed-off-by: ViolentOr <github@violentor.me>

* fixed errors

Signed-off-by: ViolentOr <github@violentor.me>

* changed pars to opts

* renameg temp variable

Signed-off-by: ViolentOr <github@violentor.me>

* Required tests added

Signed-off-by: ViolentOr <github@violentor.me>

* fixed mistype

Signed-off-by: ViolentOr <github@violentor.me>

* should not copy-paste.

Signed-off-by: ViolentOr <github@violentor.me>

* replaced empty call with empty file

Signed-off-by: ViolentOr <github@violentor.me>

* tests fixed.

Signed-off-by: ViolentOr <github@violentor.me>

* grouped command mocks related to the security_policy resource

Signed-off-by: ViolentOr <github@violentor.me>

* bacgitend -> backend

Signed-off-by: ViolentOr <github@violentor.me>
2018-01-23 12:31:57 -08:00

40 lines
1.7 KiB
Ruby

# encoding: utf-8
# author: Christoph Hartmann
# author: Dominik Richter
require 'helper'
require 'inspec/resource'
describe 'Inspec::Resources::SecurityPolicy' do
it 'verify processes resource' do
resource = load_resource('security_policy')
Process.expects(:pid).returns('abc123')
_(resource.MaximumPasswordAge).must_equal 42
_(resource.send('MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SecurityLevel')).must_equal '4,0'
_(resource.SeUndockPrivilege).must_equal ["S-1-5-32-544"]
_(resource.SeRemoteInteractiveLogonRight).must_equal ["S-1-5-32-544","S-1-5-32-555"]
end
it 'parse empty policy file' do
resource = load_resource('security_policy')
Process.expects(:pid).returns('abc123')
backend = resource.inspec.backend
backend.commands['Get-Content win_secpol-abc123.cfg'] = backend.mock_command('', '', '', 0)
_(resource.MaximumPasswordAge).must_be_nil
_(resource.send('MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SecurityLevel')).must_be_nil
_(resource.SeUndockPrivilege).must_equal []
_(resource.SeRemoteInteractiveLogonRight).must_equal []
end
it 'verify sids are successfully translated or returned SID' do
resource = load_resource('security_policy', translate_sid: true)
Process.expects(:pid).returns('abc123')
_(resource.MaximumPasswordAge).must_equal 42
_(resource.send('MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Setup\RecoveryConsole\SecurityLevel')).must_equal '4,0'
_(resource.SeUndockPrivilege).must_equal ["BUILTIN\\Administrators"]
_(resource.SeRemoteInteractiveLogonRight).must_equal ["BUILTIN\\Administrators","S-1-5-32-555"]
end
end