diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-04-24 16:25:20 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-04-24 16:25:20 -0400 |
commit | 1fe06a551c28a6e0886f96334deebdee68d9fff9 (patch) | |
tree | 8ed3a735d220cc8a95d4067b331d64e01bc51d03 /test/engine/test_reflection.py | |
parent | f69ccd193b5f1bfe4f2f50e93fe912ceac1af66e (diff) | |
parent | 3cbe90efbebd38c570a137d2801753e3aa55823b (diff) | |
download | sqlalchemy-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.py | 46 |
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): |