diff options
-rwxr-xr-x | lib/puppet/type/file/group.rb | 6 | ||||
-rwxr-xr-x | lib/puppet/type/file/owner.rb | 6 | ||||
-rwxr-xr-x | spec/unit/type/file/group.rb | 5 | ||||
-rwxr-xr-x | spec/unit/type/file/owner.rb | 5 |
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 |