1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-29 15:42:04 +03:00

Fix PEP8 warning E225 missing whitespace around operator

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
Tim Beale
2018-07-27 13:26:23 +12:00
committed by Andrew Bartlett
parent 30e6e04c4c
commit 1a30a68b4a
6 changed files with 41 additions and 39 deletions

View File

@ -412,7 +412,8 @@ class cmd_domain_pwdsettings_pso_create(Command):
if num == ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS: if num == ldb.ERR_INSUFFICIENT_ACCESS_RIGHTS:
raise CommandError("Administrator permissions are needed to create a PSO.") raise CommandError("Administrator permissions are needed to create a PSO.")
else: else:
raise CommandError("Failed to create PSO '%s': %s" %(pso_dn, msg)) raise CommandError("Failed to create PSO '%s': %s" % (pso_dn,
msg))
class cmd_domain_pwdsettings_pso_set(Command): class cmd_domain_pwdsettings_pso_set(Command):
"""Modifies a Password Settings Object (PSO).""" """Modifies a Password Settings Object (PSO)."""
@ -489,7 +490,7 @@ class cmd_domain_pwdsettings_pso_set(Command):
show_pso_by_dn(self.outf, samdb, pso_dn, show_applies_to=False) show_pso_by_dn(self.outf, samdb, pso_dn, show_applies_to=False)
except ldb.LdbError as e: except ldb.LdbError as e:
(num, msg) = e.args (num, msg) = e.args
raise CommandError("Failed to update PSO '%s': %s" %(pso_dn, msg)) raise CommandError("Failed to update PSO '%s': %s" % (pso_dn, msg))
class cmd_domain_pwdsettings_pso_delete(Command): class cmd_domain_pwdsettings_pso_delete(Command):
@ -572,7 +573,7 @@ class cmd_domain_pwdsettings_pso_list(Command):
for pso in pso_list: for pso in pso_list:
precedence = pso['msDS-PasswordSettingsPrecedence'] precedence = pso['msDS-PasswordSettingsPrecedence']
self.outf.write("%-10s | %s\n" %(precedence, pso['name'])) self.outf.write("%-10s | %s\n" % (precedence, pso['name']))
class cmd_domain_pwdsettings_pso_show(Command): class cmd_domain_pwdsettings_pso_show(Command):
"""Display a Password Settings Object's details.""" """Display a Password Settings Object's details."""
@ -693,10 +694,10 @@ class cmd_domain_pwdsettings_pso_apply(Command):
raise CommandError("PSO '%s' already applies to '%s'" raise CommandError("PSO '%s' already applies to '%s'"
% (psoname, user_or_group)) % (psoname, user_or_group))
else: else:
raise CommandError("Failed to update PSO '%s': %s" %(psoname, raise CommandError("Failed to update PSO '%s': %s" % (psoname,
msg)) msg))
self.message("PSO '%s' applied to '%s'" %(psoname, user_or_group)) self.message("PSO '%s' applied to '%s'" % (psoname, user_or_group))
class cmd_domain_pwdsettings_pso_unapply(Command): class cmd_domain_pwdsettings_pso_unapply(Command):
@ -752,9 +753,10 @@ class cmd_domain_pwdsettings_pso_unapply(Command):
raise CommandError("PSO '%s' doesn't apply to '%s'" raise CommandError("PSO '%s' doesn't apply to '%s'"
% (psoname, user_or_group)) % (psoname, user_or_group))
else: else:
raise CommandError("Failed to update PSO '%s': %s" %(psoname, raise CommandError("Failed to update PSO '%s': %s" % (psoname,
msg)) msg))
self.message("PSO '%s' no longer applies to '%s'" %(psoname, user_or_group)) self.message("PSO '%s' no longer applies to '%s'" % (psoname,
user_or_group))
class cmd_domain_passwordsettings_pso(SuperCommand): class cmd_domain_passwordsettings_pso(SuperCommand):
"""Manage fine-grained Password Settings Objects (PSOs).""" """Manage fine-grained Password Settings Objects (PSOs)."""

View File

