r16342: Placeholder for a function implementing NET-API-MODIFYUSER test.
authorRafal Szczesniak <mimir@samba.org>
Sun, 18 Jun 2006 22:26:30 +0000 (22:26 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:09:11 +0000 (14:09 -0500)
rafal
(This used to be commit 82ac02dd18e96312ca15b8f79f6f1e3c330d01de)

source4/torture/libnet/libnet.c
source4/torture/libnet/libnet_user.c

index 85708e492e1acad00d9dfd6572e6850fc9e97013..588b06bafac9bf4424b222d263dcbe90ed614f29 100644 (file)
@@ -34,6 +34,7 @@ NTSTATUS torture_net_init(void)
        register_torture_op("NET-API-LOOKUPPDC", torture_lookup_pdc);
        register_torture_op("NET-API-CREATEUSER", torture_createuser);
        register_torture_op("NET-API-DELETEUSER", torture_deleteuser);
+       register_torture_op("NET-API-MODIFYUSER", torture_modifyuser);
        register_torture_op("NET-API-RPCCONN-BIND", torture_rpc_connect_binding);
        register_torture_op("NET-API-RPCCONN-SRV", torture_rpc_connect_srv);
        register_torture_op("NET-API-RPCCONN-PDC", torture_rpc_connect_pdc);
index 244d6c16cae678443d86074c0ea297922e6aa031..4f1de6ed40f7b7284d0362612568b97b399e3cea 100644 (file)
@@ -27,7 +27,8 @@
 #include "torture/rpc/rpc.h"
 
 
-#define TEST_USERNAME  "libnetusertest"
+#define TEST_USERNAME        "libnetusertest"
+#define TEST_CHANGEDUSERNAME "newlibnetusertest"
 
 
 static BOOL test_cleanup(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
@@ -289,3 +290,58 @@ done:
        talloc_free(mem_ctx);
        return ret;
 }
+
+
+BOOL torture_modifyuser(struct torture_context *torture)
+{
+       NTSTATUS status;
+       const char *binding;
+       struct dcerpc_pipe *p;
+       TALLOC_CTX *prep_mem_ctx, *mem_ctx;
+       struct policy_handle h;
+       struct lsa_String domain_name;
+       const char *name = TEST_USERNAME;
+       struct libnet_context *ctx;
+       struct libnet_ModifyUser req;
+       BOOL ret = True;
+
+       prep_mem_ctx = talloc_init("prepare test_deleteuser");
+       binding = lp_parm_string(-1, "torture", "binding");
+
+       ctx = libnet_context_init(NULL);
+       ctx->cred = cmdline_credentials;
+
+       status = torture_rpc_connection(prep_mem_ctx,
+                                       &p,
+                                       &dcerpc_table_samr);
+       if (!NT_STATUS_IS_OK(status)) {
+               return False;
+       }
+
+       domain_name.string = lp_workgroup();
+       if (!test_opendomain(p, prep_mem_ctx, &h, &domain_name)) {
+               ret = False;
+               goto done;
+       }
+
+       if (!test_createuser(p, prep_mem_ctx, &h, name)) {
+               ret = False;
+               goto done;
+       }
+
+       mem_ctx = talloc_init("test_modifyuser");
+
+       req.in.user_name = TEST_USERNAME;
+       req.in.domain_name = lp_workgroup();
+
+       status = libnet_ModifyUser(ctx, mem_ctx, &req);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("libnet_ModifyUser call failed: %s\n", nt_errstr(status));
+               return False;
+       }
+
+done:
+       talloc_free(prep_mem_ctx);
+       talloc_free(mem_ctx);
+       return ret;
+}