summaryrefslogtreecommitdiff
path: root/test/engine/test_reflection.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-04-24 16:25:20 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-04-24 16:25:20 -0400
commit1fe06a551c28a6e0886f96334deebdee68d9fff9 (patch)
tree8ed3a735d220cc8a95d4067b331d64e01bc51d03 /test/engine/test_reflection.py
parentf69ccd193b5f1bfe4f2f50e93fe912ceac1af66e (diff)
parent3cbe90efbebd38c570a137d2801753e3aa55823b (diff)
downloadsqlalchemy-1fe06a551c28a6e0886f96334deebdee68d9fff9.tar.gz
- [feature] Inspector.get_primary_keys() is
deprecated; use Inspector.get_pk_constraint(). Courtesy Diana Clarke. [ticket:2422] - restored default get_primary_keys()/get_pk_constraint() wrapper to help maintain compatibility with third party dialects created against 0.6 or 0.7
Diffstat (limited to 'test/engine/test_reflection.py')
-rw-r--r--test/engine/test_reflection.py46
1 files changed, 30 insertions, 16 deletions
diff --git a/test/engine/test_reflection.py b/test/engine/test_reflection.py
index 371a4c1b4..6bfc3246a 100644
--- a/test/engine/test_reflection.py
+++ b/test/engine/test_reflection.py
@@ -1,13 +1,14 @@
-from test.lib.testing import eq_, assert_raises, assert_raises_message
-import StringIO, unicodedata
+import unicodedata
+import sqlalchemy as sa
+from sqlalchemy import exc as sa_exc
from sqlalchemy import types as sql_types
from sqlalchemy import schema, events, event, inspect
from sqlalchemy import MetaData, Integer, String
-from test.lib.schema import Table, Column
-import sqlalchemy as sa
+from sqlalchemy.engine.reflection import Inspector
from test.lib import ComparesTables, \
- testing, engines, AssertsCompiledSQL
-from test.lib import fixtures
+ testing, engines, AssertsCompiledSQL, fixtures
+from test.lib.schema import Table, Column
+from test.lib.testing import eq_, assert_raises, assert_raises_message
metadata, users = None, None
@@ -1483,17 +1484,17 @@ class ComponentReflectionTest(fixtures.TestBase):
self._test_get_columns(schema='test_schema', table_type='view')
@testing.provide_metadata
- def _test_get_primary_keys(self, schema=None):
+ def _test_get_pk_constraint(self, schema=None):
meta = self.metadata
- users, addresses, dingalings = createTables(meta, schema)
+ users, addresses, _ = createTables(meta, schema)
meta.create_all()
insp = inspect(meta.bind)
- users_pkeys = insp.get_primary_keys(users.name,
- schema=schema)
+
+ users_cons = insp.get_pk_constraint(users.name, schema=schema)
+ users_pkeys = users_cons['constrained_columns']
eq_(users_pkeys, ['user_id'])
- addr_cons = insp.get_pk_constraint(addresses.name,
- schema=schema)
+ addr_cons = insp.get_pk_constraint(addresses.name, schema=schema)
addr_pkeys = addr_cons['constrained_columns']
eq_(addr_pkeys, ['address_id'])
@@ -1502,12 +1503,25 @@ class ComponentReflectionTest(fixtures.TestBase):
eq_(addr_cons['name'], 'email_ad_pk')
go()
- def test_get_primary_keys(self):
- self._test_get_primary_keys()
+ def test_get_pk_constraint(self):
+ self._test_get_pk_constraint()
@testing.fails_on('sqlite', 'no schemas')
- def test_get_primary_keys_with_schema(self):
- self._test_get_primary_keys(schema='test_schema')
+ def test_get_pk_constraint_with_schema(self):
+ self._test_get_pk_constraint(schema='test_schema')
+
+ @testing.provide_metadata
+ def test_deprecated_get_primary_keys(self):
+ meta = self.metadata
+ users, _, _ = createTables(meta, schema=None)
+ meta.create_all()
+ insp = Inspector(meta.bind)
+ assert_raises_message(
+ sa_exc.SADeprecationWarning,
+ "Call to deprecated method get_primary_keys."
+ " Use get_pk_constraint instead.",
+ insp.get_primary_keys, users.name
+ )
@testing.provide_metadata
def _test_get_foreign_keys(self, schema=None):