Mercurial > p > roundup > code
annotate test/test_db.py @ 718:e10c37f53efd
fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
(thanks dman)
fixed some sorting issues that were breaking some unit tests under py2.2
mailgw test output dir was confusing the init test (but only on 2.2 *shrug*)
fixed bug in the init unit test that meant only the bsddb test ran if it
could (it clobbered the anydbm test)
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 15 May 2002 03:27:16 +0000 |
| parents | 509a101305da |
| children | e3d742c75ac3 |
| 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 | 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 # |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
18 # $Id: test_db.py,v 1.21 2002-04-15 23:25:15 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) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
69 self.db2 = anydbm.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
70 setupSchema(self.db2, 0) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 def testChanges(self): |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 self.db.issue.create(title="spam", status='1') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 self.db.issue.create(title="eggs", status='2') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 self.db.issue.create(title="ham", status='4') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 self.db.issue.create(title="arguments", status='2') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 self.db.issue.create(title="abuse", status='1') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 self.db.issue.addprop(fixer=Link("user")) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 props = self.db.issue.getprops() |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 keys = props.keys() |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 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
|
82 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
|
83 'status', 'title']) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 self.db.issue.set('5', status='2') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 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
|
86 |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
87 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
|
88 self.db.issue.set('5', deadline=date.Date()) |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
89 b = self.db.issue.get('5', "deadline") |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
90 self.db.commit() |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
91 self.assertNotEqual(a, b) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
92 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
|
93 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
|
94 |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
95 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 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
|
97 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
|
98 |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 self.db.status.get('2', "name") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 self.db.issue.get('5', "title") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 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
|
102 self.db.commit() |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 self.db.issue.history('5') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 self.db.status.history('1') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 self.db.status.history('2') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
107 def testSerialisation(self): |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
108 self.db.issue.create(title="spam", status='1', |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
109 deadline=date.Date(), foo=date.Interval('-1d')) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
110 self.db.commit() |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
111 assert isinstance(self.db.issue.get('1', 'deadline'), date.Date) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
112 assert isinstance(self.db.issue.get('1', 'foo'), date.Interval) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
113 self.db.user.create(username="fozzy", |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
114 password=password.Password('t. bear')) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
115 self.db.commit() |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
116 assert isinstance(self.db.user.get('1', 'password'), password.Password) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
117 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
118 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
|
119 # 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
|
120 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
|
121 num_files = self.db.numfiles() |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
122 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
|
123 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
|
124 self.db.rollback() |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
125 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
|
126 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
|
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.commit() |
|
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())) |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
130 self.db.rollback() |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
131 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
|
132 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
|
133 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
|
134 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
|
135 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
|
136 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
|
137 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
|
138 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
|
139 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
|
140 self.assertNotEqual(num_files, num_files2) |
|
461
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
141 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
|
142 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
|
143 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
|
144 self.assertEqual(num_files2, self.db.numfiles()) |
|
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 |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
195 ar(IndexError, self.db.issue.set, '6', title='foo', status='bar') |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
196 # invalid link value |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
197 ar(ValueError, self.db.issue.set, '6', title='foo', status=1) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
198 # invalid multilink type |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
199 ar(TypeError, self.db.issue.set, '6', title='foo', status='1', |
|
92
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 |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
202 ar(ValueError, self.db.issue.set, '6', title='foo', status='1', |
|
92
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 |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
205 ar(IndexError, self.db.issue.set, '6', title='foo', status='1', |
|
92
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 |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
272 def testIDGeneration(self): |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
273 id1 = self.db.issue.create(title="spam", status='1') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
274 id2 = self.db2.issue.create(title="eggs", status='2') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
275 self.assertNotEqual(id1, id2) |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
276 |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
277 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
278 class anydbmReadOnlyDBTestCase(MyTestCase): |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
279 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
|
280 from roundup.backends import anydbm |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
281 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
282 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
283 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
284 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
285 db = anydbm.Database(config, 'test') |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
286 setupSchema(db, 1) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
287 self.db = anydbm.Database(config) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
288 setupSchema(self.db, 0) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
289 self.db2 = anydbm.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
290 setupSchema(self.db2, 0) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
291 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
292 def testExceptions(self): |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
293 # this tests the exceptions that should be raised |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
294 ar = self.assertRaises |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
295 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
296 # this tests the exceptions that should be raised |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
297 ar(DatabaseError, self.db.status.create, name="foo") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
298 ar(DatabaseError, self.db.status.set, '1', name="foo") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
299 ar(DatabaseError, self.db.status.retire, '1') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
300 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
301 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
302 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
|
303 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
|
304 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
|
305 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
306 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
307 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
308 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
309 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
|
310 setupSchema(self.db, 1) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
311 self.db2 = bsddb.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
312 setupSchema(self.db2, 0) |
|
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 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
314 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
|
315 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
|
316 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
|
317 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
318 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
319 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
320 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
321 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
|
322 setupSchema(db, 1) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
323 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
|
324 setupSchema(self.db, 0) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
325 self.db2 = bsddb.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
326 setupSchema(self.db2, 0) |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
327 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
328 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
329 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
|
330 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
|
331 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
|
332 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
333 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
334 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
335 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
336 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
|
337 setupSchema(self.db, 1) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
338 self.db2 = bsddb3.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
339 setupSchema(self.db2, 0) |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
340 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
341 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
|
342 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
|
343 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
|
344 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
345 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
346 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
347 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
348 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
|
349 setupSchema(db, 1) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
350 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
|
351 setupSchema(self.db, 0) |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
352 self.db2 = bsddb3.Database(config, 'test') |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
353 setupSchema(self.db2, 0) |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
354 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
355 |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
356 def suite(): |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
357 l = [ |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
358 unittest.makeSuite(anydbmDBTestCase, 'test'), |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
359 unittest.makeSuite(anydbmReadOnlyDBTestCase, 'test') |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
360 ] |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
361 |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
362 try: |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
363 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
|
364 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
|
365 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
|
366 except: |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
367 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
|
368 |
|
243
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
369 # try: |
|
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
370 # import bsddb3 |
|
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
371 # 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
|
372 # 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
|
373 # except: |
|
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
374 # 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
|
375 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
376 return unittest.TestSuite(l) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
377 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
378 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
379 # $Log: not supported by cvs2svn $ |
|
690
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
380 # Revision 1.20 2002/04/03 05:54:31 richard |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
381 # Fixed serialisation problem by moving the serialisation step out of the |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
382 # hyperdb.Class (get, set) into the hyperdb.Database. |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
383 # |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
384 # Also fixed htmltemplate after the showid changes I made yesterday. |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
385 # |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
386 # Unit tests for all of the above written. |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
387 # |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
388 # Revision 1.19 2002/02/25 14:34:31 grubert |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
389 # . 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
|
390 # change test_db as dirlist does not work for subdirectories. |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
391 # ATTENTION: blobfiles now creates subdirectories for files. |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
392 # |
|
646
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
393 # 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
|
394 # . 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
|
395 # |
|
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
396 # ... 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
|
397 # 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
|
398 # 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
|
399 # process. |
|
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
400 # |
|
570
e346a9792335
fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents:
566
diff
changeset
|
401 # 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
|
402 # 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
|
403 # 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
|
404 # |
|
566
73af3e54c309
We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
562
diff
changeset
|
405 # 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
|
406 # 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
|
407 # |
|
562
62febbd7ffec
You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
555
diff
changeset
|
408 # 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
|
409 # 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
|
410 # 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
|
411 # |
|
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
|
412 # 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
|
413 # . 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
|
414 # - 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
|
415 # |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
416 # 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
|
417 # . 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
|
418 # 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
|
419 # 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
|
420 # 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
|
421 # |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
422 # 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
|
423 # 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
|
424 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
425 # 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
|
426 # 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
|
427 # 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
|
428 # the file is called designator.property. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
429 # 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
|
430 # 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
|
431 # |
|
461
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
432 # 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
|
433 # Added transaction tests to test_db |
|
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
434 # |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
435 # 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
|
436 # 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
|
437 # |
|
432
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
438 # 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
|
439 # . 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
|
440 # 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
|
441 # 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
|
442 # . #487480 ] roundup-server |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
443 # . #487476 ] INSTALL.txt |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
444 # |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
445 # 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
|
446 # 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
|
447 # 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
|
448 # 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
|
449 # |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
450 # More testing needed. |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
451 # |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
452 # 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
|
453 # 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
|
454 # 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
|
455 # |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
243
diff
changeset
|
456 # 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
|
457 # 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
|
458 # details. |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
243
diff
changeset
|
459 # |
|
243
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
460 # 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
|
461 # stupid typo |
|
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
462 # |
| 214 | 463 # Revision 1.5 2001/08/07 00:15:51 richard |
| 464 # Added the copyright/license notice to (nearly) all files at request of | |
| 465 # Bizar Software. | |
| 466 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
158
diff
changeset
|
467 # 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
|
468 # 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
|
469 # |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
470 # 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
|
471 # 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
|
472 # |
|
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
|
473 # 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
|
474 # 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
|
475 # |
|
121
3672eb16a274
Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents:
92
diff
changeset
|
476 # 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
|
477 # moving tests -> test |
|
3672eb16a274
Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents:
92
diff
changeset
|
478 # |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
479 # Revision 1.7 2001/07/27 06:26:43 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
480 # 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
|
481 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
482 # Revision 1.6 2001/07/27 06:23:59 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
483 # consistency |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
484 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
485 # Revision 1.5 2001/07/27 06:23:09 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
486 # 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
|
487 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
488 # Revision 1.4 2001/07/25 04:34:31 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
489 # Added id and log to tests files... |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
490 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
491 # |
|
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
|
492 # vim: set filetype=python ts=4 sw=4 et si |
