selftest python: get samba.tests.s3idmapdb to run with py3
authorNoel Power <noel.power@suse.com>
Thu, 22 Mar 2018 12:46:55 +0000 (12:46 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 5 Apr 2018 06:59:09 +0000 (08:59 +0200)
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
python/samba/samba3/__init__.py
python/samba/tests/s3idmapdb.py
selftest/tests.py

index 323953857d50473f99605c27c3d44659dee12bfd..a0bb76f68c1c942b6a8b6df825f9a107ad525093 100644 (file)
@@ -125,11 +125,11 @@ class Registry(DbDatabase):
 
 
 # High water mark keys
-IDMAP_HWM_GROUP = "GROUP HWM\0"
-IDMAP_HWM_USER = "USER HWM\0"
+IDMAP_HWM_GROUP = b"GROUP HWM\0"
+IDMAP_HWM_USER = b"USER HWM\0"
 
-IDMAP_GROUP_PREFIX = "GID "
-IDMAP_USER_PREFIX = "UID "
+IDMAP_GROUP_PREFIX = b"GID "
+IDMAP_USER_PREFIX = b"UID "
 
 # idmap version determines auto-conversion
 IDMAP_VERSION_V2 = 2
@@ -138,27 +138,27 @@ class IdmapDatabase(DbDatabase):
     """Samba 3 ID map database reader."""
 
     def _check_version(self):
-        assert fetch_int32(self.db, "IDMAP_VERSION\0") == IDMAP_VERSION_V2
+        assert fetch_int32(self.db, b"IDMAP_VERSION\0") == IDMAP_VERSION_V2
 
     def ids(self):
         """Retrieve a list of all ids in this database."""
         for k in self.db.iterkeys():
             if k.startswith(IDMAP_USER_PREFIX):
-                yield k.rstrip("\0").split(" ")
+                yield k.rstrip(b"\0").split(b" ")
             if k.startswith(IDMAP_GROUP_PREFIX):
-                yield k.rstrip("\0").split(" ")
+                yield k.rstrip(b"\0").split(b" ")
 
     def uids(self):
         """Retrieve a list of all uids in this database."""
-        for k in self.db.iterkeys():
+        for k in self.db:
             if k.startswith(IDMAP_USER_PREFIX):
-                yield int(k[len(IDMAP_USER_PREFIX):].rstrip("\0"))
+                yield int(k[len(IDMAP_USER_PREFIX):].rstrip(b"\0"))
 
     def gids(self):
         """Retrieve a list of all gids in this database."""
-        for k in self.db.iterkeys():
+        for k in self.db:
             if k.startswith(IDMAP_GROUP_PREFIX):
-                yield int(k[len(IDMAP_GROUP_PREFIX):].rstrip("\0"))
+                yield int(k[len(IDMAP_GROUP_PREFIX):].rstrip(b"\0"))
 
     def get_sid(self, xid, id_type):
         """Retrive SID associated with a particular id and type.
@@ -177,16 +177,16 @@ class IdmapDatabase(DbDatabase):
         :param uid: UID to retrieve SID for.
         :return: A SID or None if no mapping was found.
         """
-        data = self.db.get("%s%d\0" % (IDMAP_USER_PREFIX, uid))
+        data = self.db.get(b"%s%d\0" % (IDMAP_USER_PREFIX, uid))
         if data is None:
             return data
-        return data.rstrip("\0")
+        return data.rstrip(b"\0")
 
     def get_group_sid(self, gid):
-        data = self.db.get("%s%d\0" % (IDMAP_GROUP_PREFIX, gid))
+        data = self.db.get(b"%s%d\0" % (IDMAP_GROUP_PREFIX, gid))
         if data is None:
             return data
-        return data.rstrip("\0")
+        return data.rstrip(b"\0")
 
     def get_user_hwm(self):
         """Obtain the user high-water mark."""
index aa2784041110842be1b6e109108c6c3e03bab7ae..1f510f10bade7dc2468cdbd2331ba368153c0156 100644 (file)
@@ -47,10 +47,10 @@ class IdmapDbTestCase(TestCase):
         self.assertEquals(3, len(list(self.idmapdb.gids())))
 
     def test_get_user_sid(self):
-        self.assertEquals("S-1-5-21-58189338-3053988021-627566699-501", self.idmapdb.get_user_sid(65534))
+        self.assertEquals(b"S-1-5-21-58189338-3053988021-627566699-501", self.idmapdb.get_user_sid(65534))
 
     def test_get_group_sid(self):
-        self.assertEquals("S-1-5-21-2447931902-1787058256-3961074038-3007", self.idmapdb.get_group_sid(10001))
+        self.assertEquals(b"S-1-5-21-2447931902-1787058256-3961074038-3007", self.idmapdb.get_group_sid(10001))
 
     def tearDown(self):
         self.idmapdb.close()
index ea1e638f6f55e3de9835b1c7c6701ad7b389b51e..1dbbb0e5fc2f0a7e382e62aa02cf03c5664b81e3 100644 (file)
@@ -79,7 +79,7 @@ planpythontestsuite("none", "samba.tests.s3param", py3_compatible=True)
 planpythontestsuite("none", "samba.tests.s3passdb", py3_compatible=True)
 planpythontestsuite("none", "samba.tests.s3registry", py3_compatible=True)
 planpythontestsuite("none", "samba.tests.s3windb", py3_compatible=True)
-planpythontestsuite("none", "samba.tests.s3idmapdb")
+planpythontestsuite("none", "samba.tests.s3idmapdb", py3_compatible=True)
 planpythontestsuite("none", "samba.tests.samba3sam")
 planpythontestsuite(
     "none", "wafsamba.tests.test_suite",