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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
e1ce700bd7b9 Fixed an oops
Richard Jones <richard@users.sourceforge.net>
parents: 71
diff changeset
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
e1ce700bd7b9 Fixed an oops
Richard Jones <richard@users.sourceforge.net>
parents: 71
diff changeset
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 #

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