source: OpenRLabs-Git/deploy/rlabs-docker/web2py-rlabs/gluon/contrib/pymysql/tests/test_nextset.py

main
Last change on this file was 42bd667, checked in by David Fuertes <dfuertes@…>, 4 years ago

Historial Limpio

  • Property mode set to 100755
File size: 1.8 KB
Line 
1import unittest2
2
3from pymysql.tests import base
4from pymysql import util
5
6
7class TestNextset(base.PyMySQLTestCase):
8
9    def setUp(self):
10        super(TestNextset, self).setUp()
11        self.con = self.connections[0]
12
13    def test_nextset(self):
14        cur = self.con.cursor()
15        cur.execute("SELECT 1; SELECT 2;")
16        self.assertEqual([(1,)], list(cur))
17
18        r = cur.nextset()
19        self.assertTrue(r)
20
21        self.assertEqual([(2,)], list(cur))
22        self.assertIsNone(cur.nextset())
23
24    def test_skip_nextset(self):
25        cur = self.con.cursor()
26        cur.execute("SELECT 1; SELECT 2;")
27        self.assertEqual([(1,)], list(cur))
28
29        cur.execute("SELECT 42")
30        self.assertEqual([(42,)], list(cur))
31
32    def test_ok_and_next(self):
33        cur = self.con.cursor()
34        cur.execute("SELECT 1; commit; SELECT 2;")
35        self.assertEqual([(1,)], list(cur))
36        self.assertTrue(cur.nextset())
37        self.assertTrue(cur.nextset())
38        self.assertEqual([(2,)], list(cur))
39        self.assertFalse(bool(cur.nextset()))
40
41    @unittest2.expectedFailure
42    def test_multi_cursor(self):
43        cur1 = self.con.cursor()
44        cur2 = self.con.cursor()
45
46        cur1.execute("SELECT 1; SELECT 2;")
47        cur2.execute("SELECT 42")
48
49        self.assertEqual([(1,)], list(cur1))
50        self.assertEqual([(42,)], list(cur2))
51
52        r = cur1.nextset()
53        self.assertTrue(r)
54
55        self.assertEqual([(2,)], list(cur1))
56        self.assertIsNone(cur1.nextset())
57
58    def test_multi_statement_warnings(self):
59        cursor = self.con.cursor()
60
61        try:
62            cursor.execute('DROP TABLE IF EXISTS a; '
63                           'DROP TABLE IF EXISTS b;')
64        except TypeError:
65            self.fail()
66
67    #TODO: How about SSCursor and nextset?
68    # It's very hard to implement correctly...
Note: See TracBrowser for help on using the repository browser.