diff options
-rwxr-xr-x | lib/puppet/type/group.rb | 2 | ||||
-rwxr-xr-x | spec/unit/type/group.rb | 40 |
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 |