s4-tests: Wrap connect_samdb() into a connect_samdb_ex() helper
authorKamen Mazdrashki <kamenim@samba.org>
Mon, 22 Nov 2010 13:03:59 +0000 (15:03 +0200)
committerKamen Mazdrashki <kamenim@samba.org>
Mon, 22 Nov 2010 13:37:40 +0000 (15:37 +0200)
Thus caller will be able to connect to SamDB and fetch
RootDSE info in a single step

source4/scripting/python/samba/tests/__init__.py

index 63faf16919be20ec74571854c9c964bd9b223f65..0519fd8dc55e842c88ac8a0fdcc4b796bbb13e72 100644 (file)
@@ -157,3 +157,21 @@ def connect_samdb(samdb_url, lp=None, session_info=None,
                  credentials=credentials,
                  flags=flags,
                  options=ldb_options)
+
+def connect_samdb_ex(samdb_url, lp=None, session_info=None,
+                     credentials=None, flags=0, ldb_options=None, ldap_only=False):
+    """Connects to samdb_url database
+
+    :param samdb_url: Url for database to connect to.
+    :param lp: Optional loadparm object
+    :param session_info: Optional session information
+    :param credentials: Optional credentials, defaults to anonymous.
+    :param flags: Optional LDB flags
+    :param ldap_only: If set, only remote LDAP connection will be created.
+    :return: (sam_db_connection, rootDse_record) tuple
+    """
+    sam_db = connect_samdb(samdb_url, lp, session_info, credentials, 
+                           flags, ldb_options, ldap_only)
+    # fetch RootDse
+    res = sam_db.search(base="", expression="", scope=ldb.SCOPE_BASE, attrs=["*"])
+    return (sam_db, res[0])