summaryrefslogtreecommitdiffstats
path: root/source4/scripting/python/samba/tests/samba3.py
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-24 13:04:33 -0600
committerStefan Metzmacher <metze@samba.org>2007-12-26 11:57:04 -0600
commit95b1f554b2c57a9f975a0cc27ca51bec6c7594d6 (patch)
treed7ad7acc55c859e5a018666d0deed19f9e5efcd9 /source4/scripting/python/samba/tests/samba3.py
parent6c9a2a3c52592e12d9cb0b312dbeee4311aa0c24 (diff)
downloadsamba-95b1f554b2c57a9f975a0cc27ca51bec6c7594d6.tar.gz
samba-95b1f554b2c57a9f975a0cc27ca51bec6c7594d6.tar.xz
samba-95b1f554b2c57a9f975a0cc27ca51bec6c7594d6.zip
r26587: Fix reading Samba 3 WINS database and initial work on group db, aliases and secrets.
(This used to be commit c7c4cf258ac7975b409d26c9386838d4780c756f)
Diffstat (limited to 'source4/scripting/python/samba/tests/samba3.py')
-rw-r--r--source4/scripting/python/samba/tests/samba3.py55
1 files changed, 54 insertions, 1 deletions
diff --git a/source4/scripting/python/samba/tests/samba3.py b/source4/scripting/python/samba/tests/samba3.py
index 0d56ca91173..92d11d11d44 100644
--- a/source4/scripting/python/samba/tests/samba3.py
+++ b/source4/scripting/python/samba/tests/samba3.py
@@ -18,7 +18,8 @@
#
import unittest
-from samba.samba3 import GroupMappingDatabase, Registry, PolicyDatabase
+from samba.samba3 import (GroupMappingDatabase, Registry, PolicyDatabase, SecretsDatabase, TdbSam,
+ WinsDatabase)
import os
DATADIR=os.path.join(os.path.dirname(__file__), "../../../../../testdata/samba3")
@@ -59,3 +60,55 @@ class GroupsTestCase(unittest.TestCase):
def setUp(self):
self.groupdb = GroupMappingDatabase(os.path.join(DATADIR, "group_mapping.tdb"))
+ def tearDown(self):
+ self.groupdb.close()
+
+ def test_group_length(self):
+ self.assertEquals(13, len(list(self.groupdb.groupsids())))
+
+ def test_groupsids(self):
+ sids = list(self.groupdb.groupsids())
+ self.assertTrue("S-1-5-32-544" in sids)
+
+ def test_alias_length(self):
+ self.assertEquals(0, len(list(self.groupdb.aliases())))
+
+
+class SecretsDbTestCase(unittest.TestCase):
+ def setUp(self):
+ self.secretsdb = SecretsDatabase(os.path.join(DATADIR, "secrets.tdb"))
+
+ def tearDown(self):
+ self.secretsdb.close()
+
+ def test_get_sid(self):
+ self.assertTrue(self.secretsdb.get_sid("BEDWYR") is not None)
+
+
+class TdbSamTestCase(unittest.TestCase):
+ def setUp(self):
+ self.samdb = TdbSam(os.path.join(DATADIR, "passdb.tdb"))
+
+ def tearDown(self):
+ self.samdb.close()
+
+ def test_usernames(self):
+ self.assertEquals(3, len(list(self.samdb.usernames())))
+
+
+class WinsDatabaseTestCase(unittest.TestCase):
+ def setUp(self):
+ self.winsdb = WinsDatabase(os.path.join(DATADIR, "wins.dat"))
+
+ def test_length(self):
+ self.assertEquals(22, len(self.winsdb))
+
+ def test_first_entry(self):
+ self.assertEqual((1124185120, ["192.168.1.5"], "64R"), self.winsdb["ADMINISTRATOR#03"])
+
+ def tearDown(self):
+ self.winsdb.close()
+
+# FIXME: smbpasswd
+# FIXME: idmapdb
+# FIXME: Shares