summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2022-03-04 23:35:26 +0100
committerJule Anger <janger@samba.org>2022-03-16 13:41:14 +0000
commit4b245891416d421bd6c0899d6098af16d1648d05 (patch)
treec44377d901b9886163c880c38b937dc14ad30e07
parentc35de738dad02b847aab18220228dcab6e45fab0 (diff)
downloadsamba-4b245891416d421bd6c0899d6098af16d1648d05.tar.gz
dsdb/tests: introduce assertLoginSuccess
This makes it possible to catch failures with knownfail entries. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13879 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> (cherry picked from commit 751ce671a4af32bc1c56433a5a1c8161377856c5)
-rwxr-xr-xsource4/dsdb/tests/python/login_basics.py7
-rw-r--r--source4/dsdb/tests/python/password_lockout_base.py13
2 files changed, 15 insertions, 5 deletions
diff --git a/source4/dsdb/tests/python/login_basics.py b/source4/dsdb/tests/python/login_basics.py
index d6cac6aa058..bf2e484dd9a 100755
--- a/source4/dsdb/tests/python/login_basics.py
+++ b/source4/dsdb/tests/python/login_basics.py
@@ -101,7 +101,7 @@ class BasicUserAuthTests(BasePasswordTestCase):
# check logging in with the correct password succeeds
test_creds.set_password(userpass)
- user_ldb = SamDB(url=self.host_url, credentials=test_creds, lp=self.lp)
+ user_ldb = self.assertLoginSuccess(self.host_url, test_creds, self.lp)
res = self._check_account(userdn,
badPwdCount=0,
badPasswordTime=badPasswordTime,
@@ -147,8 +147,7 @@ userPassword: %s
badPasswordTime = int(res[0]["badPasswordTime"][0])
else:
# for NTLM, logging in with the old password succeeds
- user_ldb = SamDB(url=self.host_url, credentials=test_creds,
- lp=self.lp)
+ user_ldb = self.assertLoginSuccess(self.host_url, test_creds, self.lp)
info_msg = 'Test NTLM login with old password succeeds'
res = self._check_account(userdn,
badPwdCount=0,
@@ -162,7 +161,7 @@ userPassword: %s
# check logging in with the new password succeeds
test_creds.set_password(new_password)
- user_ldb = SamDB(url=self.host_url, credentials=test_creds, lp=self.lp)
+ user_ldb = self.assertLoginSuccess(self.host_url, test_creds, self.lp)
res = self._check_account(userdn,
badPwdCount=0,
badPasswordTime=badPasswordTime,
diff --git a/source4/dsdb/tests/python/password_lockout_base.py b/source4/dsdb/tests/python/password_lockout_base.py
index b44dd30162b..d11c6439913 100644
--- a/source4/dsdb/tests/python/password_lockout_base.py
+++ b/source4/dsdb/tests/python/password_lockout_base.py
@@ -250,7 +250,7 @@ userPassword: """ + userpass + """
self.assertLoginFailure(self.host_url, fail_creds, self.lp)
# Succeed to reset everything to 0
- ldb = SamDB(url=self.host_url, credentials=creds, lp=self.lp)
+ ldb = self.assertLoginSuccess(self.host_url, creds, self.lp)
return ldb
@@ -265,6 +265,17 @@ userPassword: """ + userpass + """
"(got err %d, expected %d)" %
(num, errno)))
+ def assertLoginSuccess(self, url, creds, lp):
+ try:
+ ldb = SamDB(url=url, credentials=creds, lp=lp)
+ return ldb
+ except LdbError as e1:
+ (num, msg) = e1.args
+ self.assertEqual(num, LDB_SUCCESS,
+ ("Login failed - %d - %s" % (
+ num, msg)))
+
+
def setUp(self):
super(BasePasswordTestCase, self).setUp()