Ejemplo n.º 1
0
    def test_cursor_executemany(self):
        self.cursor.executemany("SELECT", [("A",), ("B",)])
        self.assertEqual("execute", self.cursor.cursor.method)
        self.assertEqual("SELECT", self.cursor.cursor.query)
        self.assertEqual([("A",), ("B",)], self.cursor.cursor.args)

        zc = ZopeConnection(MyConnectionStub2(), self.typeInfo)
        self.cursor = ZopeCursor(zc.conn.cursor(), zc)
        self.cursor.executemany("SELECT", [("A",), ("B",)])
        self.assertEqual("executemany", self.cursor.cursor.method)
        self.assertEqual("SELECT", self.cursor.cursor.query)
        self.assertEqual([("A",), ("B",)], self.cursor.cursor.args)
Ejemplo n.º 2
0
 def setUp(self):
     self.typeInfo = MyTypeInfoStub()
     zc = ZopeConnection(MyConnectionStub(), self.typeInfo)
     self.cursor = ZopeCursor(zc.conn.cursor(), zc)
Ejemplo n.º 3
0
class ZopeCursorTests(TestCase):

    def setUp(self):
        self.typeInfo = MyTypeInfoStub()
        zc = ZopeConnection(MyConnectionStub(), self.typeInfo)
        self.cursor = ZopeCursor(zc.conn.cursor(), zc)

    def test_cursor_fetchone(self):
        results = self.cursor.fetchone()
        expected = converted[0]
        self.assertEqual(results, expected,
                   'type conversion was not performed in cursor.fetchone:\n'
                   'got %r, expected %r' % (results, expected))

    def test_cursor_fetchone_no_more_results(self):
        self.cursor.cursor._raw = []
        results = self.cursor.fetchone()
        expected = None
        self.assertEqual(results, expected,
                   'type conversion was not performed in cursor.fetchone:\n'
                   'got %r, expected %r' % (results, expected))

    def test_cursor_fetchmany(self):
        results = self.cursor.fetchmany()
        expected = converted[:2]
        self.assertEqual(results, expected,
                   'type conversion was not performed in cursor.fetchmany:\n'
                   'got      %r,\n'
                   'expected %r' % (results, expected))

    def test_cursor_fetchall(self):
        results = self.cursor.fetchall()
        expected = converted
        self.assertEqual(results, expected,
                   'type conversion was not performed in cursor.fetchall:\n'
                   'got      %r,\n'
                   'expected %r' % (results, expected))

    def test_cursor_executemany(self):
        self.cursor.executemany("SELECT", [("A",), ("B",)])
        self.assertEqual("execute", self.cursor.cursor.method)
        self.assertEqual("SELECT", self.cursor.cursor.query)
        self.assertEqual([("A",), ("B",)], self.cursor.cursor.args)

        zc = ZopeConnection(MyConnectionStub2(), self.typeInfo)
        self.cursor = ZopeCursor(zc.conn.cursor(), zc)
        self.cursor.executemany("SELECT", [("A",), ("B",)])
        self.assertEqual("executemany", self.cursor.cursor.method)
        self.assertEqual("SELECT", self.cursor.cursor.query)
        self.assertEqual([("A",), ("B",)], self.cursor.cursor.args)

    def test_cursor_query_encoding(self):
        self.cursor.execute(u'\u0422\u0435\u0441\u0442')
        self.assertEqual('\xd0\xa2\xd0\xb5\xd1\x81\xd1\x82',
            self.cursor.cursor.query)

        self.typeInfo.setEncoding("windows-1251")
        self.cursor.execute(u'\u0422\u0435\u0441\u0442')
        self.assertEqual('\xd2\xe5\xf1\xf2', self.cursor.cursor.query)

    def test_cursor_tuple_args_encoding(self):
        self.typeInfo.setEncoding("windows-1251")
        self.cursor.execute("SELECT * FROM table",
            (u'\u0422\u0435\u0441\u0442',))
        self.assertEqual(('\xd2\xe5\xf1\xf2',), self.cursor.cursor.args)

    def test_cursor_list_args_encoding(self):
        self.typeInfo.setEncoding("windows-1251")
        self.cursor.execute(u'\u0422\u0435\u0441\u0442',
            [u'\u0422\u0435\u0441\u0442'])
        self.assertEqual('\xd2\xe5\xf1\xf2', self.cursor.cursor.query)
        self.assertEqual(['\xd2\xe5\xf1\xf2'], self.cursor.cursor.args)

        self.cursor.execute("SELECT * FROM table",
            [(u'\u0422\u0435\u0441\u0442',)])
        self.assertEqual([('\xd2\xe5\xf1\xf2',)], self.cursor.cursor.args)

        self.cursor.execute("SELECT * FROM table",
            [[u'\u0422\u0435\u0441\u0442']])
        self.assertEqual([['\xd2\xe5\xf1\xf2']], self.cursor.cursor.args)

        self.cursor.execute("SELECT * FROM table",
            [{"value": u'\u0422\u0435\u0441\u0442'}])
        self.assertEqual([{"value": '\xd2\xe5\xf1\xf2'}],
            self.cursor.cursor.args)

    def test_cursor_dict_args_encoding(self):
        self.typeInfo.setEncoding("windows-1251")
        self.cursor.execute("SELECT * FROM table",
            {"value": u'\u0422\u0435\u0441\u0442'})
        self.assertEqual({"value": '\xd2\xe5\xf1\xf2'},
            self.cursor.cursor.args)