Skip to content

Instantly share code, notes, and snippets.

@baconpat
Created December 16, 2010 02:50
Show Gist options
  • Save baconpat/742957 to your computer and use it in GitHub Desktop.
Save baconpat/742957 to your computer and use it in GitHub Desktop.
require 'ldap/server'
module TestLdapServer
def start_ldap_server
logger = Logger.new(File.join(Rails.root, "log", "ldap.log"))
logger.level = Logger::DEBUG
logger.datetime_format = "%H:%M:%S"
@ldap_credentials = {"cn=server,dc=atomicobject,dc=com" => "server password"}
@ldap_server = LDAP::Server.new({
:port => 3890,
:bindaddr => '0.0.0.0',
:nodelay => true,
:listen => 1,
:namingContexts => ["dc=atomicobject,dc=com"],
:operation_class => LdapOperation,
:operation_args => [@ldap_credentials, logger]
})
# This spawns a new thread, so tests can keep running in this thread
@ldap_server.run_tcpserver
end
def stop_ldap_server
if @ldap_server
@ldap_server.stop
@ldap_server = nil
end
end
def set_ldap_login(login, password)
@ldap_credentials[login] = password
end
end
World(TestLdapServer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment