diff options
author | Matt Robinson <matt@puppetlabs.com> | 2010-05-17 15:00:52 -0700 |
---|---|---|
committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
commit | cce63d86d7ce3965e58d8e57ff19533a3f21b4eb (patch) | |
tree | 59d88972e46a1a1f1d78d6291a78704fd2ad2c33 | |
parent | 4ba3dc22fe4c6b54564d468e70b79e4695911c61 (diff) | |
download | puppet-cce63d86d7ce3965e58d8e57ff19533a3f21b4eb.tar.gz puppet-cce63d86d7ce3965e58d8e57ff19533a3f21b4eb.tar.xz puppet-cce63d86d7ce3965e58d8e57ff19533a3f21b4eb.zip |
Bug #3748 LDAP group membership
LDAP group membership comparison was happening on an unsorted string.
Sorting the string for now, may want to do something smarter by
comparing something other than strings later.
Signed-off-by: Matt Robinson <matt@puppetlabs.com>
-rw-r--r-- | lib/puppet/provider/user/ldap.rb | 2 | ||||
-rwxr-xr-x | spec/unit/provider/user/ldap.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/puppet/provider/user/ldap.rb b/lib/puppet/provider/user/ldap.rb index 4ac18030a..7c38880cb 100644 --- a/lib/puppet/provider/user/ldap.rb +++ b/lib/puppet/provider/user/ldap.rb @@ -65,7 +65,7 @@ Puppet::Type.type(:user).provide :ldap, :parent => Puppet::Provider::Ldap do return @property_hash[:groups] = :absent end - return @property_hash[:groups] = result.collect { |r| r[:name] }.join(",") + return @property_hash[:groups] = result.collect { |r| r[:name] }.sort.join(",") end return @property_hash[:groups] end diff --git a/spec/unit/provider/user/ldap.rb b/spec/unit/provider/user/ldap.rb index a004e2081..adc2180ff 100755 --- a/spec/unit/provider/user/ldap.rb +++ b/spec/unit/provider/user/ldap.rb @@ -143,10 +143,10 @@ describe provider_class do @instance = provider_class.new(:name => "myname") end - it "should show its group membership as the list of all groups returned by an ldap query of group memberships" do + it "should show its group membership as the sorted list of all groups returned by an ldap query of group memberships" do one = {:name => "one"} two = {:name => "two"} - @group_manager.expects(:search).with("memberUid=myname").returns([one, two]) + @group_manager.expects(:search).with("memberUid=myname").returns([two, one]) @instance.groups.should == "one,two" end |