r26634: Add NET-API-CREATEGROUP test.
authorRafal Szczesniak <mimir@samba.org>
Mon, 31 Dec 2007 01:18:17 +0000 (19:18 -0600)
committerStefan Metzmacher <metze@samba.org>
Sun, 30 Dec 2007 19:21:01 +0000 (13:21 -0600)
(This used to be commit 3d7a18b8231a98ac40bcfb8287b100209190beab)

source4/torture/libnet/libnet.c
source4/torture/libnet/libnet_group.c

index 0bb70df1e092cb482d7c55b9c18dc628eef04758..261012edaea2d6fde9b033817f71e3fdf6afaaa3 100644 (file)
@@ -43,6 +43,7 @@ NTSTATUS torture_net_init(void)
        torture_suite_add_simple_test(suite, "API-USERLIST", torture_userlist);
        torture_suite_add_simple_test(suite, "API-GROUPINFO", torture_groupinfo_api);
        torture_suite_add_simple_test(suite, "API-GROUPLIST", torture_grouplist);
+       torture_suite_add_simple_test(suite, "API-CREATEGROUP", torture_creategroup);
        torture_suite_add_simple_test(suite, "API-RPCCONN-BIND", torture_rpc_connect_binding);
        torture_suite_add_simple_test(suite, "API-RPCCONN-SRV", torture_rpc_connect_srv);
        torture_suite_add_simple_test(suite, "API-RPCCONN-PDC", torture_rpc_connect_pdc);
index 83aab48e90e2c78c667199ed6653c8dd2783d54a..cabccdbe66f38b4a6cdf02799f2f5476dd3d58fa 100644 (file)
@@ -349,3 +349,45 @@ done:
        talloc_free(mem_ctx);
        return ret;
 }
+
+
+bool torture_creategroup(struct torture_context *torture)
+{
+       bool ret = true;
+       NTSTATUS status;
+       TALLOC_CTX *mem_ctx = NULL;
+       struct libnet_context *ctx;
+       struct libnet_CreateGroup req;
+
+       mem_ctx = talloc_init("test_creategroup");
+
+       ctx = libnet_context_init(NULL, torture->lp_ctx);
+       ctx->cred = cmdline_credentials;
+
+       req.in.group_name = TEST_GROUPNAME;
+       req.in.domain_name = lp_workgroup(torture->lp_ctx);
+       req.out.error_string = NULL;
+
+       status = libnet_CreateGroup(ctx, mem_ctx, &req);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("libnet_CreateGroup call failed: %s\n", nt_errstr(status));
+               ret = false;
+               goto done;
+       }
+
+       if (!test_cleanup(ctx->samr.pipe, mem_ctx, &ctx->samr.handle, TEST_GROUPNAME)) {
+               printf("cleanup failed\n");
+               ret = false;
+               goto done;
+       }
+
+       if (!test_samr_close(ctx->samr.pipe, mem_ctx, &ctx->samr.handle)) {
+               printf("domain close failed\n");
+               ret = false;
+       }
+
+done:
+       talloc_free(ctx);
+       talloc_free(mem_ctx);
+       return ret;
+}