Mercurial > p > roundup > code
annotate test/test_db.py @ 834:568eed5fb4fd
Optimize Class.find so that the propspec can contain a set of ids to match.
This is used by indexer.search so it can do just one find for all the
index matches.
This was already confusing code, but for common terms (lots of index matches),
it is enormously faster.
| author | Gordon B. McMillan <gmcm@users.sourceforge.net> |
|---|---|
| date | Tue, 09 Jul 2002 21:53:38 +0000 |
| parents | 6d7a45c8464a |
| children | 3cdfa5d86cec |
| 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 # |
|
826
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
18 # $Id: test_db.py,v 1.25 2002-07-09 04:19:09 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 |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
26 from roundup.indexer import Indexer |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 def setupSchema(db, create): |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 status = Class(db, "status", name=String()) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 status.setkey("name") |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
31 user = Class(db, "user", username=String(), password=Password()) |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
32 file = FileClass(db, "file", name=String(), type=String(), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
33 comment=String(indexme="yes")) |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
34 issue = Class(db, "issue", title=String(indexme="yes"), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
35 status=Link("status"), nosy=Multilink("user"), deadline=Date(), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
36 foo=Interval(), files=Multilink("file")) |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
37 db.post_init() |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 if create: |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 status.create(name="unread") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 status.create(name="in-progress") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 status.create(name="testing") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 status.create(name="resolved") |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
43 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
|
44 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
45 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
|
46 def tearDown(self): |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
47 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
|
48 shutil.rmtree('_test_dir') |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
49 |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
50 class config: |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
51 DATABASE='_test_dir' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
52 MAILHOST = 'localhost' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
53 MAIL_DOMAIN = 'fill.me.in.' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
54 INSTANCE_NAME = 'Roundup issue tracker' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
55 ISSUE_TRACKER_EMAIL = 'issue_tracker@%s'%MAIL_DOMAIN |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
56 ISSUE_TRACKER_WEB = 'http://some.useful.url/' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
57 ADMIN_EMAIL = 'roundup-admin@%s'%MAIL_DOMAIN |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
58 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
|
59 ANONYMOUS_ACCESS = 'deny' # either 'deny' or 'allow' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
60 ANONYMOUS_REGISTER = 'deny' # either 'deny' or 'allow' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
61 MESSAGES_TO_AUTHOR = 'no' # either 'yes' or 'no' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
62 EMAIL_SIGNATURE_POSITION = 'bottom' |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
63 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
64 class anydbmDBTestCase(MyTestCase): |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 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
|
66 from roundup.backends import anydbm |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
68 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
69 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
70 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
71 self.db = anydbm.Database(config, 'test') |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 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
|
73 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
|
74 setupSchema(self.db2, 0) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
76 def testStringChange(self): |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
77 self.db.issue.create(title="spam", status='1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
78 self.assertEqual(self.db.issue.get('1', 'title'), 'spam') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
79 self.db.issue.set('1', title='eggs') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
80 self.assertEqual(self.db.issue.get('1', 'title'), 'eggs') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
81 self.db.commit() |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
82 self.assertEqual(self.db.issue.get('1', 'title'), 'eggs') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
83 self.db.issue.create(title="spam", status='1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
84 self.db.commit() |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
85 self.assertEqual(self.db.issue.get('2', 'title'), 'spam') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
86 self.db.issue.set('2', title='ham') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
87 self.assertEqual(self.db.issue.get('2', 'title'), 'ham') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
88 self.db.commit() |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
89 self.assertEqual(self.db.issue.get('2', 'title'), 'ham') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
90 |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
91 def testLinkChange(self): |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 self.db.issue.create(title="spam", status='1') |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
93 self.assertEqual(self.db.issue.get('1', "status"), '1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
94 self.db.issue.set('1', status='2') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
95 self.assertEqual(self.db.issue.get('1', "status"), '2') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
96 |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
97 def testDateChange(self): |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
98 self.db.issue.create(title="spam", status='1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
99 a = self.db.issue.get('1', "deadline") |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
100 self.db.issue.set('1', deadline=date.Date()) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
101 b = self.db.issue.get('1', "deadline") |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
102 self.db.commit() |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
103 self.assertNotEqual(a, b) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
104 self.assertNotEqual(b, date.Date('1970-1-1 00:00:00')) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
105 self.db.issue.set('1', deadline=date.Date()) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
106 |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
107 def testIntervalChange(self): |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
108 self.db.issue.create(title="spam", status='1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
109 a = self.db.issue.get('1', "foo") |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
110 self.db.issue.set('1', foo=date.Interval('-1d')) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
111 self.assertNotEqual(self.db.issue.get('1', "foo"), a) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
112 |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
113 def testNewProperty(self): |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
114 self.db.issue.create(title="spam", status='1') |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
115 self.db.issue.addprop(fixer=Link("user")) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 props = self.db.issue.getprops() |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 keys = props.keys() |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 keys.sort() |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
119 self.assertEqual(keys, ['deadline', 'files', 'fixer', 'foo', 'id', |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
120 'nosy', 'status', 'title']) |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
121 self.assertEqual(self.db.issue.get('1', "fixer"), None) |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
122 |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
123 def testRetire(self): |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
124 self.db.issue.create(title="spam", status='1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
125 b = self.db.status.get('1', 'name') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
126 a = self.db.status.list() |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
127 self.db.status.retire('1') |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
128 # make sure the list is different |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
129 self.assertNotEqual(a, self.db.status.list()) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
130 # can still access the node if necessary |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
131 self.assertEqual(self.db.status.get('1', 'name'), b) |
|
432
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
132 self.db.commit() |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
133 self.assertEqual(self.db.status.get('1', 'name'), b) |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
134 self.assertNotEqual(a, self.db.status.list()) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
135 |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
136 def testSerialisation(self): |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
137 self.db.issue.create(title="spam", status='1', |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
138 deadline=date.Date(), foo=date.Interval('-1d')) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
139 self.db.commit() |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
140 assert isinstance(self.db.issue.get('1', 'deadline'), date.Date) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
141 assert isinstance(self.db.issue.get('1', 'foo'), date.Interval) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
142 self.db.user.create(username="fozzy", |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
143 password=password.Password('t. bear')) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
144 self.db.commit() |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
145 assert isinstance(self.db.user.get('1', 'password'), password.Password) |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
146 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
147 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
|
148 # 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
|
149 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
|
150 num_files = self.db.numfiles() |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
151 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
|
152 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
|
153 self.db.rollback() |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
154 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
|
155 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
|
156 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
|
157 self.db.commit() |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
158 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
|
159 self.db.rollback() |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 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
|
164 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
|
165 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
|
166 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
|
167 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
|
168 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
|
169 self.assertNotEqual(num_files, num_files2) |
|
461
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
170 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
|
171 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
|
172 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
|
173 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
|
174 |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
175 def testExceptions(self): |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
176 # this tests the exceptions that should be raised |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
177 ar = self.assertRaises |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
178 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
179 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
180 # class create |
|
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 # string property |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
183 ar(TypeError, self.db.status.create, name=1) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
184 # invalid property name |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
185 ar(KeyError, self.db.status.create, foo='foo') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
186 # key name clash |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
187 ar(ValueError, self.db.status.create, name='unread') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
188 # invalid link index |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
189 ar(IndexError, self.db.issue.create, title='foo', status='bar') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
190 # invalid link value |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
191 ar(ValueError, self.db.issue.create, title='foo', status=1) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
192 # invalid multilink type |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
193 ar(TypeError, self.db.issue.create, title='foo', status='1', |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
194 nosy='hello') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
195 # invalid multilink index type |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
196 ar(ValueError, self.db.issue.create, title='foo', status='1', |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
197 nosy=[1]) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
198 # invalid multilink index |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
199 ar(IndexError, self.db.issue.create, title='foo', status='1', |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
200 nosy=['10']) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
201 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
202 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
203 # class get |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
204 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
205 # invalid node id |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
206 ar(IndexError, self.db.status.get, '10', 'name') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
207 # invalid property name |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
208 ar(KeyError, self.db.status.get, '2', 'foo') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
209 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
210 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
211 # class set |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
212 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
213 # invalid node id |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
214 ar(IndexError, self.db.issue.set, '1', name='foo') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
215 # invalid property name |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
216 ar(KeyError, self.db.status.set, '1', foo='foo') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
217 # string property |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
218 ar(TypeError, self.db.status.set, '1', name=1) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
219 # key name clash |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
220 ar(ValueError, self.db.status.set, '2', name='unread') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
221 # set up a valid issue for me to work on |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
222 self.db.issue.create(title="spam", status='1') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
223 # 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
|
224 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
|
225 # 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
|
226 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
|
227 # 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
|
228 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
|
229 nosy='hello') |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
230 # 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
|
231 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
|
232 nosy=[1]) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
233 # 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
|
234 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
|
235 nosy=['10']) |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
236 |
|
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
|
237 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
|
238 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
|
239 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
|
240 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
|
241 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
|
242 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
|
243 |
|
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 # 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
|
245 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
|
246 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
|
247 (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
|
248 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
|
249 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
|
250 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
|
251 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
|
252 keys.sort() |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
253 self.assertEqual(keys, ['deadline', 'files', 'fixer', 'foo', 'nosy', |
|
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
|
254 '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
|
255 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
|
256 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
|
257 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
|
258 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
|
259 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
|
260 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
|
261 |
|
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
|
262 # 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
|
263 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
|
264 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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 (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
|
270 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
|
271 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
|
272 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
|
273 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
|
274 |
|
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
|
275 # 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
|
276 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
|
277 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
|
278 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
|
279 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
|
280 (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
|
281 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
|
282 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
|
283 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
|
284 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
|
285 |
|
562
62febbd7ffec
You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
555
diff
changeset
|
286 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
|
287 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
|
288 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
|
289 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
|
290 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
|
291 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
|
292 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
|
293 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
|
294 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
|
295 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
|
296 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
|
297 |
|
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
|
298 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
|
299 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
|
300 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
|
301 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
|
302 |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
303 def testSearching(self): |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
304 self.db.file.create(content='hello', type="text/plain") |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
305 self.db.file.create(content='world', type="text/frozz", |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
306 comment='blah blah') |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
307 self.db.issue.create(files=['1', '2'], title="flebble plop") |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
308 self.db.issue.create(title="flebble frooz") |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
309 self.db.commit() |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
310 self.assertEquals(self.db.indexer.search(['hello'], self.db.issue), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
311 {'1': {'files': ['1']}}) |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
312 self.assertEquals(self.db.indexer.search(['world'], self.db.issue), {}) |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
313 self.assertEquals(self.db.indexer.search(['frooz'], self.db.issue), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
314 {'2': {}}) |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
315 self.assertEquals(self.db.indexer.search(['flebble'], self.db.issue), |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
316 {'2': {}, '1': {}}) |
|
826
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
317 |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
318 def testReindexing(self): |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
319 self.db.issue.create(title="frooz") |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
320 self.db.commit() |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
321 self.assertEquals(self.db.indexer.search(['frooz'], self.db.issue), |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
322 {'1': {}}) |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
323 self.db.issue.set('1', title="dooble") |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
324 self.db.commit() |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
325 self.assertEquals(self.db.indexer.search(['dooble'], self.db.issue), |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
326 {'1': {}}) |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
327 self.assertEquals(self.db.indexer.search(['frooz'], self.db.issue), {}) |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
328 |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
329 def testForcedReindexing(self): |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
330 self.db.issue.create(title="flebble frooz") |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
331 self.db.commit() |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
332 self.assertEquals(self.db.indexer.search(['flebble'], self.db.issue), |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
333 {'1': {}}) |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
334 self.db.indexer.quiet = 1 |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
335 self.db.indexer.force_reindex() |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
336 self.db.post_init() |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
337 self.db.indexer.quiet = 9 |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
338 self.assertEquals(self.db.indexer.search(['flebble'], self.db.issue), |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
339 {'1': {}}) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
340 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
341 class anydbmReadOnlyDBTestCase(MyTestCase): |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
342 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
|
343 from roundup.backends import anydbm |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
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 = anydbm.Database(config, 'test') |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
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 = anydbm.Database(config) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
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 = 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
|
353 setupSchema(self.db2, 0) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
354 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
355 def testExceptions(self): |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
356 # this tests the exceptions that should be raised |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
357 ar = self.assertRaises |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
358 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
359 # this tests the exceptions that should be raised |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
360 ar(DatabaseError, self.db.status.create, name="foo") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
361 ar(DatabaseError, self.db.status.set, '1', name="foo") |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
362 ar(DatabaseError, self.db.status.retire, '1') |
|
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 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
365 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
|
366 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
|
367 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
|
368 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
369 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
370 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
371 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
372 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
|
373 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
|
374 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
|
375 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
|
376 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
377 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
|
378 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
|
379 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
|
380 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
381 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
382 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
383 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
384 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
|
385 setupSchema(db, 1) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
386 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
|
387 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
|
388 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
|
389 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
|
390 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
391 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
392 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
|
393 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
|
394 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
|
395 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
396 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
397 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
398 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
399 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
|
400 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
|
401 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
|
402 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
|
403 |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
404 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
|
405 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
|
406 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
|
407 # remove previous test, ignore errors |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
408 if os.path.exists(config.DATABASE): |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
409 shutil.rmtree(config.DATABASE) |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
410 os.makedirs(config.DATABASE + '/files') |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
411 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
|
412 setupSchema(db, 1) |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
413 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
|
414 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
|
415 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
|
416 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
|
417 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
418 |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
419 def suite(): |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
420 l = [ |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
421 unittest.makeSuite(anydbmDBTestCase, 'test'), |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
422 unittest.makeSuite(anydbmReadOnlyDBTestCase, 'test') |
|
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
423 ] |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
424 |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
425 try: |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
426 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
|
427 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
|
428 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
|
429 except: |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
430 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
|
431 |
|
726
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
432 try: |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
433 import bsddb3 |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
434 l.append(unittest.makeSuite(bsddb3DBTestCase, 'test')) |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
435 l.append(unittest.makeSuite(bsddb3ReadOnlyDBTestCase, 'test')) |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
436 except: |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
437 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
|
438 |
|
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
439 return unittest.TestSuite(l) |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
440 |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
441 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
442 # $Log: not supported by cvs2svn $ |
|
826
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
443 # Revision 1.24 2002/07/09 03:02:53 richard |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
444 # More indexer work: |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
445 # - all String properties may now be indexed too. Currently there's a bit of |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
446 # "issue" specific code in the actual searching which needs to be |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
447 # addressed. In a nutshell: |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
448 # + pass 'indexme="yes"' as a String() property initialisation arg, eg: |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
449 # file = FileClass(db, "file", name=String(), type=String(), |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
450 # comment=String(indexme="yes")) |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
451 # + the comment will then be indexed and be searchable, with the results |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
452 # related back to the issue that the file is linked to |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
453 # - as a result of this work, the FileClass has a default MIME type that may |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
454 # be overridden in a subclass, or by the use of a "type" property as is |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
455 # done in the default templates. |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
456 # - the regeneration of the indexes (if necessary) is done once the schema is |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
457 # set up in the dbinit. |
|
6d7a45c8464a
Added reindex command to roundup-admin.
Richard Jones <richard@users.sourceforge.net>
parents:
825
diff
changeset
|
458 # |
|
825
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
459 # Revision 1.23 2002/06/20 23:51:48 richard |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
460 # Cleaned up the hyperdb tests |
|
0779ea9f1f18
More indexer work:
Richard Jones <richard@users.sourceforge.net>
parents:
785
diff
changeset
|
461 # |
|
785
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
462 # Revision 1.22 2002/05/21 05:52:11 richard |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
463 # Well whadya know, bsddb3 works again. |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
464 # The backend is implemented _exactly_ the same as bsddb - so there's no |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
465 # using its transaction or locking support. It'd be nice to use those some |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
466 # day I suppose. |
|
491049fb8e31
Cleaned up the hyperdb tests
Richard Jones <richard@users.sourceforge.net>
parents:
726
diff
changeset
|
467 # |
|
726
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
468 # Revision 1.21 2002/04/15 23:25:15 richard |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
469 # . node ids are now generated from a lockable store - no more race conditions |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
470 # |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
471 # We're using the portalocker code by Jonathan Feinberg that was contributed |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
472 # to the ASPN Python cookbook. This gives us locking across Unix and Windows. |
|
e3d742c75ac3
Well whadya know, bsddb3 works again.
Richard Jones <richard@users.sourceforge.net>
parents:
690
diff
changeset
|
473 # |
|
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
|
474 # 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
|
475 # 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
|
476 # 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
|
477 # |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
478 # 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
|
479 # |
|
509a101305da
node ids are now generated from a lockable store - no more race conditions
Richard Jones <richard@users.sourceforge.net>
parents:
676
diff
changeset
|
480 # 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
|
481 # |
|
676
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
482 # Revision 1.19 2002/02/25 14:34:31 grubert |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
483 # . 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
|
484 # change test_db as dirlist does not work for subdirectories. |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
485 # ATTENTION: blobfiles now creates subdirectories for files. |
|
bc46480e2a2b
Fixed serialisation problem...
Richard Jones <richard@users.sourceforge.net>
parents:
646
diff
changeset
|
486 # |
|
646
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
487 # 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
|
488 # . 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
|
489 # |
|
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
490 # ... 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
|
491 # 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
|
492 # 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
|
493 # process. |
|
07abfe8f0c01
use blobfiles in back_anydbm which is used in back_bsddb.
Engelbert Gruber <grubert@users.sourceforge.net>
parents:
570
diff
changeset
|
494 # |
|
570
e346a9792335
fixed back_bsddb so it passed the journal tests
Richard Jones <richard@users.sourceforge.net>
parents:
566
diff
changeset
|
495 # 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
|
496 # 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
|
497 # 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
|
498 # |
|
566
73af3e54c309
We need to keep the last 'set' entry in the journal...
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
562
diff
changeset
|
499 # 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
|
500 # 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
|
501 # |
|
562
62febbd7ffec
You can now use the roundup-admin tool to pack the database
Roche Compaan <rochecompaan@users.sourceforge.net>
parents:
555
diff
changeset
|
502 # 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
|
503 # 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
|
504 # 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
|
505 # |
|
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
|
506 # 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
|
507 # . 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
|
508 # - 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
|
509 # |
|
543
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
510 # 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
|
511 # . 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
|
512 # 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
|
513 # 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
|
514 # 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
|
515 # |
|
22e0edf7da6e
lots of date/interval related changes: more relaxed date format for input
Richard Jones <richard@users.sourceforge.net>
parents:
524
diff
changeset
|
516 # 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
|
517 # 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
|
518 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
519 # 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
|
520 # 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
|
521 # 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
|
522 # the file is called designator.property. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
461
diff
changeset
|
523 # 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
|
524 # 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
|
525 # |
|
461
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
526 # 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
|
527 # Added transaction tests to test_db |
|
b579418f7ed1
Implemented file store rollback.
Richard Jones <richard@users.sourceforge.net>
parents:
441
diff
changeset
|
528 # |
|
441
698534628072
Added transaction tests to test_db
Richard Jones <richard@users.sourceforge.net>
parents:
432
diff
changeset
|
529 # 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
|
530 # 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
|
531 # |
|
432
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
532 # 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
|
533 # . 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
|
534 # 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
|
535 # 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
|
536 # . #487480 ] roundup-server |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
537 # . #487476 ] INSTALL.txt |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
538 # |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
539 # 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
|
540 # 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
|
541 # 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
|
542 # 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
|
543 # |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
544 # More testing needed. |
|
f97415cccb9d
Fixes so the tests use commit and not close
Richard Jones <richard@users.sourceforge.net>
parents:
431
diff
changeset
|
545 # |
|
431
a28a80b714f9
Eliminate database close method by using weakrefs.
Richard Jones <richard@users.sourceforge.net>
parents:
270
diff
changeset
|
546 # 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
|
547 # 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
|
548 # 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
|
549 # |
|
270
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
243
diff
changeset
|
550 # 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
|
551 # 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
|
552 # details. |
|
a4241ddd22d7
Added the Password property type.
Richard Jones <richard@users.sourceforge.net>
parents:
243
diff
changeset
|
553 # |
|
243
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
554 # 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
|
555 # stupid typo |
|
1e571b6be57a
Disabled the bsddb3 module entirely in the unit testing.
Richard Jones <richard@users.sourceforge.net>
parents:
214
diff
changeset
|
556 # |
| 214 | 557 # Revision 1.5 2001/08/07 00:15:51 richard |
| 558 # Added the copyright/license notice to (nearly) all files at request of | |
| 559 # Bizar Software. | |
| 560 # | |
|
213
d45384bc6420
Added the copyright/license notice to (nearly) all files...
Richard Jones <richard@users.sourceforge.net>
parents:
158
diff
changeset
|
561 # 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
|
562 # 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
|
563 # |
|
158
86ebcf734a8e
Added more DB to test_db. Can skip tests where imports fail.
Richard Jones <richard@users.sourceforge.net>
parents:
127
diff
changeset
|
564 # 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
|
565 # 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
|
566 # |
|
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
|
567 # 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
|
568 # 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
|
569 # |
|
121
3672eb16a274
Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents:
92
diff
changeset
|
570 # 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
|
571 # moving tests -> test |
|
3672eb16a274
Added the fabricated property "id" to all hyperdb classes.
Richard Jones <richard@users.sourceforge.net>
parents:
92
diff
changeset
|
572 # |
|
92
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
573 # Revision 1.7 2001/07/27 06:26:43 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
574 # 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
|
575 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
576 # Revision 1.6 2001/07/27 06:23:59 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
577 # consistency |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
578 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
579 # Revision 1.5 2001/07/27 06:23:09 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
580 # 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
|
581 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
582 # Revision 1.4 2001/07/25 04:34:31 richard |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
583 # Added id and log to tests files... |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
584 # |
|
fa44da8d9df2
moving tests -> test
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
585 # |
|
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
|
586 # vim: set filetype=python ts=4 sw=4 et si |
