summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/provider/group/ldap.rb2
-rw-r--r--lib/puppet/provider/user/ldap.rb2
-rwxr-xr-xspec/unit/provider/user/ldap.rb10
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/puppet/provider/group/ldap.rb b/lib/puppet/provider/group/ldap.rb
index 632358ff1..5af400a4e 100644
--- a/lib/puppet/provider/group/ldap.rb
+++ b/lib/puppet/provider/group/ldap.rb
@@ -12,7 +12,7 @@ Puppet::Type.type(:group).provide :ldap, :parent => Puppet::Provider::Ldap do
as it iterates across all existing groups to pick the appropriate next
one."
- confine :true => Puppet.features.ldap?
+ confine :true => Puppet.features.ldap?, :false => (Puppet[:ldapuser] == "")
# We're mapping 'members' here because we want to make it
# easy for the ldap user provider to manage groups. This
diff --git a/lib/puppet/provider/user/ldap.rb b/lib/puppet/provider/user/ldap.rb
index ba91a871e..d670ad435 100644
--- a/lib/puppet/provider/user/ldap.rb
+++ b/lib/puppet/provider/user/ldap.rb
@@ -12,7 +12,7 @@ Puppet::Type.type(:user).provide :ldap, :parent => Puppet::Provider::Ldap do
as it iterates across all existing users to pick the appropriate next
one."
- confine :true => Puppet.features.ldap?
+ confine :feature => :ldap, :false => (Puppet[:ldapuser] == "")
manages(:posixAccount, :person).at("ou=People").named_by(:uid).and.maps :name => :uid,
:password => :userPassword,
diff --git a/spec/unit/provider/user/ldap.rb b/spec/unit/provider/user/ldap.rb
index c4731cbbb..eb13d8bbd 100755
--- a/spec/unit/provider/user/ldap.rb
+++ b/spec/unit/provider/user/ldap.rb
@@ -24,6 +24,16 @@ describe provider_class do
provider_class.manager.rdn.should == :uid
end
+ it "should be unsuitable if ldap is unavailable" do
+ Puppet.features.expects(:ldap?).returns false
+ provider_class.should_not be_suitable
+ end
+
+ it "should be suitable if ldap is available" do
+ Puppet.features.expects(:ldap?).returns true
+ provider_class.should be_suitable
+ end
+
{:name => "uid",
:password => "userPassword",
:comment => "cn",