inspec/test/unit/resources/group_test.rb
Tor Magnus Rakvåg 71ba5018d2 Enhance groups resource with members property (#3029)
* implement members property
* flatten groups entry, extract flatten helper
* lints
* more idiomatic spec, add example of members testing

Signed-off-by: Tor Magnus Rakvåg <tm@intility.no>
2018-05-31 13:37:44 -04:00

82 lines
2.6 KiB
Ruby

# encoding: utf-8
# author: Christoph Hartmann
# author: Dominik Richter
require 'helper'
require 'inspec/resource'
describe 'Inspec::Resources::Group' do
# ubuntu 14.04
it 'verify group on ubuntu' do
resource = MockLoader.new(:ubuntu1404).load_resource('group', 'root')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
_(resource.has_gid?(0)).must_equal true
end
it 'verify group on ubuntu with mixed case' do
resource = MockLoader.new(:ubuntu1404).load_resource('group', 'GroupWithCaps')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 999
_(resource.has_gid?(999)).must_equal true
end
# ubuntu with non-existent group
it 'verify group on ubuntu' do
resource = MockLoader.new(:ubuntu1404).load_resource('group', 'nogroup')
_(resource.exists?).must_equal false
_(resource.gid).must_be_nil
_(resource.has_gid?(0)).must_equal false
end
# mac
it 'verify group on mac' do
resource = MockLoader.new(:osx104).load_resource('group', 'root')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
_(resource.has_gid?(0)).must_equal true
end
# freebsd
it 'verify group on freebsd' do
resource = MockLoader.new(:freebsd10).load_resource('group', 'root')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
_(resource.has_gid?(0)).must_equal true
end
# windows with local group
it 'verify administrator group on windows' do
resource = MockLoader.new(:windows).load_resource('group', 'Administrators')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 'S-1-5-32-544'
_(resource.has_gid?(0)).must_equal false
_(resource.members).must_equal ['Administrators', 'Domain Admins']
end
it 'verify power users group on windows' do
resource = MockLoader.new(:windows).load_resource('group', 'Power Users')
_(resource.exists?).must_equal true
_(resource.gid).must_equal 'S-1-5-32-547'
_(resource.has_gid?(0)).must_equal false
_(resource.members).must_equal []
end
# windows non-existent group
it 'verify non-existing group on windows' do
resource = MockLoader.new(:windows).load_resource('group', 'dhcp')
_(resource.exists?).must_equal false
_(resource.gid).must_be_nil
_(resource.has_gid?(0)).must_equal false
_(resource.members).must_equal nil
end
# undefined
it 'verify package handling on unsupported os' do
resource = MockLoader.new(:undefined).load_resource('group', 'root')
_(resource.exists?).must_equal false
_(resource.gid).must_be_nil
_(resource.has_gid?(0)).must_equal false
end
end