SYNRC LDAP

MIX
RUN
$ mix deps.get
$ iex -S mix
Erlang/OTP 24 [erts-12.2.1] [source] [64-bit]
[smp:12:12] [ds:12:12:10] [async-threads:1] [jit]
Interactive Elixir (1.12.2) - press Ctrl+C to exit (type h() ENTER for help)
> :application.which_applications
[
{:ldap, 'LDAP Directory and Identity Server', '8.6.0'},
{:eldap, 'Ldap api', '1.2.9'},
{:mix, 'mix', '1.12.2'},
{:iex, 'iex', '1.12.2'},
{:elixir, 'elixir', '1.12.2'},
{:compiler, 'ERTS CXC 138 10', '8.0.4'},
{:stdlib, 'ERTS CXC 138 10', '3.17'},
{:kernel, 'ERTS CXC 138 10', '8.2'}
]CODE
def testConnection() do
{:ok, conn} = :eldap.open(['127.0.0.1'], [{:port, 389}, {:ssl, false}])
:ok = :eldap.simple_bind(conn, 'cn=admin,dc=synrc,dc=com', 'secret')
filter = :eldap.and([ ])
scope = :wholeSubtree
base = 'dc=synrc,dc=com'
attrs = ['cn','mail']
{:ok, {:eldap_search_result, entries, []}} =
:eldap.search(conn, base: base, scope: scope,
filter: filter, attributes: attrs)
:lists.map(fn {:eldap_entry, dn, attrs} ->
{:dn,dn,attrs} end, entries)
endTEST
> LDAP.testConnection
[
{:dn, 'cn=Maxim Sokhatsky,ou=People,dc=synrc,dc=com',
[{'mail', ['maxim@synrc.com']}, {'cn', ['Maxim Sokhatsky']}]},
{:dn, 'cn=Namdak Tonpa,ou=People,dc=synrc,dc=com',
[{'mail', ['namdak@tonpa.guru']}, {'cn', ['Namdak Tonpa']}]},
{:dn, 'uid=admin,dc=synrc,dc=com', []},
{:dn, 'ou=People,dc=synrc,dc=com', []},
{:dn, 'dc=synrc,dc=com', []}
]