summaryrefslogtreecommitdiff
path: root/test/ext
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-05-24 11:12:39 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-05-24 11:12:39 -0400
commite2c612d24d714ba2a4fb805d9e7bdb9023dc0af8 (patch)
treee47cf33b84de0f7a0faccf15502ead1f3e842f2a /test/ext
parent33986147a3aff8f10976aabbe860ce3dae8e8ca3 (diff)
downloadsqlalchemy-e2c612d24d714ba2a4fb805d9e7bdb9023dc0af8.tar.gz
get __clause_element__ for remote()/foreign() annotation, [ticket:2493]
Diffstat (limited to 'test/ext')
-rw-r--r--test/ext/test_declarative.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/ext/test_declarative.py b/test/ext/test_declarative.py
index 1d9f7f39b..36cd598ab 100644
--- a/test/ext/test_declarative.py
+++ b/test/ext/test_declarative.py
@@ -266,6 +266,29 @@ class DeclarativeTest(DeclarativeTestBase):
"does not have a mapped column named "
"'__table__'", configure_mappers)
+ def test_string_w_pj_annotations(self):
+
+ class User(Base, fixtures.ComparableEntity):
+ __tablename__ = 'users'
+ id = Column(Integer, primary_key=True,
+ test_needs_autoincrement=True)
+ name = Column(String(50))
+ class Address(Base, fixtures.ComparableEntity):
+
+ __tablename__ = 'addresses'
+ id = Column(Integer, primary_key=True,
+ test_needs_autoincrement=True)
+ email = Column(String(50))
+ user_id = Column(Integer)
+ user = relationship("User",
+ primaryjoin="remote(User.id)==foreign(Address.user_id)"
+ )
+
+ eq_(
+ Address.user.property._join_condition.local_remote_pairs,
+ [(Address.__table__.c.user_id, User.__table__.c.id)]
+ )
+
def test_string_dependency_resolution_no_magic(self):
"""test that full tinkery expressions work as written"""