mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-25 21:20:32 +03:00
Skip composite type tests if the server doesn't support them
This commit is contained in:
parent
ca3d9da83b
commit
153c30f24b
|
@ -333,6 +333,18 @@ class HstoreTestCase(unittest.TestCase):
|
||||||
ok(dict(zip(ab, ab)))
|
ok(dict(zip(ab, ab)))
|
||||||
|
|
||||||
|
|
||||||
|
def skip_if_no_composite(f):
|
||||||
|
def skip_if_no_composite_(self):
|
||||||
|
if self.conn.server_version < 80000:
|
||||||
|
return self.skipTest(
|
||||||
|
"server version %s doesn't support composite types"
|
||||||
|
% self.conn.server_version)
|
||||||
|
|
||||||
|
return f(self)
|
||||||
|
|
||||||
|
skip_if_no_composite_.__name__ = f.__name__
|
||||||
|
return skip_if_no_composite_
|
||||||
|
|
||||||
class AdaptTypeTestCase(unittest.TestCase):
|
class AdaptTypeTestCase(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.conn = psycopg2.connect(tests.dsn)
|
self.conn = psycopg2.connect(tests.dsn)
|
||||||
|
@ -340,6 +352,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.conn.close()
|
self.conn.close()
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_none_in_record(self):
|
def test_none_in_record(self):
|
||||||
curs = self.conn.cursor()
|
curs = self.conn.cursor()
|
||||||
s = curs.mogrify("SELECT %s;", [(42, None)])
|
s = curs.mogrify("SELECT %s;", [(42, None)])
|
||||||
|
@ -397,6 +410,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
'^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f")',
|
'^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f")',
|
||||||
[None, ''.join(map(chr, range(1, 128)))])
|
[None, ''.join(map(chr, range(1, 128)))])
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_cast_composite(self):
|
def test_cast_composite(self):
|
||||||
oid = self._create_type("type_isd",
|
oid = self._create_type("type_isd",
|
||||||
[('anint', 'integer'), ('astring', 'text'), ('adate', 'date')])
|
[('anint', 'integer'), ('astring', 'text'), ('adate', 'date')])
|
||||||
|
@ -427,6 +441,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
self.assertEqual(v.astring, "hello")
|
self.assertEqual(v.astring, "hello")
|
||||||
self.assertEqual(v.adate, date(2011,1,2))
|
self.assertEqual(v.adate, date(2011,1,2))
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_cast_nested(self):
|
def test_cast_nested(self):
|
||||||
self._create_type("type_is",
|
self._create_type("type_is",
|
||||||
[("anint", "integer"), ("astring", "text")])
|
[("anint", "integer"), ("astring", "text")])
|
||||||
|
@ -453,6 +468,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
else:
|
else:
|
||||||
self.assertEqual(v.anotherpair.apair.astring, "hello")
|
self.assertEqual(v.anotherpair.apair.astring, "hello")
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_register_on_cursor(self):
|
def test_register_on_cursor(self):
|
||||||
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
||||||
|
|
||||||
|
@ -464,6 +480,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
curs2.execute("select (1,2)::type_ii")
|
curs2.execute("select (1,2)::type_ii")
|
||||||
self.assertEqual(curs2.fetchone()[0], "(1,2)")
|
self.assertEqual(curs2.fetchone()[0], "(1,2)")
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_register_on_connection(self):
|
def test_register_on_connection(self):
|
||||||
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
||||||
|
|
||||||
|
@ -481,6 +498,7 @@ class AdaptTypeTestCase(unittest.TestCase):
|
||||||
conn1.close()
|
conn1.close()
|
||||||
conn2.close()
|
conn2.close()
|
||||||
|
|
||||||
|
@skip_if_no_composite
|
||||||
def test_register_globally(self):
|
def test_register_globally(self):
|
||||||
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
self._create_type("type_ii", [("a", "integer"), ("b", "integer")])
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user