annotate test/test_db.py @ 689:456a1ed04650

Here's a cron-job reminder script... ...that we're going to be using here at ekit. Might be useful for other people. Could use some work making it more general and easier to customise.
author Richard Jones <richard@users.sourceforge.net>
date Mon, 15 Apr 2002 06:37:31 +0000
parents bc46480e2a2b
children 509a101305da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
1 #
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/)
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
3 # This module is free software, and you may redistribute it and/or modify
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
4 # under the same terms as Python, so long as this copyright message and
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
5 # disclaimer are retained in their original form.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
6 #
214
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
10 # POSSIBILITY OF SUCH DAMAGE.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
11 #
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS"
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
17 #
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
18 # $Id: test_db.py,v 1.20 2002-04-03 05:54:31 richard Exp $
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 import unittest, os, shutil
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21
270
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
22 from roundup.hyperdb import String, Password, Link, Multilink, Date, \
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
23 Interval, Class, DatabaseError
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
24 from roundup.roundupdb import FileClass
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
25 from roundup import date, password
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 def setupSchema(db, create):
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28 status = Class(db, "status", name=String())
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 status.setkey("name")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 if create:
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 status.create(name="unread")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 status.create(name="in-progress")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 status.create(name="testing")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 status.create(name="resolved")
270
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
35 Class(db, "user", username=String(), password=Password())
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 Class(db, "issue", title=String(), status=Link("status"),
543
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
37 nosy=Multilink("user"), deadline=Date(), foo=Interval())
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
38 FileClass(db, "file", name=String(), type=String())
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
39 db.commit()
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
40
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
41 class MyTestCase(unittest.TestCase):
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
42 def tearDown(self):
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
43 if os.path.exists('_test_dir'):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
44 shutil.rmtree('_test_dir')
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
45
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
46 class config:
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
47 DATABASE='_test_dir'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
48 MAILHOST = 'localhost'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
49 MAIL_DOMAIN = 'fill.me.in.'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
50 INSTANCE_NAME = 'Roundup issue tracker'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
51 ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
52 ISSUE_TRACKER_WEB = 'http://some.useful.url/'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
53 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
54 FILTER_POSITION = 'bottom' # one of 'top', 'bottom', 'top and bottom'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
55 ANONYMOUS_ACCESS = 'deny' # either 'deny' or 'allow'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
56 ANONYMOUS_REGISTER = 'deny' # either 'deny' or 'allow'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
57 MESSAGES_TO_AUTHOR = 'no' # either 'yes' or 'no'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
58 EMAIL_SIGNATURE_POSITION = 'bottom'
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
59
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
60 class anydbmDBTestCase(MyTestCase):
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 def setUp(self):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
62 from roundup.backends import anydbm
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
64 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
65 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
66 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
67 self.db = anydbm.Database(config, 'test')
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 setupSchema(self.db, 1)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
70 def testChanges(self):
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 self.db.issue.create(title="spam", status='1')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 self.db.issue.create(title="eggs", status='2')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 self.db.issue.create(title="ham", status='4')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 self.db.issue.create(title="arguments", status='2')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 self.db.issue.create(title="abuse", status='1')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 self.db.issue.addprop(fixer=Link("user"))
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 props = self.db.issue.getprops()
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 keys = props.keys()
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 keys.sort()
543
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
80 self.assertEqual(keys, ['deadline', 'fixer', 'foo', 'id', 'nosy',
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
81 'status', 'title'])
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 self.db.issue.set('5', status='2')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 self.db.issue.get('5', "status")
543
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
84
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
85 a = self.db.issue.get('5', "deadline")
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
86 self.db.issue.set('5', deadline=date.Date())
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
87 b = self.db.issue.get('5', "deadline")
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
88 self.db.commit()
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
89 self.assertNotEqual(a, b)
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
90 self.assertNotEqual(b, date.Date('1970-1-1 00:00:00'))
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
91 self.db.issue.set('5', deadline=date.Date())
543
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
92
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
93 a = self.db.issue.get('5', "foo")
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
94 self.db.issue.set('5', foo=date.Interval('-1d'))
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
95 self.assertNotEqual(a, self.db.issue.get('5', "foo"))
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
96
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 self.db.status.get('2', "name")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 self.db.issue.get('5', "title")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 self.db.issue.find(status = self.db.status.lookup("in-progress"))
432
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
100 self.db.commit()
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
101 self.db.issue.history('5')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 self.db.status.history('1')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 self.db.status.history('2')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
105 def testSerialisation(self):
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
106 self.db.issue.create(title="spam", status='1',
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
107 deadline=date.Date(), foo=date.Interval('-1d'))
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
108 self.db.commit()
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
109 assert isinstance(self.db.issue.get('1', 'deadline'), date.Date)
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
110 assert isinstance(self.db.issue.get('1', 'foo'), date.Interval)
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
111 self.db.user.create(username="fozzy",
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
112 password=password.Password('t. bear'))
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
113 self.db.commit()
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
114 assert isinstance(self.db.user.get('1', 'password'), password.Password)
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
115
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
116 def testTransactions(self):
646
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
117 # remember the number of items we started
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
118 num_issues = len(self.db.issue.list())
646
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
119 num_files = self.db.numfiles()
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
120 self.db.issue.create(title="don't commit me!", status='1')
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
121 self.assertNotEqual(num_issues, len(self.db.issue.list()))
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
122 self.db.rollback()
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
123 self.assertEqual(num_issues, len(self.db.issue.list()))
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
124 self.db.issue.create(title="please commit me!", status='1')
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
125 self.assertNotEqual(num_issues, len(self.db.issue.list()))
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
126 self.db.commit()
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
127 self.assertNotEqual(num_issues, len(self.db.issue.list()))
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
128 self.db.rollback()
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
129 self.assertNotEqual(num_issues, len(self.db.issue.list()))
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
130 self.db.file.create(name="test", type="text/plain", content="hi")
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
131 self.db.rollback()
646
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
132 self.assertEqual(num_files, self.db.numfiles())
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
133 for i in range(10):
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
134 self.db.file.create(name="test", type="text/plain",
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
135 content="hi %d"%(i))
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
136 self.db.commit()
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
137 num_files2 = self.db.numfiles()
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
138 self.assertNotEqual(num_files, num_files2)
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
139 self.db.file.create(name="test", type="text/plain", content="hi")
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
140 self.db.rollback()
646
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
141 self.assertNotEqual(num_files, self.db.numfiles())
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
142 self.assertEqual(num_files2, self.db.numfiles())
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
143
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
144
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
145
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 def testExceptions(self):
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 # this tests the exceptions that should be raised
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 ar = self.assertRaises
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
151 # class create
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
152 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
153 # string property
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 ar(TypeError, self.db.status.create, name=1)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
155 # invalid property name
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
156 ar(KeyError, self.db.status.create, foo='foo')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157 # key name clash
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
158 ar(ValueError, self.db.status.create, name='unread')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
159 # invalid link index
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
160 ar(IndexError, self.db.issue.create, title='foo', status='bar')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
161 # invalid link value
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
162 ar(ValueError, self.db.issue.create, title='foo', status=1)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
163 # invalid multilink type
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
164 ar(TypeError, self.db.issue.create, title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
165 nosy='hello')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
166 # invalid multilink index type
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
167 ar(ValueError, self.db.issue.create, title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
168 nosy=[1])
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
169 # invalid multilink index
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
170 ar(IndexError, self.db.issue.create, title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
171 nosy=['10'])
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
172
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
173 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
174 # class get
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
175 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
176 # invalid node id
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
177 ar(IndexError, self.db.status.get, '10', 'name')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
178 # invalid property name
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
179 ar(KeyError, self.db.status.get, '2', 'foo')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
180
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
181 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
182 # class set
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
183 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
184 # invalid node id
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
185 ar(IndexError, self.db.issue.set, '1', name='foo')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
186 # invalid property name
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
187 ar(KeyError, self.db.status.set, '1', foo='foo')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
188 # string property
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
189 ar(TypeError, self.db.status.set, '1', name=1)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
190 # key name clash
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
191 ar(ValueError, self.db.status.set, '2', name='unread')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
192 # set up a valid issue for me to work on
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
193 self.db.issue.create(title="spam", status='1')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
194 # invalid link index
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
195 ar(IndexError, self.db.issue.set, '1', title='foo', status='bar')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
196 # invalid link value
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
197 ar(ValueError, self.db.issue.set, '1', title='foo', status=1)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
198 # invalid multilink type
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
199 ar(TypeError, self.db.issue.set, '1', title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
200 nosy='hello')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
201 # invalid multilink index type
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
202 ar(ValueError, self.db.issue.set, '1', title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
203 nosy=[1])
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
204 # invalid multilink index
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
205 ar(IndexError, self.db.issue.set, '1', title='foo', status='1',
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
206 nosy=['10'])
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
207
555
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
208 def testJournals(self):
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
209 self.db.issue.addprop(fixer=Link("user", do_journal='yes'))
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
210 self.db.user.create(username="mary")
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
211 self.db.user.create(username="pete")
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
212 self.db.issue.create(title="spam", status='1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
213 self.db.commit()
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
214
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
215 # journal entry for issue create
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
216 journal = self.db.getjournal('issue', '1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
217 self.assertEqual(1, len(journal))
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
218 (nodeid, date_stamp, journaltag, action, params) = journal[0]
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
219 self.assertEqual(nodeid, '1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
220 self.assertEqual(journaltag, 'test')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
221 self.assertEqual(action, 'create')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
222 keys = params.keys()
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
223 keys.sort()
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
224 self.assertEqual(keys, ['deadline', 'fixer', 'foo', 'nosy',
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
225 'status', 'title'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
226 self.assertEqual(None,params['deadline'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
227 self.assertEqual(None,params['fixer'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
228 self.assertEqual(None,params['foo'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
229 self.assertEqual([],params['nosy'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
230 self.assertEqual('1',params['status'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
231 self.assertEqual('spam',params['title'])
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
232
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
233 # journal entry for link
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
234 journal = self.db.getjournal('user', '1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
235 self.assertEqual(1, len(journal))
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
236 self.db.issue.set('1', fixer='1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
237 self.db.commit()
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
238 journal = self.db.getjournal('user', '1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
239 self.assertEqual(2, len(journal))
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
240 (nodeid, date_stamp, journaltag, action, params) = journal[1]
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
241 self.assertEqual('1', nodeid)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
242 self.assertEqual('test', journaltag)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
243 self.assertEqual('link', action)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
244 self.assertEqual(('issue', '1', 'fixer'), params)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
245
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
246 # journal entry for unlink
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
247 self.db.issue.set('1', fixer='2')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
248 self.db.commit()
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
249 journal = self.db.getjournal('user', '1')
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
250 self.assertEqual(3, len(journal))
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
251 (nodeid, date_stamp, journaltag, action, params) = journal[2]
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
252 self.assertEqual('1', nodeid)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
253 self.assertEqual('test', journaltag)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
254 self.assertEqual('unlink', action)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
255 self.assertEqual(('issue', '1', 'fixer'), params)
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
256
562
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
257 def testPack(self):
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
258 self.db.issue.create(title="spam", status='1')
566
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
259 self.db.commit()
562
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
260 self.db.issue.set('1', status='2')
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
261 self.db.commit()
566
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
262 self.db.issue.set('1', status='3')
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
263 self.db.commit()
562
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
264 pack_before = date.Date(". + 1d")
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
265 self.db.pack(pack_before)
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
266 journal = self.db.getjournal('issue', '1')
566
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
267 self.assertEqual(2, len(journal))
562
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
268
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
269 def testRetire(self):
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
270 pass
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
271
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
272
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
273 class anydbmReadOnlyDBTestCase(MyTestCase):
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
274 def setUp(self):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
275 from roundup.backends import anydbm
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
276 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
277 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
278 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
279 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
280 db = anydbm.Database(config, 'test')
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
281 setupSchema(db, 1)
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
282 self.db = anydbm.Database(config)
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
283 setupSchema(self.db, 0)
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
284
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
285 def testExceptions(self):
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
286 # this tests the exceptions that should be raised
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
287 ar = self.assertRaises
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
288
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
289 # this tests the exceptions that should be raised
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
290 ar(DatabaseError, self.db.status.create, name="foo")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
291 ar(DatabaseError, self.db.status.set, '1', name="foo")
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
292 ar(DatabaseError, self.db.status.retire, '1')
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
293
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
294
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
295 class bsddbDBTestCase(anydbmDBTestCase):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
296 def setUp(self):
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
297 from roundup.backends import bsddb
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
298 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
299 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
300 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
301 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
302 self.db = bsddb.Database(config, 'test')
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
303 setupSchema(self.db, 1)
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
304
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
305 class bsddbReadOnlyDBTestCase(anydbmReadOnlyDBTestCase):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
306 def setUp(self):
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
307 from roundup.backends import bsddb
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
308 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
309 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
310 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
311 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
312 db = bsddb.Database(config, 'test')
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
313 setupSchema(db, 1)
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
314 self.db = bsddb.Database(config)
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
315 setupSchema(self.db, 0)
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
316
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
317
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
318 class bsddb3DBTestCase(anydbmDBTestCase):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
319 def setUp(self):
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
320 from roundup.backends import bsddb3
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
321 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
322 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
323 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
324 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
325 self.db = bsddb3.Database(config, 'test')
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
326 setupSchema(self.db, 1)
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
327
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
328 class bsddb3ReadOnlyDBTestCase(anydbmReadOnlyDBTestCase):
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
329 def setUp(self):
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
330 from roundup.backends import bsddb3
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
331 # remove previous test, ignore errors
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
332 if os.path.exists(config.DATABASE):
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
333 shutil.rmtree(config.DATABASE)
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
334 os.makedirs(config.DATABASE + '/files')
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
335 db = bsddb3.Database(config, 'test')
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
336 setupSchema(db, 1)
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
337 self.db = bsddb3.Database(config)
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
338 setupSchema(self.db, 0)
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
339
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
340
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
341 def suite():
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
342 l = [
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
343 unittest.makeSuite(anydbmDBTestCase, 'test'),
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
344 unittest.makeSuite(anydbmReadOnlyDBTestCase, 'test')
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
345 ]
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
346
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
347 try:
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
348 import bsddb
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
349 l.append(unittest.makeSuite(bsddbDBTestCase, 'test'))
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
350 l.append(unittest.makeSuite(bsddbReadOnlyDBTestCase, 'test'))
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
351 except:
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
352 print 'bsddb module not found, skipping bsddb DBTestCase'
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
353
243
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
354 # try:
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
355 # import bsddb3
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
356 # l.append(unittest.makeSuite(bsddb3DBTestCase, 'test'))
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
357 # l.append(unittest.makeSuite(bsddb3ReadOnlyDBTestCase, 'test'))
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
358 # except:
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
359 # print 'bsddb3 module not found, skipping bsddb3 DBTestCase'
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
360
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
361 return unittest.TestSuite(l)
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
362
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
363 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
364 # $Log: not supported by cvs2svn $
676
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
365 # Revision 1.19 2002/02/25 14:34:31 grubert
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
366 # . use blobfiles in back_anydbm which is used in back_bsddb.
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
367 # change test_db as dirlist does not work for subdirectories.
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
368 # ATTENTION: blobfiles now creates subdirectories for files.
bc46480e2a2b Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents: 646
diff changeset
369 #
646
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
370 # Revision 1.18 2002/01/22 07:21:13 richard
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
371 # . fixed back_bsddb so it passed the journal tests
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
372 #
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
373 # ... it didn't seem happy using the back_anydbm _open method, which is odd.
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
374 # Yet another occurrance of whichdb not being able to recognise older bsddb
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
375 # databases. Yadda yadda. Made the HYPERDBDEBUG stuff more sane in the
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
376 # process.
07abfe8f0c01 use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 570
diff changeset
377 #
570
e346a9792335 fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents: 566
diff changeset
378 # Revision 1.17 2002/01/22 05:06:09 rochecompaan
e346a9792335 fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents: 566
diff changeset
379 # We need to keep the last 'set' entry in the journal to preserve
e346a9792335 fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents: 566
diff changeset
380 # information on 'activity' for nodes.
e346a9792335 fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents: 566
diff changeset
381 #
566
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
382 # Revision 1.16 2002/01/21 16:33:20 rochecompaan
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
383 # You can now use the roundup-admin tool to pack the database
73af3e54c309 We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 562
diff changeset
384 #
562
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
385 # Revision 1.15 2002/01/19 13:16:04 rochecompaan
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
386 # Journal entries for link and multilink properties can now be switched on
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
387 # or off.
62febbd7ffec You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 555
diff changeset
388 #
555
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
389 # Revision 1.14 2002/01/16 07:02:57 richard
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
390 # . lots of date/interval related changes:
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
391 # - more relaxed date format for input
5fd94347c6f2 Journal entries for link and multilink properties can now be switched on or off.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 543
diff changeset
392 #
543
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
393 # Revision 1.13 2002/01/14 02:20:15 richard
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
394 # . changed all config accesses so they access either the instance or the
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
395 # config attriubute on the db. This means that all config is obtained from
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
396 # instance_config instead of the mish-mash of classes. This will make
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
397 # switching to a ConfigParser setup easier too, I hope.
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
398 #
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
399 # At a minimum, this makes migration a _little_ easier (a lot easier in the
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
400 # 0.5.0 switch, I hope!)
22e0edf7da6e lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
401 #
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
402 # Revision 1.12 2001/12/17 03:52:48 richard
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
403 # Implemented file store rollback. As a bonus, the hyperdb is now capable of
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
404 # storing more than one file per node - if a property name is supplied,
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
405 # the file is called designator.property.
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
406 # I decided not to migrate the existing files stored over to the new naming
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
407 # scheme - the FileClass just doesn't specify the property name.
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 461
diff changeset
408 #
461
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
409 # Revision 1.11 2001/12/10 23:17:20 richard
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
410 # Added transaction tests to test_db
b579418f7ed1 Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents: 441
diff changeset
411 #
441
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
412 # Revision 1.10 2001/12/03 21:33:39 richard
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
413 # Fixes so the tests use commit and not close
698534628072 Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents: 432
diff changeset
414 #
432
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
415 # Revision 1.9 2001/12/02 05:06:16 richard
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
416 # . We now use weakrefs in the Classes to keep the database reference, so
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
417 # the close() method on the database is no longer needed.
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
418 # I bumped the minimum python requirement up to 2.1 accordingly.
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
419 # . #487480 ] roundup-server
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
420 # . #487476 ] INSTALL.txt
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
421 #
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
422 # I also cleaned up the change message / post-edit stuff in the cgi client.
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
423 # There's now a clearly marked "TODO: append the change note" where I believe
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
424 # the change note should be added there. The "changes" list will obviously
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
425 # have to be modified to be a dict of the changes, or somesuch.
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
426 #
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
427 # More testing needed.
f97415cccb9d Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents: 431
diff changeset
428 #
431
a28a80b714f9 Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents: 270
diff changeset
429 # Revision 1.8 2001/10/09 07:25:59 richard
a28a80b714f9 Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents: 270
diff changeset
430 # Added the Password property type. See "pydoc roundup.password" for
a28a80b714f9 Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents: 270
diff changeset
431 # implementation details. Have updated some of the documentation too.
a28a80b714f9 Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents: 270
diff changeset
432 #
270
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
433 # Revision 1.7 2001/08/29 06:23:59 richard
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
434 # Disabled the bsddb3 module entirely in the unit testing. See CHANGES for
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
435 # details.
a4241ddd22d7 Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents: 243
diff changeset
436 #
243
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
437 # Revision 1.6 2001/08/07 00:24:43 richard
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
438 # stupid typo
1e571b6be57a Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents: 214
diff changeset
439 #
214
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
440 # Revision 1.5 2001/08/07 00:15:51 richard
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
441 # Added the copyright/license notice to (nearly) all files at request of
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
442 # Bizar Software.
18134bffab37 stupid typo
Richard Jones <richard@users.sourceforge.net>
parents: 213
diff changeset
443 #
213
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
444 # Revision 1.4 2001/07/30 03:45:56 richard
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
445 # Added more DB to test_db. Can skip tests where imports fail.
d45384bc6420 Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents: 158
diff changeset
446 #
158
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
447 # Revision 1.3 2001/07/29 07:01:39 richard
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
448 # Added vim command to all source so that we don't get no steenkin' tabs :)
86ebcf734a8e Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents: 127
diff changeset
449 #
127
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 121
diff changeset
450 # Revision 1.2 2001/07/29 04:09:20 richard
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 121
diff changeset
451 # Added the fabricated property "id" to all hyperdb classes.
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 121
diff changeset
452 #
121
3672eb16a274 Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents: 92
diff changeset
453 # Revision 1.1 2001/07/27 06:55:07 richard
3672eb16a274 Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents: 92
diff changeset
454 # moving tests -> test
3672eb16a274 Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents: 92
diff changeset
455 #
92
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
456 # Revision 1.7 2001/07/27 06:26:43 richard
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
457 # oops - wasn't deleting the test dir after the read-only tests
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
458 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
459 # Revision 1.6 2001/07/27 06:23:59 richard
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
460 # consistency
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
461 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
462 # Revision 1.5 2001/07/27 06:23:09 richard
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
463 # Added some new hyperdb tests to make sure we raise the right exceptions.
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
464 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
465 # Revision 1.4 2001/07/25 04:34:31 richard
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
466 # Added id and log to tests files...
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
467 #
fa44da8d9df2 moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
468 #
127
0791d13baea7 Added vim command to all source so that we don't get no steenkin' tabs :)
Richard Jones <richard@users.sourceforge.net>
parents: 121
diff changeset
469 # vim: set filetype=python ts=4 sw=4 et si

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