libwbclient: Test wbcChangeUserPassword
authorVolker Lendecke <vl@samba.org>
Sat, 17 Apr 2010 13:50:31 +0000 (15:50 +0200)
committerVolker Lendecke <vl@samba.org>
Mon, 19 Apr 2010 12:27:20 +0000 (14:27 +0200)
nsswitch/libwbclient/tests/wbclient.c

index 09f8fdbae7e05361a5296cf2f338a31714b9f188..1a00f9d42369e81db002b967fadf26837ea69902 100644 (file)
@@ -574,6 +574,27 @@ static bool test_wbc_authenticate_user(struct torture_context *tctx)
        return test_wbc_authenticate_user_int(tctx, getenv("PASSWORD"));
 }
 
+static bool test_wbc_change_password(struct torture_context *tctx)
+{
+       wbcErr ret;
+
+       ret = wbcChangeUserPassword(getenv("USERNAME"), getenv("PASSWORD"),
+                                   "passW0rd");
+       torture_assert_wbc_equal(tctx, ret, WBC_ERR_SUCCESS,
+                                "wbcChangeUserPassword failed");
+
+       if (!test_wbc_authenticate_user_int(tctx, "passW0rd")) {
+               return false;
+       }
+
+       ret = wbcChangeUserPassword(getenv("USERNAME"), "passW0rd",
+                                   getenv("PASSWORD"));
+       torture_assert_wbc_equal(tctx, ret, WBC_ERR_SUCCESS,
+                                "wbcChangeUserPassword failed");
+
+       return test_wbc_authenticate_user_int(tctx, getenv("PASSWORD"));
+}
+
 static bool test_wbc_logon_user(struct torture_context *tctx)
 {
        struct wbcLogonUserParams params;
@@ -697,6 +718,8 @@ struct torture_suite *torture_wbclient(void)
                                      test_wbc_authenticate_user);
        torture_suite_add_simple_test(suite, "wbcLogonUser",
                                      test_wbc_logon_user);
+       torture_suite_add_simple_test(suite, "wbcChangeUserPassword",
+                                     test_wbc_change_password);
 
        return suite;
 }