diff options
author | James Turnbull <james@lovedthanlost.net> | 2008-07-08 08:43:54 +1000 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2008-07-08 08:43:54 +1000 |
commit | 1fe0660f6b468b8637ac60cd73a033e7726ef838 (patch) | |
tree | cd015e5876b91f9f6ac002df0c3e2013ade2c510 /spec | |
parent | 0922c3b0217e1723e1dfc968a7c8de2860361369 (diff) | |
parent | c751e4eef508ab3cf9466dcb45479fced5d3e4be (diff) | |
download | puppet-1fe0660f6b468b8637ac60cd73a033e7726ef838.tar.gz puppet-1fe0660f6b468b8637ac60cd73a033e7726ef838.tar.xz puppet-1fe0660f6b468b8637ac60cd73a033e7726ef838.zip |
Merge branch 'tickets/0.24.x/1272' of git://github.com/lak/puppet into 0.24.x
Conflicts:
CHANGELOG
spec/unit/provider/user/ldap.rb
Diffstat (limited to 'spec')
-rwxr-xr-x | spec/unit/provider/group/ldap.rb | 25 | ||||
-rwxr-xr-x | spec/unit/provider/user/ldap.rb | 7 |
2 files changed, 32 insertions, 0 deletions
diff --git a/spec/unit/provider/group/ldap.rb b/spec/unit/provider/group/ldap.rb index 53d9e8bfc..ab2bd72aa 100755 --- a/spec/unit/provider/group/ldap.rb +++ b/spec/unit/provider/group/ldap.rb @@ -77,4 +77,29 @@ describe provider_class do end end end + + it "should have a method for converting group names to GIDs" do + provider_class.should respond_to(:name2id) + end + + describe "when converting from a group name to GID" do + it "should use the ldap manager to look up the GID" do + provider_class.manager.expects(:search).with("cn=foo") + provider_class.name2id("foo") + end + + it "should return nil if no group is found" do + provider_class.manager.expects(:search).with("cn=foo").returns nil + provider_class.name2id("foo").should be_nil + provider_class.manager.expects(:search).with("cn=bar").returns [] + provider_class.name2id("bar").should be_nil + end + + # We shouldn't ever actually have more than one gid, but it doesn't hurt + # to test for the possibility. + it "should return the first gid from the first returned group" do + provider_class.manager.expects(:search).with("cn=foo").returns [{:name => "foo", :gid => [10, 11]}, {:name => :bar, :gid => [20, 21]}] + provider_class.name2id("foo").should == 10 + end + end end diff --git a/spec/unit/provider/user/ldap.rb b/spec/unit/provider/user/ldap.rb index 5cae61a7f..7e039d582 100755 --- a/spec/unit/provider/user/ldap.rb +++ b/spec/unit/provider/user/ldap.rb @@ -26,6 +26,13 @@ describe provider_class do it "should be able to manage passwords" do provider_class.should be_manages_passwords + + it "should use the ldap group provider to convert group names to numbers" do + provider = provider_class.new(:name => "foo") + Puppet::Type.type(:group).provider(:ldap).expects(:name2id).with("bar").returns 10 + + provider.gid = 'bar' + provider.gid.should == 10 end {:name => "uid", |