diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-09-06 18:40:46 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-09-06 18:43:58 -0400 |
| commit | 7afcb39a962d383e5ba04179c1b13131fb08a787 (patch) | |
| tree | 266d62873e14f5a1466ec1f3fa373571bdcbd7f9 /test/sql/test_metadata.py | |
| parent | fc48050e5d0c56fc5a6cd85679859e71961c59eb (diff) | |
| download | sqlalchemy-7afcb39a962d383e5ba04179c1b13131fb08a787.tar.gz | |
Catch set_parent_w_dispatch missing
Added an explicit error message for the case when objects passed to
:class:`.Table` are not :class:`.SchemaItem` objects, rather than resolving
to an attribute error.
Fixes: #4847
Change-Id: I4dcdcee86b64c85ccf12e2ddc3d638563d307991
Diffstat (limited to 'test/sql/test_metadata.py')
| -rw-r--r-- | test/sql/test_metadata.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index f3fa008c5..ad251d1b8 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -1465,6 +1465,37 @@ class TableTest(fixtures.TestBase, AssertsCompiledSQL): t.info["bar"] = "zip" assert t.info["bar"] == "zip" + def test_invalid_objects(self): + assert_raises_message( + tsa.exc.ArgumentError, + "'SchemaItem' object, such as a 'Column' or a " + "'Constraint' expected, got <.*ColumnClause at .*; q>", + Table, + "asdf", + MetaData(), + tsa.column("q", Integer), + ) + + assert_raises_message( + tsa.exc.ArgumentError, + r"'SchemaItem' object, such as a 'Column' or a " + r"'Constraint' expected, got String\(\)", + Table, + "asdf", + MetaData(), + String(), + ) + + assert_raises_message( + tsa.exc.ArgumentError, + "'SchemaItem' object, such as a 'Column' or a " + "'Constraint' expected, got 12", + Table, + "asdf", + MetaData(), + 12, + ) + def test_reset_exported_passes(self): m = MetaData() |
