diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2017-09-05 09:44:06 -0400 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@awstats.zzzcomputing.com> | 2017-09-05 09:44:06 -0400 |
| commit | eabdbd1d3c9b8c43e1c5dec5bcb91a8b765e6a69 (patch) | |
| tree | ee9e1560a72383716176afd6e6674e07876f5d34 /test | |
| parent | abf1296ed4e0bd56c771d984de1f8728098b5d27 (diff) | |
| parent | 130f31ca79c7b40b2cb8aa1a4af7049408074d12 (diff) | |
| download | sqlalchemy-eabdbd1d3c9b8c43e1c5dec5bcb91a8b765e6a69.tar.gz | |
Merge "Check for non-mapped property in synonym"
Diffstat (limited to 'test')
| -rw-r--r-- | test/orm/test_mapper.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/orm/test_mapper.py b/test/orm/test_mapper.py index 2392aa002..f39e174b0 100644 --- a/test/orm/test_mapper.py +++ b/test/orm/test_mapper.py @@ -1406,6 +1406,31 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL): u = s.query(User).filter(User.y == 8).one() eq_(u.y, 8) + def test_synonym_of_non_property_raises(self): + from sqlalchemy.ext.associationproxy import association_proxy + + class User(object): + pass + + users, Address, addresses = ( + self.tables.users, + self.classes.Address, + self.tables.addresses) + + mapper(User, users, properties={ + 'y': synonym('x'), + 'addresses': relationship(Address) + }) + mapper(Address, addresses) + User.x = association_proxy("addresses", "email_address") + + assert_raises_message( + sa.exc.InvalidRequestError, + r'synonym\(\) attribute "User.x" only supports ORM mapped ' + 'attributes, got .*AssociationProxy', + getattr, User.y, "property" + ) + def test_synonym_column_location(self): users, User = self.tables.users, self.classes.User |
