summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2022-05-10 12:49:50 +1200
committerAndrew Bartlett <abartlet@samba.org>2022-05-10 23:05:31 +0000
commit05a7092fdaf31b9264318208eeba3f306712f638 (patch)
treea0cd699e80037dded0a7f731d2de99a329acd545 /python
parenta71c62404ab1e669841cc40f98a5f1b51aba2c65 (diff)
downloadsamba-05a7092fdaf31b9264318208eeba3f306712f638.tar.gz
samba-05a7092fdaf31b9264318208eeba3f306712f638.tar.bz2
samba-05a7092fdaf31b9264318208eeba3f306712f638.zip
tests/samba-tool user_wdigest: Fix flapping test
The randomly-generated password for the user account may be too weak, causing account creation to fail. This leads to further problems, as the result of the command is not checked, and connecting over LDAP means transactions cannot be used, leading to a half-created account and failing tests. Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python')
-rw-r--r--python/samba/tests/samba_tool/user_wdigest.py68
1 files changed, 31 insertions, 37 deletions
diff --git a/python/samba/tests/samba_tool/user_wdigest.py b/python/samba/tests/samba_tool/user_wdigest.py
index f00da61192e..dd728e1f6be 100644
--- a/python/samba/tests/samba_tool/user_wdigest.py
+++ b/python/samba/tests/samba_tool/user_wdigest.py
@@ -21,16 +21,9 @@ import os
import samba
from samba.tests.samba_tool.base import SambaToolCmdTest
from hashlib import md5
-import random
-import string
USER_NAME = "WdigestTestUser"
-# Create a random 32 character password, containing only letters and
-# digits to avoid issues when used on the command line.
-USER_PASS = ''.join(random.choice(string.ascii_uppercase +
- string.ascii_lowercase +
- string.digits) for _ in range(32))
# Calculate the MD5 password digest from the supplied user, realm and password
#
@@ -67,10 +60,11 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
expression="ncName=%s" % self.samdb.get_default_basedn(),
attrs=["nETBIOSName"])
self.netbios_domain = str(res[0]["nETBIOSName"][0])
+ self.password = self.random_password()
self.runsubcmd("user",
"create",
USER_NAME,
- USER_PASS,
+ self.password,
"-H",
"ldap://%s" % os.environ["DC_SERVER"],
"-U%s%%%s" % (
@@ -123,7 +117,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest01"
expected = calc_digest(USER_NAME,
self.netbios_domain,
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash02 MD5(LOWER(sAMAccountName),
@@ -134,7 +128,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest02"
expected = calc_digest(USER_NAME.lower(),
self.netbios_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash03 MD5(UPPER(sAMAccountName),
@@ -145,7 +139,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest03"
expected = calc_digest(USER_NAME.upper(),
self.netbios_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash04 MD5(sAMAccountName,
@@ -156,7 +150,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest04"
expected = calc_digest(USER_NAME,
self.netbios_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash05 MD5(sAMAccountName,
@@ -167,7 +161,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest05"
expected = calc_digest(USER_NAME,
self.netbios_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash06 MD5(UPPER(sAMAccountName),
@@ -178,7 +172,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest06"
expected = calc_digest(USER_NAME.upper(),
self.netbios_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash07 MD5(LOWER(sAMAccountName),
@@ -189,7 +183,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest07"
expected = calc_digest(USER_NAME.lower(),
self.netbios_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash08 MD5(sAMAccountName,
@@ -204,7 +198,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest08"
expected = calc_digest(USER_NAME,
self.dns_domain,
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash09 MD5(LOWER(sAMAccountName),
@@ -215,7 +209,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest09"
expected = calc_digest(USER_NAME.lower(),
self.dns_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash10 MD5(UPPER(sAMAccountName),
@@ -226,7 +220,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest10"
expected = calc_digest(USER_NAME.upper(),
self.dns_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash11 MD5(sAMAccountName,
@@ -237,7 +231,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest11"
expected = calc_digest(USER_NAME,
self.dns_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash12 MD5(sAMAccountName,
@@ -248,7 +242,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest12"
expected = calc_digest(USER_NAME,
self.dns_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash13 MD5(UPPER(sAMAccountName),
@@ -259,7 +253,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest13"
expected = calc_digest(USER_NAME.upper(),
self.dns_domain.lower(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash14 MD5(LOWER(sAMAccountName),
@@ -271,7 +265,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest14"
expected = calc_digest(USER_NAME.lower(),
self.dns_domain.upper(),
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash15 MD5(userPrincipalName,
@@ -282,7 +276,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME, self.dns_domain)
expected = calc_digest(name,
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash16 MD5(LOWER(userPrincipalName),
@@ -293,7 +287,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME.lower(), self.dns_domain.lower())
expected = calc_digest(name,
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash17 MD5(UPPER(userPrincipalName),
@@ -304,7 +298,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME.upper(), self.dns_domain.upper())
expected = calc_digest(name,
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash18 MD5(NETBIOSDomainName\sAMAccountName,
@@ -315,7 +309,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain, USER_NAME)
expected = calc_digest(name,
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash19 MD5(LOWER(NETBIOSDomainName\sAMAccountName),
@@ -326,7 +320,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain, USER_NAME)
expected = calc_digest(name.lower(),
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash20 MD5(UPPER(NETBIOSDomainName\sAMAccountName),
@@ -337,7 +331,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain, USER_NAME)
expected = calc_digest(name.upper(),
"",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash21 MD5(sAMAccountName,
@@ -348,7 +342,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest21"
expected = calc_digest(USER_NAME,
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash22 MD5(LOWER(sAMAccountName),
@@ -359,7 +353,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest22"
expected = calc_digest(USER_NAME.lower(),
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash23 MD5(UPPER(sAMAccountName),
@@ -370,7 +364,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
attribute = "virtualWDigest23"
expected = calc_digest(USER_NAME.upper(),
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash24 MD5(userPrincipalName),
@@ -382,7 +376,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME, self.dns_domain)
expected = calc_digest(name,
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash25 MD5(LOWER(userPrincipalName),
@@ -394,7 +388,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME, self.dns_domain.lower())
expected = calc_digest(name.lower(),
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash26 MD5(UPPER(userPrincipalName),
@@ -406,7 +400,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s@%s" % (USER_NAME, self.dns_domain.lower())
expected = calc_digest(name.upper(),
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash27 MD5(NETBIOSDomainName\sAMAccountName,
# "Digest",
@@ -418,7 +412,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain, USER_NAME)
expected = calc_digest(name,
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash28 MD5(LOWER(NETBIOSDomainName\sAMAccountName),
@@ -430,7 +424,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain.lower(), USER_NAME.lower())
expected = calc_digest(name,
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
# Hash29 MD5(UPPER(NETBIOSDomainName\sAMAccountName),
@@ -442,7 +436,7 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
name = "%s\\%s" % (self.netbios_domain.upper(), USER_NAME.upper())
expected = calc_digest(name,
"Digest",
- USER_PASS)
+ self.password)
self._testWDigest(attribute, expected)
def test_Wdigest30(self):