annotate test/test_memorydb.py @ 4669:d7ac6c7bc371

Fix basic authentication. Instatiating the login action would fail if the user is not set. We now first set the user to anonymous and then try basic authentication if enabled.
author Ralf Schlatterbeck <rsc@runtux.com>
date Tue, 16 Oct 2012 18:27:33 +0200
parents 6e3e4f24c753
children 63c79c0992ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4349
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 import unittest, os, shutil, time
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 from roundup import hyperdb
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 from db_test_base import DBTest, ROTest, SchemaTest, config, setupSchema
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 import memorydb
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 class memorydbOpener:
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 module = memorydb
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 def nuke_database(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # really kill it
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 self.db = None
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 db = None
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 def open_database(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17 if self.db is None:
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 self.db = self.module.Database(config, 'admin')
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 return self.db
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 def setUp(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 self.open_database()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 setupSchema(self.db, 1, self.module)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 def tearDown(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 if self.db is not None:
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 self.db.close()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
28
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 # nuke and re-create db for restore
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 def nukeAndCreate(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 self.db.close()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 self.nuke_database()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 self.db = self.module.Database(config, 'admin')
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 setupSchema(self.db, 0, self.module)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
36 class memorydbDBTest(memorydbOpener, DBTest):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 pass
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 class memorydbROTest(memorydbOpener, ROTest):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 def setUp(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 self.db = self.module.Database(config)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 setupSchema(self.db, 0, self.module)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 class memorydbSchemaTest(memorydbOpener, SchemaTest):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 pass
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 from session_common import DBMTest
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 class memorydbSessionTest(memorydbOpener, DBMTest):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 def setUp(self):
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 self.db = self.module.Database(config, 'admin')
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 setupSchema(self.db, 1, self.module)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 self.sessions = self.db.sessions
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 def test_suite():
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55 suite = unittest.TestSuite()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 print 'Including memorydb tests'
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 suite.addTest(unittest.makeSuite(memorydbDBTest))
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 suite.addTest(unittest.makeSuite(memorydbROTest))
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59 suite.addTest(unittest.makeSuite(memorydbSchemaTest))
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 suite.addTest(unittest.makeSuite(memorydbSessionTest))
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 return suite
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63 if __name__ == '__main__':
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 runner = unittest.TextTestRunner()
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 unittest.main(testRunner=runner)
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 # vim: set filetype=python ts=4 sw=4 et si
f0faef4dd023 Make memorydb pass all tests;
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69

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