annotate test/test_misc.py @ 6610:db3f0ba75b4a

Change checkpoint_data and restore_connection_on_error to subtransaction checkpoint_data and restore_connection_on_error used to commit() and rollback() the db connection. This causes additional I/O and load. Changed them to use 'SAVEPOINT name' and 'ROLLBACK TO name' to get a faster method for handling errors within a tranaction. One thing to note is that postgresql (unlike SQL std) doesn't overwrite an older savepoint with he same name. It keeps all savepoints but only rolls back to the newest one with a given name. This could be a resource issue. I left a commented out release statement in case somebody runs into an issue due to too many savepoints. I expect it to slow down the import but....
author John Rouillard <rouilj@ieee.org>
date Sat, 29 Jan 2022 11:29:36 -0500
parents 3b945aee0919
children 5986ddd0d2e7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5155
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
1 # misc tests
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 import unittest
5481
9a09719b0d8e helper to allow comparing dicts and None values in Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5155
diff changeset
4 import roundup.anypy.cmp_
5155
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 from roundup.cgi.accept_language import parse
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 class AcceptLanguageTest(unittest.TestCase):
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8 def testParse(self):
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 self.assertEqual(parse("da, en-gb;q=0.8, en;q=0.7"),
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10 ['da', 'en_gb', 'en'])
6347
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
11 self.assertEqual(parse("da, en-gb;q=0.7, en;q=0.8"),
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
12 ['da', 'en', 'en_gb'])
5155
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 self.assertEqual(parse("en;q=0.2, fr;q=1"), ['fr', 'en'])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14 self.assertEqual(parse("zn; q = 0.2 ,pt-br;q =1"), ['pt_br', 'zn'])
6347
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
15 self.assertEqual(parse("pt-br;q =1, zn; q = 0.2"), ['pt_br', 'zn'])
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
16 self.assertEqual(parse("pt-br,zn;q= 0.1, en-US;q=0.5"),
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
17 ['pt_br', 'en_US', 'zn'])
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
18 # verify that items with q=1.0 are in same output order as input
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
19 self.assertEqual(parse("pt-br,en-US; q=0.5, zn;q= 1.0" ),
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
20 ['pt_br', 'zn', 'en_US'])
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
21 self.assertEqual(parse("zn;q=1.0;q= 1.0,pt-br,en-US; q=0.5" ),
3b945aee0919 accept_language parse; fix priority order; preserve insertion order
John Rouillard <rouilj@ieee.org>
parents: 5481
diff changeset
22 ['zn', 'pt_br', 'en_US'])
5155
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
23 self.assertEqual(parse("es-AR"), ['es_AR'])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
24 self.assertEqual(parse("es-es-cat"), ['es_es_cat'])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
25 self.assertEqual(parse(""), [])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
26 self.assertEqual(parse(None),[])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
27 self.assertEqual(parse(" "), [])
e1e3531b4d9b add tests for roundup/cgi/accept_language.py copied from embedded doctests already in file.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
28 self.assertEqual(parse("en,"), ['en'])
5481
9a09719b0d8e helper to allow comparing dicts and None values in Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5155
diff changeset
29
9a09719b0d8e helper to allow comparing dicts and None values in Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5155
diff changeset
30 class CmpTest(unittest.TestCase):
9a09719b0d8e helper to allow comparing dicts and None values in Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5155
diff changeset
31 def testCmp(self):
9a09719b0d8e helper to allow comparing dicts and None values in Python 3
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5155
diff changeset
32 roundup.anypy.cmp_._test()

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