raise
def search_expression_list(self, expressions, rounds,
- attrs=['cn'],
+ attrs=None,
scope=SCOPE_SUBTREE):
+ if attrs is None:
+ attrs = ['cn']
for expression in expressions:
t = time.time()
for i in range(rounds):
"""
return ldif
- def test_AddModifyClass(self, controls=[], class_pre="schemaInfo-Class-"):
+ def test_AddModifyClass(self, controls=None, class_pre="schemaInfo-Class-"):
+ if controls is None:
+ controls = []
+
# get initial schemaInfo
schi_before = self._getSchemaInfo()
if not opts.no_cleanup:
self.samdb.delete(self.ou, ['tree_delete:1'])
- def add_object(self, cn, objectclass, more_attrs={}):
+ def add_object(self, cn, objectclass, more_attrs=None):
+ if more_attrs is None:
+ more_attrs = {}
+
dn = "CN=%s,%s" % (cn, self.ou)
attrs = {'cn': cn,
'objectclass': objectclass,
return dn
- def add_objects(self, n, objectclass, prefix=None, more_attrs={}):
+ def add_objects(self, n, objectclass, prefix=None, more_attrs=None):
+ if more_attrs is None:
+ more_attrs = {}
if prefix is None:
prefix = objectclass
dns = []
super(OwnerGroupDescriptorTests, self).tearDown()
self.deleteAll()
- def check_user_belongs(self, user_dn, groups=[]):
+ def check_user_belongs(self, user_dn, groups=None):
""" Test whether user is member of the expected group(s) """
+ if groups is None:
+ groups = []
+
if groups != []:
# User is member of at least one additional group
res = self.ldb_admin.search(user_dn, attrs=["memberOf"])
if not opts.no_cleanup:
self.delete_ous()
- def add_object(self, cn, objectclass, ou=None, more_attrs={}):
+ def add_object(self, cn, objectclass, ou=None, more_attrs=None):
+ if more_attrs is None:
+ more_attrs = {}
+
dn = "CN=%s,%s" % (cn, ou)
attrs = {'cn': cn,
'objectclass': objectclass,
return dn
- def add_objects(self, n, objectclass, prefix=None, ou=None, more_attrs={}):
+ def add_objects(self, n, objectclass, prefix=None, ou=None, more_attrs=None):
+ if more_attrs is None:
+ more_attrs = {}
+
if prefix is None:
prefix = objectclass
dns = []
def GUID_string(self, guid):
return get_string(self.samdb.schema_format_value("objectGUID", guid))
- def search_guid(self, guid, attrs=["*"]):
+ def search_guid(self, guid, attrs=None):
+ if attrs is None:
+ attrs = ["*"]
+
res = self.samdb.search(base="<GUID=%s>" % self.GUID_string(guid),
scope=SCOPE_BASE, attrs=attrs,
controls=["show_deleted:1"])
print("OPTIONS %s" % " ".join(smbtorture4_options), file=sys.stderr)
-def plansmbtorture4testsuite(name, env, options, modname=None, environ={}):
+def plansmbtorture4testsuite(name, env, options, modname=None, environ=None):
+ if environ is None:
+ environ = {}
+
return selftesthelpers.plansmbtorture4testsuite(name,
env,
options,
subunitrun = valgrindify(python) + " " + os.path.join(samba4srcdir, "scripting/bin/subunitrun")
-def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, extra_args=[]):
+def planoldpythontestsuite(env, module, name=None, extra_path=None, environ=None, extra_args=None):
+ if extra_path is None:
+ extra_path = []
+ if environ is None:
+ environ = {}
+ if extra_args is None:
+ extra_args = []
environ = dict(environ)
py_path = list(extra_path)
if py_path:
return ctr
- def _check_replication(self, expected_dns, replica_flags, expected_links=[],
+ def _check_replication(self, expected_dns, replica_flags, expected_links=None,
drs_error=drsuapi.DRSUAPI_EXOP_ERR_NONE, drs=None, drs_handle=None,
highwatermark=None, uptodateness_vector=None,
more_flags=0, more_data=False,
"""
Makes sure that replication returns the specific error given.
"""
+ if expected_links is None:
+ expected_links = []
# send a DsGetNCChanges to the DC
ctr6 = self._get_replication(replica_flags,
return dn_list
- def _check_ctr6(self, ctr6, expected_dns=[], expected_links=[],
+ def _check_ctr6(self, ctr6, expected_dns=None, expected_links=None,
dn_ordered=True, links_ordered=True,
more_data=False, nc_object_count=0,
nc_linked_attributes_count=0, drs_error=0):
"""
Check that a ctr6 matches the specified parameters.
"""
+ if expected_dns is None:
+ expected_dns = []
+
+ if expected_links is None:
+ expected_links = []
+
ctr6_raw_dns = self._get_ctr6_dn_list(ctr6)
# filter out changes to the RID Set objects, as these can happen
(drs_handle, supported_extensions) = drs_DsBind(drs)
return (drs, drs_handle)
- def get_partial_attribute_set(self, attids=[drsuapi.DRSUAPI_ATTID_objectClass]):
+ def get_partial_attribute_set(self, attids=None):
+ if attids is None:
+ attids = [drsuapi.DRSUAPI_ATTID_objectClass]
partial_attribute_set = drsuapi.DsPartialAttributeSet()
partial_attribute_set.attids = attids
partial_attribute_set.num_attids = len(attids)
import time
-def drs_get_rodc_partial_attribute_set(samdb, samdb1, exceptions=[]):
+def drs_get_rodc_partial_attribute_set(samdb, samdb1, exceptions=None):
'''get a list of attributes for RODC replication'''
+ if exceptions is None:
+ exceptions = []
+
partial_attribute_set = drsuapi.DsPartialAttributeSet()
partial_attribute_set.version = 1