summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/type/group.rb2
-rwxr-xr-xspec/unit/type/group.rb40
2 files changed, 41 insertions, 1 deletions
diff --git a/lib/puppet/type/group.rb b/lib/puppet/type/group.rb
index 36a4d49fa..2a5ac30da 100755
--- a/lib/puppet/type/group.rb
+++ b/lib/puppet/type/group.rb
@@ -110,7 +110,7 @@ module Puppet
isnamevar
end
- newparam(:allowdupe) do
+ newparam(:allowdupe, :boolean => true) do
desc "Whether to allow duplicate GIDs. This option does not work on
FreeBSD (contract to the ``pw`` man page)."
diff --git a/spec/unit/type/group.rb b/spec/unit/type/group.rb
new file mode 100755
index 000000000..d7e06dcd8
--- /dev/null
+++ b/spec/unit/type/group.rb
@@ -0,0 +1,40 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe Puppet::Type.type(:group) do
+ before do
+ @class = Puppet::Type.type(:group)
+ end
+
+ after do
+ @class.clear
+ end
+
+ it "should have a default provider" do
+ @class.defaultprovider.should_not be_nil
+ end
+
+ it "should have a default provider inheriting from Puppet::Provider" do
+ @class.defaultprovider.ancestors.should be_include(Puppet::Provider)
+ end
+
+ describe "when validating attributes" do
+ [:name, :allowdupe].each do |param|
+ it "should have a #{param} parameter" do
+ @class.attrtype(param).should == :param
+ end
+ end
+
+ [:ensure, :gid].each do |param|
+ it "should have a #{param} property" do
+ @class.attrtype(param).should == :property
+ end
+ end
+ end
+
+ # #1407 - we need to declare the allowdupe param as boolean.
+ it "should have a boolean method for determining if duplicates are allowed" do
+ @class.create(:name => "foo").methods.should be_include("allowdupe?")
+ end
+end