summaryrefslogtreecommitdiff
path: root/tests/test_sql.py
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2017-01-01 08:37:41 +0100
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2017-01-01 08:39:02 +0100
commitcf40bff2e2eef6f9224e46a20f34b7dbd301763a (patch)
tree3500d095f835a96ede7d3289d8b4f054edd63d06 /tests/test_sql.py
parent4a55b8018aab468d80dd926f46ee4c131e64654b (diff)
downloadpsycopg2-cf40bff2e2eef6f9224e46a20f34b7dbd301763a.tar.gz
Dropped sql.compose
Use a SQL % operator instead.
Diffstat (limited to 'tests/test_sql.py')
-rwxr-xr-xtests/test_sql.py41
1 files changed, 20 insertions, 21 deletions
diff --git a/tests/test_sql.py b/tests/test_sql.py
index 7fe201a..5482ccb 100755
--- a/tests/test_sql.py
+++ b/tests/test_sql.py
@@ -30,61 +30,60 @@ from psycopg2 import sql
class ComposeTests(ConnectingTestCase):
def test_pos(self):
- s = sql.compose("select %s from %s",
- (sql.Identifier('field'), sql.Identifier('table')))
+ s = sql.SQL("select %s from %s") \
+ % (sql.Identifier('field'), sql.Identifier('table'))
s1 = s.as_string(self.conn)
self.assert_(isinstance(s1, str))
self.assertEqual(s1, 'select "field" from "table"')
def test_dict(self):
- s = sql.compose("select %(f)s from %(t)s",
- {'f': sql.Identifier('field'), 't': sql.Identifier('table')})
+ s = sql.SQL("select %(f)s from %(t)s") \
+ % {'f': sql.Identifier('field'), 't': sql.Identifier('table')}
s1 = s.as_string(self.conn)
self.assert_(isinstance(s1, str))
self.assertEqual(s1, 'select "field" from "table"')
def test_unicode(self):
- s = sql.compose(u"select %s from %s",
- (sql.Identifier(u'field'), sql.Identifier('table')))
+ s = sql.SQL(u"select %s from %s") \
+ % (sql.Identifier(u'field'), sql.Identifier('table'))
s1 = s.as_string(self.conn)
self.assert_(isinstance(s1, unicode))
self.assertEqual(s1, u'select "field" from "table"')
def test_compose_literal(self):
- s = sql.compose("select %s;", [sql.Literal(dt.date(2016, 12, 31))])
+ s = sql.SQL("select %s;") % [sql.Literal(dt.date(2016, 12, 31))]
s1 = s.as_string(self.conn)
self.assertEqual(s1, "select '2016-12-31'::date;")
def test_compose_empty(self):
- s = sql.compose("select foo;")
+ s = sql.SQL("select foo;") % ()
s1 = s.as_string(self.conn)
self.assertEqual(s1, "select foo;")
def test_percent_escape(self):
- s = sql.compose("42 %% %s", [sql.Literal(7)])
+ s = sql.SQL("42 %% %s") % [sql.Literal(7)]
s1 = s.as_string(self.conn)
self.assertEqual(s1, "42 % 7")
- s = sql.compose("42 %% 7")
+ s = sql.SQL("42 %% 7") % []
s1 = s.as_string(self.conn)
self.assertEqual(s1, "42 % 7")
def test_compose_badnargs(self):
- self.assertRaises(ValueError, sql.compose, "select foo;", [10])
- self.assertRaises(ValueError, sql.compose, "select %s;")
- self.assertRaises(ValueError, sql.compose, "select %s;", [])
- self.assertRaises(ValueError, sql.compose, "select %s;", [10, 20])
+ self.assertRaises(ValueError, sql.SQL("select foo;").__mod__, [10])
+ self.assertRaises(ValueError, sql.SQL("select %s;").__mod__, [])
+ self.assertRaises(ValueError, sql.SQL("select %s;").__mod__, [10, 20])
def test_compose_bad_args_type(self):
- self.assertRaises(TypeError, sql.compose, "select %s;", {'a': 10})
- self.assertRaises(TypeError, sql.compose, "select %(x)s;", [10])
+ self.assertRaises(TypeError, sql.SQL("select %s;").__mod__, {'a': 10})
+ self.assertRaises(TypeError, sql.SQL("select %(x)s;").__mod__, [10])
def test_must_be_adaptable(self):
class Foo(object):
pass
self.assertRaises(TypeError,
- sql.compose, "select %s;", [Foo()])
+ sql.SQL("select %s;").__mod__, [Foo()])
def test_execute(self):
cur = self.conn.cursor()
@@ -94,11 +93,11 @@ class ComposeTests(ConnectingTestCase):
foo text, bar text, "ba'z" text)
""")
cur.execute(
- sql.compose("insert into %s (id, %s) values (%%s, %s)", [
+ sql.SQL("insert into %s (id, %s) values (%%s, %s)") % [
sql.Identifier('test_compose'),
sql.SQL(', ').join(map(sql.Identifier, ['foo', 'bar', "ba'z"])),
(sql.PH() * 3).join(', '),
- ]),
+ ],
(10, 'a', 'b', 'c'))
cur.execute("select * from test_compose")
@@ -112,11 +111,11 @@ class ComposeTests(ConnectingTestCase):
foo text, bar text, "ba'z" text)
""")
cur.executemany(
- sql.compose("insert into %s (id, %s) values (%%s, %s)", [
+ sql.SQL("insert into %s (id, %s) values (%%s, %s)") % [
sql.Identifier('test_compose'),
sql.SQL(', ').join(map(sql.Identifier, ['foo', 'bar', "ba'z"])),
(sql.PH() * 3).join(', '),
- ]),
+ ],
[(10, 'a', 'b', 'c'), (20, 'd', 'e', 'f')])
cur.execute("select * from test_compose")