@ -33,8 +33,8 @@ class TestUser:
initial_password = "Initial12#" initial_password = "Initial12#"
self.name = username self.name = username
self.ldb = samdb self.ldb = samdb
self.dn = "CN=%s,%s,%s" %(username, (userou or "CN=Users"), self.dn = "CN=%s,%s,%s" % (username, (userou or "CN=Users"),
self.ldb.domain_dn()) self.ldb.domain_dn())
# store all passwords that have ever been used for this user, as well # store all passwords that have ever been used for this user, as well
# as a pwd_history that more closely resembles the history on the DC # as a pwd_history that more closely resembles the history on the DC
@ -154,9 +154,9 @@ class PasswordSettings:
Returns a object representing the default password settings that will Returns a object representing the default password settings that will
take effect (i.e. when no other Fine-Grained Password Policy applies) take effect (i.e. when no other Fine-Grained Password Policy applies)
""" """
pw_attrs=["minPwdAge", "lockoutDuration", "lockOutObservationWindow", pw_attrs = ["minPwdAge", "lockoutDuration", "lockOutObservationWindow",
"lockoutThreshold", "maxPwdAge", "minPwdAge", "minPwdLength", "lockoutThreshold", "maxPwdAge", "minPwdAge",
"pwdHistoryLength", "pwdProperties"] "minPwdLength", "pwdHistoryLength", "pwdProperties"]
res = samdb.search(samdb.domain_dn(), scope=ldb.SCOPE_BASE, res = samdb.search(samdb.domain_dn(), scope=ldb.SCOPE_BASE,
attrs=pw_attrs) attrs=pw_attrs)
@ -195,7 +195,7 @@ class PasswordSettings:
container = "CN=Password Settings Container,CN=System,%s" % base_dn container = "CN=Password Settings Container,CN=System,%s" % base_dn
self.name = name self.name = name
self.dn = "CN=%s,%s" %(name, container) self.dn = "CN=%s,%s" % (name, container)
self.ldb = samdb self.ldb = samdb
self.precedence = precedence self.precedence = precedence
self.complexity = complexity self.complexity = complexity

View File

