Mercurial > p > roundup > code
annotate tests/test_db.py @ 82:f1cffcad4903
Added id and log to tests files...
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 25 Jul 2001 04:34:31 +0000 |
| parents | e1ce700bd7b9 |
| children | d3dcac043ab0 |
| rev | line source |
|---|---|
|
82
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
1 # $Id: test_db.py,v 1.4 2001-07-25 04:34:31 richard Exp $ |
|
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
2 |
|
66
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 import unittest, os, shutil |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 from roundup.backends import anydbm |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 from roundup.hyperdb import String, Link, Multilink, Date, Interval, Class |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 def setupSchema(db): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 status = Class(db, "status", name=String()) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 status.setkey("name") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 status.create(name="unread") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 status.create(name="in-progress") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 status.create(name="testing") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 status.create(name="resolved") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 Class(db, "user", username=String(), password=String()) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 Class(db, "issue", title=String(), status=Link("status")) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 class DBTestCase(unittest.TestCase): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 def setUp(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 class Database(anydbm.Database): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 pass |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 # remove previous test, ignore errors |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 if os.path.exists('_test_dir'): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 shutil.rmtree('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 os.mkdir('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 self.db = Database('_test_dir', 'test') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 setupSchema(self.db) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 def tearDown(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 self.db.close() |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 shutil.rmtree('_test_dir') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 def testChanges(self): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 self.db.issue.create(title="spam", status='1') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 self.db.issue.create(title="eggs", status='2') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 self.db.issue.create(title="ham", status='4') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 self.db.issue.create(title="arguments", status='2') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 self.db.issue.create(title="abuse", status='1') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 self.db.issue.addprop(fixer=Link("user")) |
|
71
5147b4c51fd5
Added the Roundup spec to the new documentation directory.
Richard Jones <richard@users.sourceforge.net>
parents:
66
diff
changeset
|
40 props = self.db.issue.getprops() |
|
5147b4c51fd5
Added the Roundup spec to the new documentation directory.
Richard Jones <richard@users.sourceforge.net>
parents:
66
diff
changeset
|
41 keys = props.keys() |
|
5147b4c51fd5
Added the Roundup spec to the new documentation directory.
Richard Jones <richard@users.sourceforge.net>
parents:
66
diff
changeset
|
42 keys.sort() |
| 73 | 43 self.assertEqual(keys, ['fixer', 'status', 'title'], 'wrong prop list') |
|
66
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 self.db.issue.set('5', status=2) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 self.db.issue.get('5', "status") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 self.db.status.get('2', "name") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 self.db.issue.get('5', "title") |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 self.db.issue.find(status = self.db.status.lookup("in-progress")) |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 self.db.issue.history('5') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 self.db.status.history('1') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 self.db.status.history('2') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 |
|
71
5147b4c51fd5
Added the Roundup spec to the new documentation directory.
Richard Jones <richard@users.sourceforge.net>
parents:
66
diff
changeset
|
53 def testExceptions(self): |
|
5147b4c51fd5
Added the Roundup spec to the new documentation directory.
Richard Jones <richard@users.sourceforge.net>
parents:
66
diff
changeset
|
54 # this tests the exceptions that should be raised |
| 73 | 55 pass |
|
66
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 def suite(): |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 return unittest.makeSuite(DBTestCase, 'test') |
|
b936635f142d
Added some unit tests
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 |
|
82
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
60 |
|
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
61 # |
|
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
62 # $Log: not supported by cvs2svn $ |
|
f1cffcad4903
Added id and log to tests files...
Richard Jones <richard@users.sourceforge.net>
parents:
73
diff
changeset
|
63 # |
