diff options
author | Tomas Guisasola <tomas@luaforge.net> | 2003-06-15 11:56:00 +0000 |
---|---|---|
committer | Tomas Guisasola <tomas@luaforge.net> | 2003-06-15 11:56:00 +0000 |
commit | 56d3ebc0f90f405f3a397c1d2f5d1acfd929ffe6 (patch) | |
tree | 4f1b0b975be16692f6d4ce751c93ed1acde10911 /lualdap/tests/test.lua | |
download | lualdap-56d3ebc0f90f405f3a397c1d2f5d1acfd929ffe6.tar.xz lualdap-56d3ebc0f90f405f3a397c1d2f5d1acfd929ffe6.zip |
Importando
Diffstat (limited to 'lualdap/tests/test.lua')
-rwxr-xr-x | lualdap/tests/test.lua | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/lualdap/tests/test.lua b/lualdap/tests/test.lua new file mode 100755 index 0000000..48212ba --- /dev/null +++ b/lualdap/tests/test.lua @@ -0,0 +1,89 @@ +#!/usr/local/bin/lua +-- LuaLDAP test file. +-- $Id: test.lua,v 1.1 2003-06-15 11:56:00 tomas Exp $ + +function print_attrs (attrs) + io.write (string.format (" [dn] : %s\n", attrs.dn)) + for name, values in pairs (attrs) do + if name ~= "dn" then + io.write ("["..name.."] : ") + if type (values) == "table" then + for i = 1, (table.getn (values)-1) do + io.write (values[i]..",") + end + io.write (values[table.getn(values)]) + else + io.write (values) + end + io.write ("\n") + end + end +end + +require"lualdap" + +if table.getn(arg) < 1 then + print (string.format ("Usage %s host[:port] base", arg[0])) + os.exit() +end + +local hostname = arg[1] +--local who = arg[2] +--local password = arg[3] +local base = arg[2] +local filter = arg[3] or "objectclass=*" +local attribs = {} +for n = 4, table.getn(arg) do + attribs[n-3] = arg[n] +end + +assert (lualdap, "couldn't load LDAP library") +local ld = assert (lualdap.open_simple (hostname, who, password)) +assert (ld:close () == 1, "couldn't close connection") +assert (pcall (ld.close, ld) == false) + +local ld = assert (lualdap.open_simple (hostname, who, password)) + +-- search +--for msg, attrs in ld:search_attribs (base, "subtree", filter, attribs) do + --print_attrs (attrs) +--end +--print ("search ok") + +-- compare +--print("compare", ld:compare ("videoID=676DE,ou=video,dc=teste,dc=br", "videoTitulo", "Tecnologias de Video Digital")) + +-- modify +print("modify", ld:modify ("videoID=676DE,ou=video,dc=teste,dc=br", { + { op = "a", type = "videoTitulo", values = "Tecnologias de Video Digital" }, +})) + + +--[[ +print"!!!" + +for msg, attrs in ld:search_attribs (base, "subtree", filter, { "videoID" }) do + print_attrs (attrs) +end + +print"!!!" + +local iter1, state1, first1 = ld:search_attribs (base, "subtree", filter, { "dn", "objectClass", "videoTitulo", }) +local iter2, state2, first2 = ld:search_attribs (base, "subtree", filter, { "dn", "videoID", "videoTitulo", }) + +local m1,a1 = iter1 (state1, first1) +io.write ("\n 1 >") +print_attrs (a1) +local m2,a2 = iter2 (state2, first2) +io.write ("\n 2 >") +print_attrs (a2) +m1,a1 = iter1 (state1, m1) +io.write ("\n 3 >") +print_attrs (a1) +m2,a2 = iter2 (state2, m2) +io.write ("\n 4 >") +print_attrs (a2) +--]] + +assert (ld:close () == 1, "couldn't close connection") +print("ok") |