Mercurial > genshi > mirror
comparison examples/trac/trac/tests/env.py @ 39:93b4dcbafd7b trunk
Copy Trac to main branch.
author | cmlenz |
---|---|
date | Mon, 03 Jul 2006 18:53:27 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
38:ee669cb9cccc | 39:93b4dcbafd7b |
---|---|
1 from trac import db_default | |
2 from trac.env import Environment | |
3 | |
4 import os.path | |
5 import unittest | |
6 import tempfile | |
7 import shutil | |
8 | |
9 | |
10 class EnvironmentTestCase(unittest.TestCase): | |
11 | |
12 def setUp(self): | |
13 env_path = os.path.join(tempfile.gettempdir(), 'trac-tempenv') | |
14 self.env = Environment(env_path, create=True) | |
15 self.db = self.env.get_db_cnx() | |
16 | |
17 def tearDown(self): | |
18 self.db.close() | |
19 self.env.shutdown() # really closes the db connections | |
20 shutil.rmtree(self.env.path) | |
21 | |
22 def test_get_version(self): | |
23 """Testing env.get_version""" | |
24 assert self.env.get_version() == db_default.db_version | |
25 | |
26 def test_get_known_users(self): | |
27 """Testing env.get_known_users""" | |
28 cursor = self.db.cursor() | |
29 cursor.executemany("INSERT INTO session VALUES (%s,%s,0)", | |
30 [('123', 0),('tom', 1), ('joe', 1), ('jane', 1)]) | |
31 cursor.executemany("INSERT INTO session_attribute VALUES (%s,%s,%s,%s)", | |
32 [('123', 0, 'email', 'a@example.com'), | |
33 ('tom', 1, 'name', 'Tom'), | |
34 ('tom', 1, 'email', 'tom@example.com'), | |
35 ('joe', 1, 'email', 'joe@example.com'), | |
36 ('jane', 1, 'name', 'Jane')]) | |
37 users = {} | |
38 for username,name,email in self.env.get_known_users(self.db): | |
39 users[username] = (name, email) | |
40 | |
41 assert not users.has_key('anonymous') | |
42 self.assertEqual(('Tom', 'tom@example.com'), users['tom']) | |
43 self.assertEqual((None, 'joe@example.com'), users['joe']) | |
44 self.assertEqual(('Jane', None), users['jane']) | |
45 | |
46 | |
47 def suite(): | |
48 return unittest.makeSuite(EnvironmentTestCase,'test') | |
49 | |
50 if __name__ == '__main__': | |
51 unittest.main(defaultTest='suite') |