@ -44,7 +44,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
"""Checks the PSO info in the DB matches what's expected""" """Checks the PSO info in the DB matches what's expected"""
# lookup the PSO in the DB # lookup the PSO in the DB
dn = "CN=%s,%s" %(pso_name, self.pso_container) dn = "CN=%s,%s" % (pso_name, self.pso_container)
pso_attrs = ['name', 'msDS-PasswordSettingsPrecedence', pso_attrs = ['name', 'msDS-PasswordSettingsPrecedence',
'msDS-PasswordReversibleEncryptionEnabled', 'msDS-PasswordReversibleEncryptionEnabled',
'msDS-PasswordHistoryLength', 'msDS-MinimumPasswordLength', 'msDS-PasswordHistoryLength', 'msDS-MinimumPasswordLength',
@ -113,7 +113,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
"-H", self.server, "-H", self.server,
self.user_auth) self.user_auth)
# make sure we clean-up after the test completes # make sure we clean-up after the test completes
self.obj_cleanup.append("CN=%s,%s" %(pso_name, self.pso_container)) self.obj_cleanup.append("CN=%s,%s" % (pso_name, self.pso_container))
self.assertCmdSuccess(result, out, err) self.assertCmdSuccess(result, out, err)
self.assertEquals(err,"","Shouldn't be any error messages") self.assertEquals(err,"","Shouldn't be any error messages")
@ -156,7 +156,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
"--max-pwd-age=50", "--max-pwd-age=50",
"-H", self.server, "-H", self.server,
self.user_auth) self.user_auth)
self.obj_cleanup.append("CN=%s,%s" %(pso_name, self.pso_container)) self.obj_cleanup.append("CN=%s,%s" % (pso_name, self.pso_container))
self.assertCmdSuccess(result, out, err) self.assertCmdSuccess(result, out, err)
self.assertEquals(err,"","Shouldn't be any error messages") self.assertEquals(err,"","Shouldn't be any error messages")
self.assertIn("successfully created", out) self.assertIn("successfully created", out)
@ -185,7 +185,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
"-H", self.server, "-H", self.server,
self.user_auth) self.user_auth)
# make sure we clean-up after the test completes # make sure we clean-up after the test completes
pso_settings.dn = "CN=%s,%s" %(pso_name, self.pso_container) pso_settings.dn = "CN=%s,%s" % (pso_name, self.pso_container)
self.obj_cleanup.append(pso_settings.dn) self.obj_cleanup.append(pso_settings.dn)
# sanity-check the cmd was successful # sanity-check the cmd was successful
@ -234,7 +234,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
self.assertCmdSuccess(result, out, err) self.assertCmdSuccess(result, out, err)
self.assertEquals(err,"","Shouldn't be any error messages") self.assertEquals(err,"","Shouldn't be any error messages")
self.assertIn("Deleted PSO", out) self.assertIn("Deleted PSO", out)
dn = "CN=%s,%s" %(pso_name, self.pso_container) dn = "CN=%s,%s" % (pso_name, self.pso_container)
self.obj_cleanup.remove(dn) self.obj_cleanup.remove(dn)
# check the object no longer exists in the DB # check the object no longer exists in the DB
@ -287,7 +287,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
# add the user to a new group # add the user to a new group
group_name = "test-PSO-group" group_name = "test-PSO-group"
dn = "CN=%s,%s" %(group_name, self.ldb.domain_dn()) dn = "CN=%s,%s" % (group_name, self.ldb.domain_dn())
self.ldb.add({"dn": dn, "objectclass": "group", self.ldb.add({"dn": dn, "objectclass": "group",
"sAMAccountName": group_name}) "sAMAccountName": group_name})
self.obj_cleanup.append(dn) self.obj_cleanup.append(dn)
@ -349,7 +349,7 @@ class PwdSettingsCmdTestCase(SambaToolCmdTest):
self._create_pso(pso_name) self._create_pso(pso_name)
user = TestUser("test-unpriv-user", self.ldb) user = TestUser("test-unpriv-user", self.ldb)
self.obj_cleanup.append(user.dn) self.obj_cleanup.append(user.dn)
unpriv_auth = "-U%s%%%s" %(user.name, user.get_password()) unpriv_auth = "-U%s%%%s" % (user.name, user.get_password())
# check we need admin privileges to be able to do anything to PSOs # check we need admin privileges to be able to do anything to PSOs
(result, out, err) = self.runsublevelcmd("domain", ("passwordsettings", (result, out, err) = self.runsublevelcmd("domain", ("passwordsettings",

View File

@ -77,7 +77,7 @@ class PasswordSettingsTestCase(PasswordTestCase):
def add_group(self, group_name): def add_group(self, group_name):
"""Creates a new group""" """Creates a new group"""
dn = "CN=%s,%s" %(group_name, self.ou) dn = "CN=%s,%s" % (group_name, self.ou)
self.ldb.add({"dn": dn, "objectclass": "group"}) self.ldb.add({"dn": dn, "objectclass": "group"})
return dn return dn
@ -116,7 +116,7 @@ class PasswordSettingsTestCase(PasswordTestCase):
except ldb.LdbError as e: except ldb.LdbError as e:
(num, msg) = e.args (num, msg) = e.args
# fail the test (rather than throw an error) # fail the test (rather than throw an error)
self.fail("Password '%s' unexpectedly rejected: %s" %(password, msg)) self.fail("Password '%s' unexpectedly rejected: %s" % (password, msg))
def assert_PSO_applied(self, user, pso): def assert_PSO_applied(self, user, pso):
""" """
@ -126,8 +126,8 @@ class PasswordSettingsTestCase(PasswordTestCase):
""" """
resultant_pso = user.get_resultant_PSO() resultant_pso = user.get_resultant_PSO()
self.assertTrue(resultant_pso == pso.dn, self.assertTrue(resultant_pso == pso.dn,
"Expected PSO %s, not %s" %(pso.name, "Expected PSO %s, not %s" % (pso.name,
str(resultant_pso))) str(resultant_pso)))
# we're mirroring the pwd_history for the user, so make sure this is # we're mirroring the pwd_history for the user, so make sure this is
# up-to-date, before we start making password changes # up-to-date, before we start making password changes
@ -485,7 +485,7 @@ class PasswordSettingsTestCase(PasswordTestCase):
# we can't wait around long enough for the max-age to expire, so instead # we can't wait around long enough for the max-age to expire, so instead
# just check the msDS-UserPasswordExpiryTimeComputed for the user # just check the msDS-UserPasswordExpiryTimeComputed for the user
attrs=['msDS-UserPasswordExpiryTimeComputed'] attrs = ['msDS-UserPasswordExpiryTimeComputed']
res = self.ldb.search(user.dn, attrs=attrs) res = self.ldb.search(user.dn, attrs=attrs)
domain_expiry = int(res[0]['msDS-UserPasswordExpiryTimeComputed'][0]) domain_expiry = int(res[0]['msDS-UserPasswordExpiryTimeComputed'][0])

View File

@ -159,8 +159,8 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase):
# object multiple times, so this might be noteworthy but doesn't # object multiple times, so this might be noteworthy but doesn't
# warrant failing the test # warrant failing the test
if (len(received_list) != len(expected_list)): if (len(received_list) != len(expected_list)):
print("Note: received %d objects but expected %d" %(len(received_list), print("Note: received %d objects but expected %d" % (len(received_list),
len(expected_list))) len(expected_list)))
# Check that we received every object that we were expecting # Check that we received every object that we were expecting
for dn in expected_list: for dn in expected_list:
@ -438,7 +438,7 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase):
self.assertTrue(len(received_links) == num_expected, self.assertTrue(len(received_links) == num_expected,
"Received %d links but expected %d" "Received %d links but expected %d"
%(len(received_links), num_expected)) % (len(received_links), num_expected))
for dn in objects_with_links: for dn in objects_with_links:
self.assert_object_has_link(dn, link_attr, received_links) self.assert_object_has_link(dn, link_attr, received_links)
@ -458,7 +458,7 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase):
# We didn't find the expected link attribute in the DB for the object. # We didn't find the expected link attribute in the DB for the object.
# Something has gone wrong somewhere... # Something has gone wrong somewhere...
self.assertTrue(link_attr in res[0], "%s in DB doesn't have attribute %s" self.assertTrue(link_attr in res[0], "%s in DB doesn't have attribute %s"
%(dn, link_attr)) % (dn, link_attr))
# find the received link in the list and assert that the target and # find the received link in the list and assert that the target and
# source GUIDs match what's in the DB # source GUIDs match what's in the DB
@ -477,7 +477,7 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase):
found = True found = True
if self._debug: if self._debug:
print("Link %s --> %s" %(dn[:25], link.targetDN[:25])) print("Link %s --> %s" % (dn[:25], link.targetDN[:25]))
break break
self.assertTrue(found, "Did not receive expected link for DN %s" % dn) self.assertTrue(found, "Did not receive expected link for DN %s" % dn)
@ -986,7 +986,7 @@ class DrsReplicaSyncIntegrityTestCase(drs_base.DrsBaseTestCase):
# create the link target (a server object) in the config NC # create the link target (a server object) in the config NC
rand = random.randint(1, 10000000) rand = random.randint(1, 10000000)
la_target = "CN=getncchanges-%d,CN=Servers,CN=Default-First-Site-Name," \ la_target = "CN=getncchanges-%d,CN=Servers,CN=Default-First-Site-Name," \
"CN=Sites,%s" %(rand, self.config_dn) "CN=Sites,%s" % (rand, self.config_dn)
self.add_object(la_target, objectclass="server") self.add_object(la_target, objectclass="server")
# add a cross-partition link between the two # add a cross-partition link between the two

