Author: mimir
Date: 2006-08-27 20:39:50 +0000 (Sun, 27 Aug 2006)
New Revision: 17857

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

Log:
A couple of new tests.


rafal


Modified:
   branches/SAMBA_4_0/source/torture/libnet/libnet.c
   branches/SAMBA_4_0/source/torture/libnet/libnet_lookup.c
   branches/SAMBA_4_0/source/torture/libnet/libnet_user.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/libnet.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-08-27 20:37:23 UTC 
(rev 17856)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet.c   2006-08-27 20:39:50 UTC 
(rev 17857)
@@ -32,9 +32,11 @@
        register_torture_op("NET-API-LOOKUP", torture_lookup);
        register_torture_op("NET-API-LOOKUPHOST", torture_lookup_host);
        register_torture_op("NET-API-LOOKUPPDC", torture_lookup_pdc);
+       register_torture_op("NET-API-LOOKUPNAME", torture_lookup_sam_name);
        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-USERINFO", torture_userinfo_api);
        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);
@@ -42,6 +44,8 @@
        register_torture_op("NET-API-RPCCONN-DCINFO", 
torture_rpc_connect_dc_info);
        register_torture_op("NET-API-LISTSHARES", torture_listshares);
        register_torture_op("NET-API-DELSHARE", torture_delshare);
+       register_torture_op("NET-API-DOMOPENLSA", torture_domain_open_lsa);
+       register_torture_op("NET-API-DOMCLOSELSA", torture_domain_close_lsa);
 
        return NT_STATUS_OK;
 }

Modified: branches/SAMBA_4_0/source/torture/libnet/libnet_lookup.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/libnet_lookup.c    2006-08-27 
20:37:23 UTC (rev 17856)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_lookup.c    2006-08-27 
20:39:50 UTC (rev 17857)
@@ -165,3 +165,28 @@
        talloc_free(mem_ctx);
        return ret;
 }
+
+
+BOOL torture_lookup_sam_name(struct torture_context *torture)
+{
+       NTSTATUS status;
+       TALLOC_CTX *mem_ctx;
+       struct libnet_context *ctx;
+       struct libnet_LookupName r;
+
+       ctx = libnet_context_init(NULL);
+       ctx->cred = cmdline_credentials;
+
+       mem_ctx = talloc_init("torture lookup sam name");
+       if (mem_ctx == NULL) return False;
+
+       r.in.name = "Administrator";
+       r.in.domain_name = lp_workgroup();
+
+       status = libnet_LookupName(ctx, mem_ctx, &r);
+
+       talloc_free(mem_ctx);
+       talloc_free(ctx);
+
+       return True;
+}

Modified: branches/SAMBA_4_0/source/torture/libnet/libnet_user.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/libnet_user.c      2006-08-27 
20:37:23 UTC (rev 17856)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_user.c      2006-08-27 
20:39:50 UTC (rev 17857)
@@ -509,3 +509,64 @@
        talloc_free(mem_ctx);
        return ret;
 }
+
+
+BOOL torture_userinfo_api(struct torture_context *torture)
+{
+       const char *name = TEST_USERNAME;
+       const char *binding;
+       BOOL ret = True;
+       NTSTATUS status;
+       TALLOC_CTX *mem_ctx, *prep_mem_ctx;
+       struct libnet_context *ctx;
+       struct dcerpc_pipe *p;
+       struct policy_handle h;
+       struct lsa_String domain_name;
+       struct libnet_UserInfo req;
+
+       prep_mem_ctx = talloc_init("torture user info");
+       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;
+       }
+
+       ZERO_STRUCT(req);
+       
+       req.in.domain_name = domain_name.string;
+       req.in.user_name   = name;
+
+       status = libnet_UserInfo(ctx, mem_ctx, &req);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("libnet_UserInfo call failed: %s\n", nt_errstr(status));
+               ret = False;
+       }
+
+       if (!test_cleanup(ctx->samr.pipe, mem_ctx, &ctx->samr.handle, 
TEST_USERNAME)) {
+               printf("cleanup failed\n");
+               ret = False;
+               goto done;
+       }
+
+done:
+       talloc_free(ctx);
+       talloc_free(mem_ctx);
+       return ret;
+}

Reply via email to