Mercurial > p > roundup > code
annotate tests/test_schema.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 |
| rev | line source |
|---|---|
|
66
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 import unittest, os, shutil |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 from roundup.backends import anydbm |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 from roundup.hyperdb import String, Link, Multilink, Date, Interval, Class |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 class SchemaTestCase(unittest.TestCase): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 def setUp(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 class Database(anydbm.Database): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 pass |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 # remove previous test, ignore errors |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if os.path.exists('_test_dir'): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 shutil.rmtree('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 os.mkdir('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 self.db = Database('_test_dir', 'test') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 self.db.clear() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 def tearDown(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 self.db.close() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 shutil.rmtree('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 def testA_Status(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 status = Class(self.db, "status", name=String()) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 self.assert_(status, 'no class object generated') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 status.setkey("name") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 val = status.create(name="unread") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 self.assertEqual(val, '1', 'expecting "1"') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 val = status.create(name="in-progress") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 self.assertEqual(val, '2', 'expecting "2"') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 val = status.create(name="testing") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 self.assertEqual(val, '3', 'expecting "3"') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 val = status.create(name="resolved") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 self.assertEqual(val, '4', 'expecting "4"') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 val = status.count() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 self.assertEqual(val, 4, 'expecting 4') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 val = status.list() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 self.assertEqual(val, ['1', '2', '3', '4'], 'blah') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 val = status.lookup("in-progress") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 self.assertEqual(val, '2', 'expecting "2"') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 status.retire('3') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 val = status.list() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 self.assertEqual(val, ['1', '2', '4'], 'blah') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 def testB_Issue(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 issue = Class(self.db, "issue", title=String(), status=Link("status")) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 def testC_User(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 user = Class(self.db, "user", username=String(), password=String()) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 user.setkey("username") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 def suite(): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 return unittest.makeSuite(SchemaTestCase, 'test') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 |
