inspec/test/unit/resources/security_identifier_test.rb

48 lines
1.8 KiB
Ruby
Raw Normal View History

# encoding: utf-8
require 'helper'
require 'inspec/resource'
describe 'Inspec::Resources::SecurityIdentifier' do
it 'returns a SID for an existing user' do
resource = load_resource('security_identifier', { user: 'Alice' })
_(resource.exist?).must_equal true
_(resource.sid).must_equal 'S-1-5-21-1601936709-1892662786-3840804712-315762'
end
it 'returns nil for a non-existent user' do
resource = MockLoader.new(:windows).load_resource('security_identifier', { user: 'Bob' })
_(resource.exist?).must_equal false
_(resource.sid).must_be_nil
end
it 'returns a SID for an existing group' do
resource = load_resource('security_identifier', { group: 'Guests' })
_(resource.exist?).must_equal true
_(resource.sid).must_equal 'S-1-5-32-546'
end
it 'returns nil for a non-existent group' do
resource = MockLoader.new(:windows).load_resource('security_identifier', { group: 'DontExist' })
_(resource.exist?).must_equal false
_(resource.sid).must_be_nil
end
it 'returns a SID for an existing entity with type :unspecified' do
resource = load_resource('security_identifier', { unspecified: 'Guests' })
_(resource.exist?).must_equal true
_(resource.sid).must_equal 'S-1-5-32-546'
end
it 'returns nil for a non-existent entity with type :unspecified' do
resource = MockLoader.new(:windows).load_resource('security_identifier', { unspecified: 'DontExist' })
_(resource.exist?).must_equal false
_(resource.sid).must_be_nil
end
it 'raises ArgumentError for an unsupported type' do
err = proc { MockLoader.new(:windows).load_resource('security_identifier', { yooser: 'Alice' }) }.must_raise ArgumentError
err.message.must_equal 'Unsupported security_identifier options \'[:yooser]\'. Supported keys: #[supported_opt_keys]'
end
end