summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Robinson <matt@puppetlabs.com>2010-05-17 15:00:52 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commitcce63d86d7ce3965e58d8e57ff19533a3f21b4eb (patch)
tree59d88972e46a1a1f1d78d6291a78704fd2ad2c33
parent4ba3dc22fe4c6b54564d468e70b79e4695911c61 (diff)
downloadpuppet-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.rb2
-rwxr-xr-xspec/unit/provider/user/ldap.rb4
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