inspec/test/unit/resources/group_test.rb

98 lines
2.9 KiB
Ruby
Raw Normal View History

require "helper"
require "inspec/resources/groups"
2015-10-06 12:47:37 +00:00
describe "Inspec::Resources::Group" do
2015-10-06 12:47:37 +00:00
# ubuntu 14.04
it "verify group on ubuntu" do
resource = MockLoader.new(:ubuntu1404).load_resource("group", "root")
2015-10-06 12:47:37 +00:00
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
end
it "verify group on ubuntu with mixed case" do
resource = MockLoader.new(:ubuntu1404).load_resource("group", "GroupWithCaps")
2015-10-07 10:04:48 +00:00
_(resource.exists?).must_equal true
_(resource.gid).must_equal 999
end
it "verify group on ubuntu with members" do
resource = MockLoader.new(:ubuntu1404).load_resource("group", "www-data")
_(resource.exists?).must_equal true
_(resource.members).must_equal "www-data,root"
2015-10-07 10:04:48 +00:00
end
# ubuntu with non-existent group
it "verify group on ubuntu" do
resource = MockLoader.new(:ubuntu1404).load_resource("group", "nogroup")
2015-10-07 10:04:48 +00:00
_(resource.exists?).must_equal false
_(resource.gid).must_be_nil
2015-10-07 10:04:48 +00:00
end
2015-10-06 12:47:37 +00:00
# mac
it "verify group on mac" do
resource = MockLoader.new(:osx104).load_resource("group", "root")
2015-10-06 12:47:37 +00:00
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
end
def unmock(&blk)
require "fetchers/mock"
require "inspec/runner"
# TODO: there is WAY too much magic going on in here
runner = Inspec::Runner.new
runner.add_target("inspec.yml" => "name: inspec-shell")
profile = runner.target_profiles.first
ctx = profile.runner_context
ctx.load blk
end
if osx?
it "actually verifies group on mac" do
resource = unmock { group "staff" }
_(resource.exists?).must_equal true
_(resource.members).must_include "root"
_(resource.members).must_include ENV["LOGNAME"]
end
end
2015-10-07 10:04:48 +00:00
# freebsd
it "verify group on freebsd" do
resource = MockLoader.new(:freebsd10).load_resource("group", "root")
2015-10-07 10:04:48 +00:00
_(resource.exists?).must_equal true
_(resource.gid).must_equal 0
end
# windows with local group
it "verify administrator group on windows" do
resource = MockLoader.new(:windows).load_resource("group", "Administrators")
2015-10-07 10:04:48 +00:00
_(resource.exists?).must_equal true
_(resource.gid).must_equal "S-1-5-32-544"
_(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.members).must_equal []
2015-10-07 10:04:48 +00:00
end
# windows non-existent group
it "verify non-existing group on windows" do
resource = MockLoader.new(:windows).load_resource("group", "dhcp")
2015-10-07 10:04:48 +00:00
_(resource.exists?).must_equal false
_(resource.gid).must_be_nil
_(resource.members).must_be_nil
2015-10-07 10:04:48 +00:00
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
end
2015-10-06 12:47:37 +00:00
end