Code

- fix explicit python version description and mention the password for
[roundup.git] / test / test_schema.py
index 5b2127c45dd09a47a5aeb03d09e22577c7fffd2e..a1f7359fe38f949751cc4f870652bc624fd55f94 100644 (file)
 # FOR A PARTICULAR PURPOSE.  THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-# 
-# $Id: test_schema.py,v 1.6 2001-12-03 21:33:39 richard Exp $ 
+#
+# $Id: test_schema.py,v 1.15 2004-10-16 12:43:11 a1s Exp $
 
 import unittest, os, shutil
 
-from roundup.backends import anydbm
+from roundup import configuration
+from roundup.backends import back_anydbm
 from roundup.hyperdb import String, Password, Link, Multilink, Date, \
-    Interval, Class
+    Interval
+
+config = configuration.CoreConfig()
+config.DATABASE = "_test_dir"
 
 class SchemaTestCase(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')
+        if os.path.exists(config.DATABASE):
+            shutil.rmtree(config.DATABASE)
+        os.makedirs(config.DATABASE + '/files')
+        self.db = back_anydbm.Database(config, 'admin')
+        self.db.post_init()
         self.db.clear()
 
     def tearDown(self):
-        shutil.rmtree('_test_dir')
+        self.db.close()
+        shutil.rmtree(config.DATABASE)
 
     def testA_Status(self):
-        status = Class(self.db, "status", name=String())
+        status = back_anydbm.Class(self.db, "status", name=String())
         self.assert_(status, 'no class object generated')
         status.setkey("name")
         val = status.create(name="unread")
@@ -60,40 +64,25 @@ class SchemaTestCase(unittest.TestCase):
         self.assertEqual(val, ['1', '2', '4'], 'blah')
 
     def testB_Issue(self):
-        issue = Class(self.db, "issue", title=String(), status=Link("status"))
+        issue = back_anydbm.Class(self.db, "issue", title=String(),
+            status=Link("status"))
         self.assert_(issue, 'no class object returned')
 
     def testC_User(self):
-        user = Class(self.db, "user", username=String(), password=Password())
+        user = back_anydbm.Class(self.db, "user", username=String(),
+            password=Password())
         self.assert_(user, 'no class object returned')
         user.setkey("username")
 
 
-def suite():
-   return unittest.makeSuite(SchemaTestCase, 'test')
+def test_suite():
+    suite = unittest.TestSuite()
+    suite.addTest(unittest.makeSuite(SchemaTestCase))
+    return suite
 
+if __name__ == '__main__':
+    runner = unittest.TextTestRunner()
+    unittest.main(testRunner=runner)
 
-#
-# $Log: not supported by cvs2svn $
-# Revision 1.5  2001/10/09 07:25:59  richard
-# Added the Password property type. See "pydoc roundup.password" for
-# implementation details. Have updated some of the documentation too.
-#
-# Revision 1.4  2001/08/07 00:24:43  richard
-# stupid typo
-#
-# Revision 1.3  2001/08/07 00:15:51  richard
-# Added the copyright/license notice to (nearly) all files at request of
-# Bizar Software.
-#
-# Revision 1.2  2001/07/29 07:01:39  richard
-# Added vim command to all source so that we don't get no steenkin' tabs :)
-#
-# Revision 1.1  2001/07/27 06:55:07  richard
-# moving tests -> test
-#
-# Revision 1.3  2001/07/25 04:34:31  richard
-# Added id and log to tests files...
-#
-#
-# vim: set filetype=python ts=4 sw=4 et si
+
+# vim: set filetype=python sts=4 sw=4 et si :