From 6366a8dc2df6e72f162bb44d93b4d329ba8008a7 Mon Sep 17 00:00:00 2001 From: Rafal Szczesniak Date: Thu, 21 Jul 2005 22:33:47 +0000 Subject: r8693: Test code for usermod routine. rafal (This used to be commit 19f5ea9c9c2a46c110e5946605432116cb2ad7b3) --- source4/torture/libnet/userman.c | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) (limited to 'source4/torture/libnet') diff --git a/source4/torture/libnet/userman.c b/source4/torture/libnet/userman.c index a5049691ed5..0b499a2bd93 100644 --- a/source4/torture/libnet/userman.c +++ b/source4/torture/libnet/userman.c @@ -271,6 +271,25 @@ static BOOL test_userdel(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, } +static BOOL test_usermod(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, + struct policy_handle *handle, const char *username) +{ + NTSTATUS status; + struct libnet_rpc_usermod user; + + user.in.domain_handle = *handle; + user.in.username = username; + + status = libnet_rpc_usermod(p, mem_ctx, &user); + if (!NT_STATUS_IS_OK(status)) { + printf("Failed to call sync libnet_rpc_usermod - %s\n", nt_errstr(status)); + return False; + } + + return True; +} + + BOOL torture_useradd(void) { NTSTATUS status; @@ -376,3 +395,55 @@ done: talloc_free(mem_ctx); return ret; } + + +BOOL torture_usermod(void) +{ + NTSTATUS status; + const char *binding; + struct dcerpc_pipe *p; + struct policy_handle h; + struct lsa_String domain_name; + const char *name = TEST_USERNAME; + TALLOC_CTX *mem_ctx; + BOOL ret = True; + + mem_ctx = talloc_init("test_userdel"); + binding = lp_parm_string(-1, "torture", "binding"); + + status = torture_rpc_connection(mem_ctx, + &p, + DCERPC_SAMR_NAME, + DCERPC_SAMR_UUID, + DCERPC_SAMR_VERSION); + + if (!NT_STATUS_IS_OK(status)) { + return False; + } + + domain_name.string = lp_workgroup(); + + if (!test_opendomain(p, mem_ctx, &h, &domain_name)) { + ret = False; + goto done; + } + + if (!test_createuser(p, mem_ctx, &h, name)) { + ret = False; + goto done; + } + + if (!test_usermod(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; +} -- cgit