summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/type/file/group.rb6
-rwxr-xr-xlib/puppet/type/file/owner.rb6
-rwxr-xr-xspec/unit/type/file/group.rb5
-rwxr-xr-xspec/unit/type/file/owner.rb5
4 files changed, 22 insertions, 0 deletions
diff --git a/lib/puppet/type/file/group.rb b/lib/puppet/type/file/group.rb
index 3aeac21ff..e3d7b4ec6 100755
--- a/lib/puppet/type/file/group.rb
+++ b/lib/puppet/type/file/group.rb
@@ -79,6 +79,12 @@ module Puppet
# Determine if the group is valid, and if so, return the GID
def validgroup?(value)
+ begin
+ number = Integer(value)
+ return number
+ rescue ArgumentError
+ number = nil
+ end
if number = gid(value)
return number
else
diff --git a/lib/puppet/type/file/owner.rb b/lib/puppet/type/file/owner.rb
index 15a34a696..1dff59cb3 100755
--- a/lib/puppet/type/file/owner.rb
+++ b/lib/puppet/type/file/owner.rb
@@ -49,6 +49,12 @@ module Puppet
# Determine if the user is valid, and if so, return the UID
def validuser?(value)
+ begin
+ number = Integer(value)
+ return number
+ rescue ArgumentError
+ number = nil
+ end
if number = uid(value)
return number
else
diff --git a/spec/unit/type/file/group.rb b/spec/unit/type/file/group.rb
index 856b05b0d..93d09adb4 100755
--- a/spec/unit/type/file/group.rb
+++ b/spec/unit/type/file/group.rb
@@ -70,6 +70,11 @@ describe property do
@group.must be_insync(10)
end
+
+ it "should not validate that groups exist when a group is specified as an integer" do
+ @group.expects(:gid).never
+ @group.validgroup?(10)
+ end
it "should fail if it cannot convert a group name to an integer" do
@group.expects(:gid).with("foo").returns nil
diff --git a/spec/unit/type/file/owner.rb b/spec/unit/type/file/owner.rb
index 743e64054..1ea01cbc7 100755
--- a/spec/unit/type/file/owner.rb
+++ b/spec/unit/type/file/owner.rb
@@ -83,6 +83,11 @@ describe property do
@owner.must be_insync(10)
end
+
+ it "should not validate that users exist when a user is specified as an integer" do
+ @owner.expects(:uid).never
+ @owner.validuser?(10)
+ end
it "should fail if it cannot convert an owner name to an integer" do
@owner.expects(:uid).with("foo").returns nil