diff tests/test_db.py @ 66:b936635f142d

Added some unit tests
author Richard Jones <richard@users.sourceforge.net>
date Tue, 24 Jul 2001 05:22:55 +0000
parents
children 5147b4c51fd5
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_db.py	Tue Jul 24 05:22:55 2001 +0000
@@ -0,0 +1,53 @@
+import unittest, os, shutil
+
+from roundup.backends import anydbm
+from roundup.hyperdb import String, Link, Multilink, Date, Interval, Class
+
+def setupSchema(db):
+    status = Class(db, "status", name=String())
+    status.setkey("name")
+    status.create(name="unread")
+    status.create(name="in-progress")
+    status.create(name="testing")
+    status.create(name="resolved")
+    Class(db, "user", username=String(), password=String())
+    Class(db, "issue", title=String(), status=Link("status"))
+
+class DBTestCase(unittest.TestCase):
+    def setUp(self):
+        class Database(anydbm.Database):
+            pass
+        # remove previous test, ignore errors
+        if os.path.exists('_test_dir'):
+            shutil.rmtree('_test_dir')
+        os.mkdir('_test_dir')
+        self.db = Database('_test_dir', 'test')
+        setupSchema(self.db)
+
+    def tearDown(self):
+        self.db.close()
+        shutil.rmtree('_test_dir')
+
+    def testChanges(self):
+        self.db.issue.create(title="spam", status='1')
+        self.db.issue.create(title="eggs", status='2')
+        self.db.issue.create(title="ham", status='4')
+        self.db.issue.create(title="arguments", status='2')
+        self.db.issue.create(title="abuse", status='1')
+        self.db.issue.addprop(fixer=Link("user"))
+        self.db.issue.getprops()
+#{"title": <hyperdb.String>, "status": <hyperdb.Link to "status">,
+#"user": <hyperdb.Link to "user">}
+        self.db.issue.set('5', status=2)
+        self.db.issue.get('5', "status")
+        self.db.status.get('2', "name")
+        self.db.issue.get('5', "title")
+        self.db.issue.find(status = self.db.status.lookup("in-progress"))
+        self.db.issue.history('5')
+        self.db.status.history('1')
+        self.db.status.history('2')
+
+
+def suite():
+   return unittest.makeSuite(DBTestCase, 'test')
+

Roundup Issue Tracker: http://roundup-tracker.org/