svn commit: samba r6717 - in branches/SAMBA_4_0/source/torture/libnet: .

mimir at samba.org mimir at samba.org
Tue May 10 18:17:40 GMT 2005


Author: mimir
Date: 2005-05-10 18:17:40 +0000 (Tue, 10 May 2005)
New Revision: 6717

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6717

Log:
- torture test of async useradd function and monitor messages.
- make message handling functions static.


rafal


Modified:
   branches/SAMBA_4_0/source/torture/libnet/userinfo.c
   branches/SAMBA_4_0/source/torture/libnet/userman.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/userinfo.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/userinfo.c	2005-05-10 17:59:00 UTC (rev 6716)
+++ branches/SAMBA_4_0/source/torture/libnet/userinfo.c	2005-05-10 18:17:40 UTC (rev 6717)
@@ -204,7 +204,7 @@
 }
 
 
-void msg_handler(struct monitor_msg *m)
+static void msg_handler(struct monitor_msg *m)
 {
 	switch (m->type) {
 	case rpc_open_user:

Modified: branches/SAMBA_4_0/source/torture/libnet/userman.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/userman.c	2005-05-10 17:59:00 UTC (rev 6716)
+++ branches/SAMBA_4_0/source/torture/libnet/userman.c	2005-05-10 18:17:40 UTC (rev 6717)
@@ -22,6 +22,7 @@
 #include "includes.h"
 #include "librpc/gen_ndr/ndr_samr.h"
 #include "libnet/composite.h"
+#include "libcli/composite/monitor.h"
 
 #define TEST_USERNAME  "libnetusermantest"
 
@@ -88,6 +89,8 @@
 	user.in.domain_handle = *domain_handle;
 	user.in.username      = name;
 
+	printf("Testing rpc_composite_useradd\n");
+
 	status = rpc_composite_useradd(p, mem_ctx, &user);
 	if (!NT_STATUS_IS_OK(status)) {
 		printf("Failed to call sync rpc_composite_userinfo - %s\n", nt_errstr(status));
@@ -98,6 +101,46 @@
 }
 
 
+static void msg_handler(struct monitor_msg *m)
+{
+	switch (m->type) {
+	case rpc_create_user:
+		printf("monitor_msg: user created (rid=%d)\n", m->data.rpc_create_user.rid);
+		break;
+	}
+}
+
+
+static BOOL test_useradd_async(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+			       struct policy_handle *handle, const char* username)
+{
+	NTSTATUS status;
+	BOOL ret = True;
+	struct composite_context *c;
+	struct rpc_composite_useradd user;
+
+	user.in.domain_handle = *handle;
+	user.in.username      = username;
+	
+	printf("Testing async rpc_composite_useradd\n");
+	
+	c = rpc_composite_useradd_send(p, &user, msg_handler);
+	if (!c) {
+		printf("Failed to call async rpc_composite_useradd\n");
+		return False;
+	}
+
+	status = rpc_composite_useradd_recv(c, mem_ctx, &user);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("Calling async rpc_composite_useradd failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	return True;
+
+}
+
+
 static BOOL test_cleanup(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
 			 struct policy_handle *domain_handle, const char *username)
 {
@@ -269,6 +312,21 @@
 		goto done;
 	}
 
+	if (!test_opendomain(p, mem_ctx, &h, &domain_name)) {
+		ret = False;
+		goto done;
+	}
+
+	if (!test_useradd_async(p, mem_ctx, &h, name)) {
+		ret = False;
+		goto done;
+	}
+
+	if (!test_cleanup(p, mem_ctx, &h, name)) {
+		ret = False;
+		goto done;
+	}
+
 done:
 	talloc_free(mem_ctx);
 	return ret;



More information about the samba-cvs mailing list