r25444: Add an initial version of a WINBIND-STRUCT-GETPWENT test.
authorMichael Adam <obnox@samba.org>
Mon, 1 Oct 2007 15:49:56 +0000 (15:49 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:07:34 +0000 (15:07 -0500)
To be extended...

Michael

source/torture/winbind/struct_based.c

index 0b9391bcd86d8c5334cb1b68e5f8308c1018f818..a3751580600256eb0131fb4d53a0ac913538ae3f 100644 (file)
@@ -697,6 +697,33 @@ static bool torture_winbind_struct_setpwent(struct torture_context *torture)
        return true;
 }
 
+static bool torture_winbind_struct_getpwent(struct torture_context *torture)
+{
+       struct winbindd_request req;
+       struct winbindd_response rep;
+       struct winbindd_pw *pwent;
+
+       torture_comment(torture, "Running WINBINDD_GETPWENT (struct based)\n");
+
+       torture_comment(torture, " - Running WINBINDD_SETPWENT first\n");
+       ZERO_STRUCT(req);
+       ZERO_STRUCT(rep);
+       DO_STRUCT_REQ_REP(WINBINDD_SETPWENT, &req, &rep);
+
+       torture_comment(torture, " - Running WINBINDD_GETPWENT now\n");
+       ZERO_STRUCT(req);
+       ZERO_STRUCT(rep);
+       req.data.num_entries = 1;
+       DO_STRUCT_REQ_REP(WINBINDD_GETPWENT, &req, &rep);
+       pwent = (struct winbindd_pw *)rep.extra_data.data;
+       torture_assert(torture, (pwent != NULL), "NULL pwent");
+       torture_comment(torture, "name: %s, uid: %d, gid: %d, shell: %s\n",
+                       pwent->pw_name, pwent->pw_uid, pwent->pw_gid,
+                       pwent->pw_shell);
+
+       return true;
+}
+
 static bool torture_winbind_struct_endpwent(struct torture_context *torture)
 {
        struct winbindd_request req;
@@ -731,6 +758,7 @@ struct torture_suite *torture_winbind_struct_init(void)
        torture_suite_add_simple_test(suite, "LIST_GROUPS", torture_winbind_struct_list_groups);
        torture_suite_add_simple_test(suite, "SHOW_SEQUENCE", torture_winbind_struct_show_sequence);
        torture_suite_add_simple_test(suite, "SETPWENT", torture_winbind_struct_setpwent);
+       torture_suite_add_simple_test(suite, "GETPWENT", torture_winbind_struct_getpwent);
        torture_suite_add_simple_test(suite, "ENDPWENT", torture_winbind_struct_endpwent);
 
        suite->description = talloc_strdup(suite, "WINBIND - struct based protocol tests");