summaryrefslogtreecommitdiff
path: root/source4/torture/ldap
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2004-08-12 08:00:45 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:57:56 -0500
commit2e28edd233964f54b46fde10217f93f571ed1d6d (patch)
treea4c917b507e6554ed0b60b98a437b22a2100daed /source4/torture/ldap
parent8a0f6c9c7909162a9669197bc0238d0636de69da (diff)
downloadsamba-2e28edd233964f54b46fde10217f93f571ed1d6d.tar.gz
samba-2e28edd233964f54b46fde10217f93f571ed1d6d.tar.bz2
samba-2e28edd233964f54b46fde10217f93f571ed1d6d.zip
r1771: OK Let's add tests for ldap.
Thanks to Metze and Volker for their unvaluable support :) (This used to be commit e6a6c0737ab94d58930c0d4e1ef0bb4d99510833)
Diffstat (limited to 'source4/torture/ldap')
-rw-r--r--source4/torture/ldap/basic.c34
-rw-r--r--source4/torture/ldap/common.c40
2 files changed, 74 insertions, 0 deletions
diff --git a/source4/torture/ldap/basic.c b/source4/torture/ldap/basic.c
new file mode 100644
index 0000000000..2227d70421
--- /dev/null
+++ b/source4/torture/ldap/basic.c
@@ -0,0 +1,34 @@
+
+#include "includes.h"
+
+BOOL torture_ldap_basic(int dummy)
+{
+ NTSTATUS status;
+ struct ldap_connection *conn;
+ TALLOC_CTX *mem_ctx;
+ BOOL ret = True;
+ const char *host = lp_parm_string(-1, "torture", "host");
+ char *url;
+
+ mem_ctx = talloc_init("torture_ldap_basic");
+
+ url = talloc_asprintf(mem_ctx, "ldap://%s/", host);
+
+ status = torture_ldap_connection(&conn, url);
+ if (!NT_STATUS_IS_OK(status)) {
+ return False;
+ }
+
+ /* other basic tests here */
+
+ /* --- nothing yet :-) --- */
+
+ /* no more test we are closing */
+
+ talloc_destroy(mem_ctx);
+
+ torture_ldap_close(conn);
+
+ return ret;
+}
+
diff --git a/source4/torture/ldap/common.c b/source4/torture/ldap/common.c
new file mode 100644
index 0000000000..7d8dcbe4da
--- /dev/null
+++ b/source4/torture/ldap/common.c
@@ -0,0 +1,40 @@
+#include "includes.h"
+
+/* open a ldap connection to a server */
+/* TODO: Add support to pass over credentials */
+NTSTATUS torture_ldap_connection(struct ldap_connection **conn,
+ const char *url)
+{
+ NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
+ BOOL ret;
+
+ if (!url) {
+ printf("You must specify a url string\n");
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
+ *conn = new_ldap_connection();
+ if (!*conn) {
+ printf("Failed to initialize ldap_connection structure\n");
+ return status;
+ }
+
+ ret = ldap_setup_connection(*conn, url);
+ if (!ret) {
+ printf("Failed to connect with url [%s]", url);
+ /* FIXME: what abut actually implementing an ldap_connection_free() function ?
+ :-) sss */
+ return status;
+ }
+
+ return NT_STATUS_OK;
+}
+
+/* close an ldap connection to a server */
+NTSTATUS torture_ldap_close(struct ldap_connection *conn)
+{
+ /* FIXME: what about actually implementing ldap_close() ?
+ :-) sss */
+ return NT_STATUS_OK;
+}
+