Code

- fix explicit python version description and mention the password for
[roundup.git] / test / test_schema.py
index 4302861fee05c2dbd5fac50aa9cd99c61183d098..a1f7359fe38f949751cc4f870652bc624fd55f94 100644 (file)
@@ -1,27 +1,48 @@
-# $Id: test_schema.py,v 1.2 2001-07-29 07:01:39 richard Exp $ 
+#
+# Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
+# This module is free software, and you may redistribute it and/or modify
+# under the same terms as Python, so long as this copyright message and
+# disclaimer are retained in their original form.
+#
+# IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
+# DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
+# OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+# BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# 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.15 2004-10-16 12:43:11 a1s Exp $
 
 import unittest, os, shutil
 
-from roundup.backends import anydbm
-from roundup.hyperdb import String, Link, Multilink, Date, Interval, Class
+from roundup import configuration
+from roundup.backends import back_anydbm
+from roundup.hyperdb import String, Password, Link, Multilink, Date, \
+    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):
         self.db.close()
-        shutil.rmtree('_test_dir')
+        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")
@@ -43,26 +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=String())
+        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.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 :