View File

@ -113,7 +113,7 @@ class DrsReplicaLinkConflictTestCase(drs_base.DrsBaseTestCase):
# that the 2nd run doesn't hit objects that already exist. Add some # that the 2nd run doesn't hit objects that already exist. Add some
# randomness to the object DN to make it unique # randomness to the object DN to make it unique
rand = random.randint(1, 10000000) rand = random.randint(1, 10000000)
return "%s-%d,%s" %(obj_name, rand, self.ou) return "%s-%d,%s" % (obj_name, rand, self.ou)
def assert_attrs_match(self, res1, res2, attr, expected_count): def assert_attrs_match(self, res1, res2, attr, expected_count):
""" """
@ -122,17 +122,17 @@ class DrsReplicaLinkConflictTestCase(drs_base.DrsBaseTestCase):
""" """
actual_len = len(res1[0][attr]) actual_len = len(res1[0][attr])
self.assertTrue(actual_len == expected_count, self.assertTrue(actual_len == expected_count,
"Expected %u %s attributes, but got %u" %(expected_count, "Expected %u %s attributes, but got %u" % (expected_count,
attr, actual_len)) attr, actual_len))
actual_len = len(res2[0][attr]) actual_len = len(res2[0][attr])
self.assertTrue(actual_len == expected_count, self.assertTrue(actual_len == expected_count,
"Expected %u %s attributes, but got %u" %(expected_count, "Expected %u %s attributes, but got %u" % (expected_count,
attr, actual_len)) attr, actual_len))
# check DCs both agree on the same linked attributes # check DCs both agree on the same linked attributes
for val in res1[0][attr]: for val in res1[0][attr]:
self.assertTrue(val in res2[0][attr], self.assertTrue(val in res2[0][attr],
"%s '%s' not found on DC2" %(attr, val)) "%s '%s' not found on DC2" % (attr, val))
def zero_highwatermark(self): def zero_highwatermark(self):
"""Returns a zeroed highwatermark so that all DRS data gets returned""" """Returns a zeroed highwatermark so that all DRS data gets returned"""