summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/type/user.rb5
-rwxr-xr-xtest/types/user.rb49
2 files changed, 31 insertions, 23 deletions
diff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb
index 81f82f27d..1e902db47 100755
--- a/lib/puppet/type/user.rb
+++ b/lib/puppet/type/user.rb
@@ -251,7 +251,6 @@ module Puppet
members += @is
end
members.uniq.sort.join(",")
- #(@is + @should).uniq.sort.join(",")
end
end
@@ -377,6 +376,10 @@ module Puppet
}
end
+ if @states.include?(:groups) and groups = @states[:groups].should.split(",")
+ autos += groups
+ end
+
autos
end
diff --git a/test/types/user.rb b/test/types/user.rb
index 2e0c887dd..6f34da76f 100755
--- a/test/types/user.rb
+++ b/test/types/user.rb
@@ -451,6 +451,33 @@ class TestUser < Test::Unit::TestCase
assert_equal(Process.uid, user.is(:uid), "Retrieved UID does not match")
end
+ def test_autorequire
+ file = tempfile()
+ user = Puppet.type(:user).create(
+ :name => "pptestu",
+ :home => file,
+ :gid => "pptestg",
+ :groups => "yayness"
+ )
+ home = Puppet.type(:file).create(
+ :path => file,
+ :ensure => "directory"
+ )
+ group = Puppet.type(:group).create(
+ :name => "pptestg"
+ )
+ ogroup = Puppet.type(:group).create(
+ :name => "yayness"
+ )
+ comp = newcomp(user, group, home, ogroup)
+ comp.finalize
+ comp.retrieve
+
+ assert(user.requires?(group), "User did not require group")
+ assert(user.requires?(home), "User did not require home dir")
+ assert(user.requires?(ogroup), "User did not require other groups")
+ end
+
if Process.uid == 0
def test_simpleuser
name = "pptest"
@@ -504,28 +531,6 @@ class TestUser < Test::Unit::TestCase
user[:ensure] = :absent
assert_apply(user)
end
-
- def test_autorequire
- file = tempfile()
- user = Puppet.type(:user).create(
- :name => "pptestu",
- :home => file,
- :gid => "pptestg"
- )
- home = Puppet.type(:file).create(
- :path => file,
- :ensure => "directory"
- )
- group = Puppet.type(:group).create(
- :name => "pptestg"
- )
- comp = newcomp(user, group)
- comp.finalize
- comp.retrieve
-
- assert(user.requires?(group), "User did not require group")
- assert(user.requires?(home), "User did not require home dir")
- end
else
$stderr.puts "Not root; skipping user creation/modification tests"
end