]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- flake8 all of test/ext/declarative
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 23 Sep 2014 17:25:22 +0000 (13:25 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 23 Sep 2014 17:25:22 +0000 (13:25 -0400)
test/ext/declarative/test_basic.py
test/ext/declarative/test_clsregistry.py
test/ext/declarative/test_inheritance.py
test/ext/declarative/test_mixin.py
test/ext/declarative/test_reflection.py

index e2c2af679f8e3217a82dc3ce7b0a302a73e32d26..3fac39cacf6a4aa8a8320146591ef453fd8f807a 100644 (file)
@@ -1,6 +1,6 @@
 
 from sqlalchemy.testing import eq_, assert_raises, \
-    assert_raises_message, is_
+    assert_raises_message
 from sqlalchemy.ext import declarative as decl
 from sqlalchemy import exc
 import sqlalchemy as sa
@@ -10,21 +10,21 @@ from sqlalchemy import MetaData, Integer, String, ForeignKey, \
 from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, class_mapper, \
     joinedload, configure_mappers, backref, clear_mappers, \
-    deferred, column_property, composite,\
-    Session, properties
-from sqlalchemy.testing import eq_
-from sqlalchemy.util import classproperty, with_metaclass
-from sqlalchemy.ext.declarative import declared_attr, AbstractConcreteBase, \
-    ConcreteBase, synonym_for
+    column_property, composite, Session, properties
+from sqlalchemy.util import with_metaclass
+from sqlalchemy.ext.declarative import declared_attr, synonym_for
 from sqlalchemy.testing import fixtures
-from sqlalchemy.testing.util import gc_collect
 
 Base = None
 
+User = Address = None
+
+
 class DeclarativeTestBase(fixtures.TestBase,
-                            testing.AssertsExecutionResults,
-                            testing.AssertsCompiledSQL):
+                          testing.AssertsExecutionResults,
+                          testing.AssertsCompiledSQL):
     __dialect__ = 'default'
+
     def setup(self):
         global Base
         Base = decl.declarative_base(testing.db)
@@ -34,13 +34,15 @@ class DeclarativeTestBase(fixtures.TestBase,
         clear_mappers()
         Base.metadata.drop_all()
 
+
 class DeclarativeTest(DeclarativeTestBase):
+
     def test_basic(self):
         class User(Base, fixtures.ComparableEntity):
             __tablename__ = 'users'
 
             id = Column('id', Integer, primary_key=True,
-                                        test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             name = Column('name', String(50))
             addresses = relationship("Address", backref="user")
 
@@ -48,7 +50,7 @@ class DeclarativeTest(DeclarativeTestBase):
             __tablename__ = 'addresses'
 
             id = Column(Integer, primary_key=True,
-                                        test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             email = Column(String(50), key='_email')
             user_id = Column('user_id', Integer, ForeignKey('users.id'),
                              key='_user_id')
@@ -82,7 +84,7 @@ class DeclarativeTest(DeclarativeTestBase):
             __tablename__ = 'users'
 
             id = Column('id', Integer, primary_key=True,
-                                        test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             name = Column('name', String(50))
             addresses = relationship(util.u("Address"), backref="user")
 
@@ -90,7 +92,7 @@ class DeclarativeTest(DeclarativeTestBase):
             __tablename__ = 'addresses'
 
             id = Column(Integer, primary_key=True,
-                                        test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             email = Column(String(50), key='_email')
             user_id = Column('user_id', Integer, ForeignKey('users.id'),
                              key='_user_id')
@@ -120,8 +122,10 @@ class DeclarativeTest(DeclarativeTestBase):
             __table_args__ = ()
 
     def test_cant_add_columns(self):
-        t = Table('t', Base.metadata, Column('id', Integer,
-                  primary_key=True), Column('data', String))
+        t = Table(
+            't', Base.metadata,
+            Column('id', Integer, primary_key=True),
+            Column('data', String))
 
         def go():
             class User(Base):
@@ -158,7 +162,6 @@ class DeclarativeTest(DeclarativeTestBase):
             go
         )
 
-
     def test_column_repeated_under_prop(self):
         def go():
             class Foo(Base):
@@ -180,6 +183,7 @@ class DeclarativeTest(DeclarativeTestBase):
         class A(Base):
             __tablename__ = 'a'
             id = Column(Integer, primary_key=True)
+
         class B(Base):
             __tablename__ = 'b'
             id = Column(Integer, primary_key=True)
@@ -196,6 +200,7 @@ class DeclarativeTest(DeclarativeTestBase):
         class A(Base):
             __tablename__ = 'a'
             id = Column(Integer, primary_key=True)
+
         class B(Base):
             __tablename__ = 'b'
             id = Column(Integer, primary_key=True)
@@ -213,11 +218,12 @@ class DeclarativeTest(DeclarativeTestBase):
 
         # metaclass to mock the way zope.interface breaks getattr()
         class BrokenMeta(type):
+
             def __getattribute__(self, attr):
                 if attr == 'xyzzy':
                     raise AttributeError('xyzzy')
                 else:
-                    return object.__getattribute__(self,attr)
+                    return object.__getattribute__(self, attr)
 
         # even though this class has an xyzzy attribute, getattr(cls,"xyzzy")
         # fails
@@ -225,13 +231,13 @@ class DeclarativeTest(DeclarativeTestBase):
             xyzzy = "magic"
 
         # _as_declarative() inspects obj.__class__.__bases__
-        class User(BrokenParent,fixtures.ComparableEntity):
+        class User(BrokenParent, fixtures.ComparableEntity):
             __tablename__ = 'users'
             id = Column('id', Integer, primary_key=True,
-                test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             name = Column('name', String(50))
 
-        decl.instrument_declarative(User,{},Base.metadata)
+        decl.instrument_declarative(User, {}, Base.metadata)
 
     def test_reserved_identifiers(self):
         def go1():
@@ -285,29 +291,28 @@ class DeclarativeTest(DeclarativeTestBase):
             email = Column('email', String(50))
             user_id = Column('user_id', Integer, ForeignKey('users.id'))
             user = relationship("User", primaryjoin=user_id == User.id,
-                            backref="addresses")
+                                backref="addresses")
 
         assert mapperlib.Mapper._new_mappers is True
-        u = User()
+        u = User()  # noqa
         assert User.addresses
         assert mapperlib.Mapper._new_mappers is False
 
     def test_string_dependency_resolution(self):
-        from sqlalchemy.sql import desc
-
         class User(Base, fixtures.ComparableEntity):
 
             __tablename__ = 'users'
             id = Column(Integer, primary_key=True,
                         test_needs_autoincrement=True)
             name = Column(String(50))
-            addresses = relationship('Address',
-                    order_by='desc(Address.email)',
-                    primaryjoin='User.id==Address.user_id',
-                    foreign_keys='[Address.user_id]',
-                    backref=backref('user',
-                    primaryjoin='User.id==Address.user_id',
-                    foreign_keys='[Address.user_id]'))
+            addresses = relationship(
+                'Address',
+                order_by='desc(Address.email)',
+                primaryjoin='User.id==Address.user_id',
+                foreign_keys='[Address.user_id]',
+                backref=backref('user',
+                                primaryjoin='User.id==Address.user_id',
+                                foreign_keys='[Address.user_id]'))
 
         class Address(Base, fixtures.ComparableEntity):
 
@@ -319,14 +324,17 @@ class DeclarativeTest(DeclarativeTestBase):
 
         Base.metadata.create_all()
         sess = create_session()
-        u1 = User(name='ed', addresses=[Address(email='abc'),
-                  Address(email='def'), Address(email='xyz')])
+        u1 = User(
+            name='ed', addresses=[
+                Address(email='abc'),
+                Address(email='def'), Address(email='xyz')])
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(User).filter(User.name == 'ed').one(),
-            User(name='ed', addresses=[Address(email='xyz'),
-            Address(email='def'), Address(email='abc')]))
+            User(name='ed', addresses=[
+                Address(email='xyz'),
+                Address(email='def'), Address(email='abc')]))
 
         class Foo(Base, fixtures.ComparableEntity):
 
@@ -340,7 +348,6 @@ class DeclarativeTest(DeclarativeTestBase):
                               "ColumnProperty", configure_mappers)
 
     def test_string_dependency_resolution_synonym(self):
-        from sqlalchemy.sql import desc
 
         class User(Base, fixtures.ComparableEntity):
 
@@ -416,12 +423,13 @@ class DeclarativeTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True)
             b_id = Column(ForeignKey('b.id'))
 
-            d = relationship("D",
-                            secondary="join(B, D, B.d_id == D.id)."
-                                        "join(C, C.d_id == D.id)",
-                            primaryjoin="and_(A.b_id == B.id, A.id == C.a_id)",
-                            secondaryjoin="D.id == B.d_id",
-                        )
+            d = relationship(
+                "D",
+                secondary="join(B, D, B.d_id == D.id)."
+                "join(C, C.d_id == D.id)",
+                primaryjoin="and_(A.b_id == B.id, A.id == C.a_id)",
+                secondaryjoin="D.id == B.d_id",
+            )
 
         class B(Base):
             __tablename__ = 'b'
@@ -444,9 +452,9 @@ class DeclarativeTest(DeclarativeTestBase):
         self.assert_compile(
             s.query(A).join(A.d),
             "SELECT a.id AS a_id, a.b_id AS a_b_id FROM a JOIN "
-                "(b AS b_1 JOIN d AS d_1 ON b_1.d_id = d_1.id "
-                "JOIN c AS c_1 ON c_1.d_id = d_1.id) ON a.b_id = b_1.id "
-                "AND a.id = c_1.a_id JOIN d ON d.id = b_1.d_id",
+            "(b AS b_1 JOIN d AS d_1 ON b_1.d_id = d_1.id "
+            "JOIN c AS c_1 ON c_1.d_id = d_1.id) ON a.b_id = b_1.id "
+            "AND a.id = c_1.a_id JOIN d ON d.id = b_1.d_id",
         )
 
     def test_string_dependency_resolution_no_table(self):
@@ -474,6 +482,7 @@ class DeclarativeTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True,
                         test_needs_autoincrement=True)
             name = Column(String(50))
+
         class Address(Base, fixtures.ComparableEntity):
 
             __tablename__ = 'addresses'
@@ -481,7 +490,8 @@ class DeclarativeTest(DeclarativeTestBase):
                         test_needs_autoincrement=True)
             email = Column(String(50))
             user_id = Column(Integer)
-            user = relationship("User",
+            user = relationship(
+                "User",
                 primaryjoin="remote(User.id)==foreign(Address.user_id)"
             )
 
@@ -497,9 +507,9 @@ class DeclarativeTest(DeclarativeTestBase):
 
             __tablename__ = 'users'
             id = Column(Integer, primary_key=True)
-            addresses = relationship('Address',
-                    primaryjoin='User.id==Address.user_id.prop.columns['
-                    '0]')
+            addresses = relationship(
+                'Address',
+                primaryjoin='User.id==Address.user_id.prop.columns[0]')
 
         class Address(Base, fixtures.ComparableEntity):
 
@@ -516,9 +526,10 @@ class DeclarativeTest(DeclarativeTestBase):
 
             __tablename__ = 'users'
             id = Column(Integer, primary_key=True)
-            addresses = relationship('%s.Address' % __name__,
-                    primaryjoin='%s.User.id==%s.Address.user_id.prop.columns['
-                    '0]' % (__name__, __name__))
+            addresses = relationship(
+                '%s.Address' % __name__,
+                primaryjoin='%s.User.id==%s.Address.user_id.prop.columns[0]'
+                % (__name__, __name__))
 
         class Address(Base, fixtures.ComparableEntity):
 
@@ -538,8 +549,8 @@ class DeclarativeTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True)
             name = Column(String(50))
             addresses = relationship('Address',
-                    primaryjoin='User.id==Address.user_id',
-                    backref='user')
+                                     primaryjoin='User.id==Address.user_id',
+                                     backref='user')
 
         class Address(Base, fixtures.ComparableEntity):
 
@@ -571,10 +582,11 @@ class DeclarativeTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True)
             name = Column(String(50))
 
-        user_to_prop = Table('user_to_prop', Base.metadata,
-                             Column('user_id', Integer,
-                             ForeignKey('users.id')), Column('prop_id',
-                             Integer, ForeignKey('props.id')))
+        user_to_prop = Table(
+            'user_to_prop', Base.metadata,
+            Column('user_id', Integer, ForeignKey('users.id')),
+            Column('prop_id', Integer, ForeignKey('props.id')))
+
         configure_mappers()
         assert class_mapper(User).get_property('props').secondary \
             is user_to_prop
@@ -585,27 +597,29 @@ class DeclarativeTest(DeclarativeTestBase):
         class User(Base):
 
             __tablename__ = 'users'
-            __table_args__ = {'schema':'fooschema'}
+            __table_args__ = {'schema': 'fooschema'}
 
             id = Column(Integer, primary_key=True)
             name = Column(String(50))
-            props = relationship('Prop', secondary='fooschema.user_to_prop',
-                         primaryjoin='User.id==fooschema.user_to_prop.c.user_id',
-                         secondaryjoin='fooschema.user_to_prop.c.prop_id==Prop.id',
-                         backref='users')
+            props = relationship(
+                'Prop', secondary='fooschema.user_to_prop',
+                primaryjoin='User.id==fooschema.user_to_prop.c.user_id',
+                secondaryjoin='fooschema.user_to_prop.c.prop_id==Prop.id',
+                backref='users')
 
         class Prop(Base):
 
             __tablename__ = 'props'
-            __table_args__ = {'schema':'fooschema'}
+            __table_args__ = {'schema': 'fooschema'}
 
             id = Column(Integer, primary_key=True)
             name = Column(String(50))
 
-        user_to_prop = Table('user_to_prop', Base.metadata,
-                     Column('user_id', Integer, ForeignKey('fooschema.users.id')),
-                     Column('prop_id',Integer, ForeignKey('fooschema.props.id')),
-                     schema='fooschema')
+        user_to_prop = Table(
+            'user_to_prop', Base.metadata,
+            Column('user_id', Integer, ForeignKey('fooschema.users.id')),
+            Column('prop_id', Integer, ForeignKey('fooschema.props.id')),
+            schema='fooschema')
         configure_mappers()
 
         assert class_mapper(User).get_property('props').secondary \
@@ -618,9 +632,11 @@ class DeclarativeTest(DeclarativeTestBase):
             __tablename__ = 'parent'
             id = Column(Integer, primary_key=True)
             name = Column(String)
-            children = relationship("Child",
-                    primaryjoin="Parent.name==remote(foreign(func.lower(Child.name_upper)))"
-                )
+            children = relationship(
+                "Child",
+                primaryjoin="Parent.name=="
+                "remote(foreign(func.lower(Child.name_upper)))"
+            )
 
         class Child(Base):
             __tablename__ = 'child'
@@ -667,8 +683,8 @@ class DeclarativeTest(DeclarativeTestBase):
                         test_needs_autoincrement=True)
             name = Column(String(50))
             addresses = relationship('Address', order_by=Address.email,
-                    foreign_keys=Address.user_id,
-                    remote_side=Address.user_id)
+                                     foreign_keys=Address.user_id,
+                                     remote_side=Address.user_id)
 
         # get the mapper for User.   User mapper will compile,
         # "addresses" relationship will call upon Address.user_id for
@@ -681,14 +697,16 @@ class DeclarativeTest(DeclarativeTestBase):
         class_mapper(User)
         Base.metadata.create_all()
         sess = create_session()
-        u1 = User(name='ed', addresses=[Address(email='abc'),
-                  Address(email='xyz'), Address(email='def')])
+        u1 = User(name='ed', addresses=[
+            Address(email='abc'),
+            Address(email='xyz'), Address(email='def')])
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(User).filter(User.name == 'ed').one(),
-            User(name='ed', addresses=[Address(email='abc'),
-            Address(email='def'), Address(email='xyz')]))
+            User(name='ed', addresses=[
+                Address(email='abc'),
+                Address(email='def'), Address(email='xyz')]))
 
     def test_nice_dependency_error(self):
 
@@ -726,14 +744,16 @@ class DeclarativeTest(DeclarativeTestBase):
         # the exception is preserved.  Remains the
         # same through repeated calls.
         for i in range(3):
-            assert_raises_message(sa.exc.InvalidRequestError,
-                            "^One or more mappers failed to initialize - "
-                            "can't proceed with initialization of other "
-                            "mappers.  Original exception was: When initializing.*",
-                            configure_mappers)
+            assert_raises_message(
+                sa.exc.InvalidRequestError,
+                "^One or more mappers failed to initialize - "
+                "can't proceed with initialization of other "
+                "mappers.  Original exception was: When initializing.*",
+                configure_mappers)
 
     def test_custom_base(self):
         class MyBase(object):
+
             def foobar(self):
                 return "foobar"
         Base = decl.declarative_base(cls=MyBase)
@@ -761,7 +781,7 @@ class DeclarativeTest(DeclarativeTestBase):
         Base.metadata.create_all()
         configure_mappers()
         assert class_mapper(Detail).get_property('master'
-                ).strategy.use_get
+                                                 ).strategy.use_get
         m1 = Master()
         d1 = Detail(master=m1)
         sess = create_session()
@@ -821,13 +841,15 @@ class DeclarativeTest(DeclarativeTestBase):
         eq_(Address.__table__.c['_email'].name, 'email')
         eq_(Address.__table__.c['_user_id'].name, 'user_id')
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(
+                name='u1',
+                addresses=[Address(email='one'), Address(email='two')])])
         a1 = sess.query(Address).filter(Address.email == 'two').one()
         eq_(a1, Address(email='two'))
         eq_(a1.user, User(name='u1'))
@@ -842,7 +864,8 @@ class DeclarativeTest(DeclarativeTestBase):
         class ASub(A):
             brap = A.data
         assert ASub.brap.property is A.data.property
-        assert isinstance(ASub.brap.original_property, properties.SynonymProperty)
+        assert isinstance(
+            ASub.brap.original_property, properties.SynonymProperty)
 
     def test_alt_name_attr_subclass_relationship_inline(self):
         # [ticket:2900]
@@ -857,10 +880,12 @@ class DeclarativeTest(DeclarativeTestBase):
             id = Column('id', Integer, primary_key=True)
 
         configure_mappers()
+
         class ASub(A):
             brap = A.b
         assert ASub.brap.property is A.b.property
-        assert isinstance(ASub.brap.original_property, properties.SynonymProperty)
+        assert isinstance(
+            ASub.brap.original_property, properties.SynonymProperty)
         ASub(brap=B())
 
     def test_alt_name_attr_subclass_column_attrset(self):
@@ -881,6 +906,7 @@ class DeclarativeTest(DeclarativeTestBase):
             b_id = Column(Integer, ForeignKey('b.id'))
             b = relationship("B", backref="as_")
         A.brap = A.b
+
         class B(Base):
             __tablename__ = 'b'
             id = Column('id', Integer, primary_key=True)
@@ -889,7 +915,6 @@ class DeclarativeTest(DeclarativeTestBase):
         assert isinstance(A.brap.original_property, properties.SynonymProperty)
         A(brap=B())
 
-
     def test_eager_order_by(self):
 
         class Address(Base, fixtures.ComparableEntity):
@@ -910,14 +935,14 @@ class DeclarativeTest(DeclarativeTestBase):
 
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='two'),
-                  Address(email='one')])
+                                        Address(email='one')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(User).options(joinedload(User.addresses)).all(),
             [User(name='u1', addresses=[Address(email='one'),
-            Address(email='two')])])
+                                        Address(email='two')])])
 
     def test_order_by_multi(self):
 
@@ -936,17 +961,17 @@ class DeclarativeTest(DeclarativeTestBase):
                         test_needs_autoincrement=True)
             name = Column('name', String(50))
             addresses = relationship('Address',
-                    order_by=(Address.email, Address.id))
+                                     order_by=(Address.email, Address.id))
 
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='two'),
-                  Address(email='one')])
+                                        Address(email='one')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
         u = sess.query(User).filter(User.name == 'u1').one()
-        a = u.addresses
+        u.addresses
 
     def test_as_declarative(self):
 
@@ -971,13 +996,15 @@ class DeclarativeTest(DeclarativeTestBase):
         decl.instrument_declarative(Address, reg, Base.metadata)
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(
+                name='u1',
+                addresses=[Address(email='one'), Address(email='two')])])
 
     def test_custom_mapper_attribute(self):
 
@@ -1045,7 +1072,7 @@ class DeclarativeTest(DeclarativeTestBase):
 
                 __tablename__ = 'foo'
                 __table_args__ = ForeignKeyConstraint(['id'], ['foo.id'
-                        ])
+                                                               ])
                 id = Column('id', Integer, primary_key=True)
         assert_raises_message(sa.exc.ArgumentError,
                               '__table_args__ value must be a tuple, ', err)
@@ -1107,17 +1134,18 @@ class DeclarativeTest(DeclarativeTestBase):
 
         User.address_count = \
             sa.orm.column_property(sa.select([sa.func.count(Address.id)]).
-                    where(Address.user_id
-                                   == User.id).as_scalar())
+                                   where(Address.user_id
+                                         == User.id).as_scalar())
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1', address_count=2,
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', address_count=2,
+                 addresses=[Address(email='one'), Address(email='two')])])
 
     def test_useless_declared_attr(self):
         class Address(Base, fixtures.ComparableEntity):
@@ -1140,23 +1168,26 @@ class DeclarativeTest(DeclarativeTestBase):
             def address_count(cls):
                 # this doesn't really gain us anything.  but if
                 # one is used, lets have it function as expected...
-                return sa.orm.column_property(sa.select([sa.func.count(Address.id)]).
-                        where(Address.user_id == cls.id))
+                return sa.orm.column_property(
+                    sa.select([sa.func.count(Address.id)]).
+                    where(Address.user_id == cls.id))
 
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1', address_count=2,
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', address_count=2,
+                 addresses=[Address(email='one'), Address(email='two')])])
 
     def test_declared_on_base_class(self):
         class MyBase(Base):
             __tablename__ = 'foo'
             id = Column(Integer, primary_key=True)
+
             @declared_attr
             def somecol(cls):
                 return Column(Integer)
@@ -1213,18 +1244,19 @@ class DeclarativeTest(DeclarativeTestBase):
             adr_count = \
                 sa.orm.column_property(
                     sa.select([sa.func.count(Address.id)],
-                        Address.user_id == id).as_scalar())
+                              Address.user_id == id).as_scalar())
             addresses = relationship(Address)
 
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1', adr_count=2,
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', adr_count=2,
+                 addresses=[Address(email='one'), Address(email='two')])])
 
     def test_column_properties_2(self):
 
@@ -1248,7 +1280,7 @@ class DeclarativeTest(DeclarativeTestBase):
 
         eq_(set(User.__table__.c.keys()), set(['id', 'name']))
         eq_(set(Address.__table__.c.keys()), set(['id', 'email',
-            'user_id']))
+                                                  'user_id']))
 
     def test_deferred(self):
 
@@ -1274,86 +1306,91 @@ class DeclarativeTest(DeclarativeTestBase):
 
     def test_composite_inline(self):
         class AddressComposite(fixtures.ComparableEntity):
+
             def __init__(self, street, state):
                 self.street = street
                 self.state = state
+
             def __composite_values__(self):
                 return [self.street, self.state]
 
         class User(Base, fixtures.ComparableEntity):
             __tablename__ = 'user'
             id = Column(Integer, primary_key=True,
-                            test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             address = composite(AddressComposite,
-                Column('street', String(50)),
-                Column('state', String(2)),
-            )
+                                Column('street', String(50)),
+                                Column('state', String(2)),
+                                )
 
         Base.metadata.create_all()
         sess = Session()
         sess.add(User(
-                address=AddressComposite('123 anywhere street',
-                                'MD')
-                ))
+            address=AddressComposite('123 anywhere street',
+                                     'MD')
+        ))
         sess.commit()
         eq_(
             sess.query(User).all(),
             [User(address=AddressComposite('123 anywhere street',
-                                'MD'))]
+                                           'MD'))]
         )
 
     def test_composite_separate(self):
         class AddressComposite(fixtures.ComparableEntity):
+
             def __init__(self, street, state):
                 self.street = street
                 self.state = state
+
             def __composite_values__(self):
                 return [self.street, self.state]
 
         class User(Base, fixtures.ComparableEntity):
             __tablename__ = 'user'
             id = Column(Integer, primary_key=True,
-                            test_needs_autoincrement=True)
+                        test_needs_autoincrement=True)
             street = Column(String(50))
             state = Column(String(2))
             address = composite(AddressComposite,
-                street, state)
+                                street, state)
 
         Base.metadata.create_all()
         sess = Session()
         sess.add(User(
-                address=AddressComposite('123 anywhere street',
-                                'MD')
-                ))
+            address=AddressComposite('123 anywhere street',
+                                     'MD')
+        ))
         sess.commit()
         eq_(
             sess.query(User).all(),
             [User(address=AddressComposite('123 anywhere street',
-                                'MD'))]
+                                           'MD'))]
         )
 
     def test_mapping_to_join(self):
         users = Table('users', Base.metadata,
-            Column('id', Integer, primary_key=True)
-        )
+                      Column('id', Integer, primary_key=True)
+                      )
         addresses = Table('addresses', Base.metadata,
-            Column('id', Integer, primary_key=True),
-            Column('user_id', Integer, ForeignKey('users.id'))
-        )
+                          Column('id', Integer, primary_key=True),
+                          Column('user_id', Integer, ForeignKey('users.id'))
+                          )
         usersaddresses = sa.join(users, addresses, users.c.id
                                  == addresses.c.user_id)
+
         class User(Base):
             __table__ = usersaddresses
-            __table_args__ = {'primary_key':[users.c.id]}
+            __table_args__ = {'primary_key': [users.c.id]}
 
             # need to use column_property for now
             user_id = column_property(users.c.id, addresses.c.user_id)
             address_id = addresses.c.id
 
         assert User.__mapper__.get_property('user_id').columns[0] \
-                                is users.c.id
+            is users.c.id
         assert User.__mapper__.get_property('user_id').columns[1] \
-                                is addresses.c.user_id
+            is addresses.c.user_id
 
     def test_synonym_inline(self):
 
@@ -1372,7 +1409,7 @@ class DeclarativeTest(DeclarativeTestBase):
 
             name = sa.orm.synonym('_name',
                                   descriptor=property(_get_name,
-                                  _set_name))
+                                                      _set_name))
 
         Base.metadata.create_all()
         sess = create_session()
@@ -1381,7 +1418,7 @@ class DeclarativeTest(DeclarativeTestBase):
         sess.add(u1)
         sess.flush()
         eq_(sess.query(User).filter(User.name == 'SOMENAME someuser'
-            ).one(), u1)
+                                    ).one(), u1)
 
     def test_synonym_no_descriptor(self):
         from sqlalchemy.orm.properties import ColumnProperty
@@ -1434,7 +1471,7 @@ class DeclarativeTest(DeclarativeTestBase):
         sess.add(u1)
         sess.flush()
         eq_(sess.query(User).filter(User.name == 'SOMENAME someuser'
-            ).one(), u1)
+                                    ).one(), u1)
 
     def test_reentrant_compile_via_foreignkey(self):
 
@@ -1465,13 +1502,14 @@ class DeclarativeTest(DeclarativeTestBase):
         )
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1',
+                 addresses=[Address(email='one'), Address(email='two')])])
 
     def test_relationship_reference(self):
 
@@ -1490,21 +1528,22 @@ class DeclarativeTest(DeclarativeTestBase):
                         test_needs_autoincrement=True)
             name = Column('name', String(50))
             addresses = relationship('Address', backref='user',
-                    primaryjoin=id == Address.user_id)
+                                     primaryjoin=id == Address.user_id)
 
         User.address_count = \
             sa.orm.column_property(sa.select([sa.func.count(Address.id)]).
-                    where(Address.user_id
-                                   == User.id).as_scalar())
+                                   where(Address.user_id
+                                         == User.id).as_scalar())
         Base.metadata.create_all()
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1', address_count=2,
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', address_count=2,
+                 addresses=[Address(email='one'), Address(email='two')])])
 
     def test_pk_with_fk_init(self):
 
@@ -1526,9 +1565,11 @@ class DeclarativeTest(DeclarativeTestBase):
 
     def test_with_explicit_autoloaded(self):
         meta = MetaData(testing.db)
-        t1 = Table('t1', meta, Column('id', String(50),
+        t1 = Table(
+            't1', meta,
+            Column('id', String(50),
                    primary_key=True, test_needs_autoincrement=True),
-                   Column('data', String(50)))
+            Column('data', String(50)))
         meta.create_all()
         try:
 
@@ -1541,7 +1582,7 @@ class DeclarativeTest(DeclarativeTestBase):
             sess.add(m)
             sess.flush()
             eq_(t1.select().execute().fetchall(), [('someid', 'somedata'
-                )])
+                                                    )])
         finally:
             meta.drop_all()
 
@@ -1584,7 +1625,7 @@ class DeclarativeTest(DeclarativeTestBase):
                 op,
                 other,
                 **kw
-                ):
+            ):
                 return op(self.upperself, other, **kw)
 
         class User(Base, fixtures.ComparableEntity):
@@ -1612,7 +1653,7 @@ class DeclarativeTest(DeclarativeTestBase):
         eq_(rt, u1)
         sess.expunge_all()
         rt = sess.query(User).filter(User.uc_name.startswith('SOMEUSE'
-                )).one()
+                                                             )).one()
         eq_(rt, u1)
 
     def test_duplicate_classes_in_base(self):
@@ -1631,7 +1672,6 @@ class DeclarativeTest(DeclarativeTestBase):
         )
 
 
-
 def _produce_test(inline, stringbased):
 
     class ExplicitJoinTest(fixtures.MappedTest):
@@ -1657,35 +1697,43 @@ def _produce_test(inline, stringbased):
                 user_id = Column(Integer, ForeignKey('users.id'))
                 if inline:
                     if stringbased:
-                        user = relationship('User',
-                                primaryjoin='User.id==Address.user_id',
-                                backref='addresses')
+                        user = relationship(
+                            'User',
+                            primaryjoin='User.id==Address.user_id',
+                            backref='addresses')
                     else:
                         user = relationship(User, primaryjoin=User.id
-                                == user_id, backref='addresses')
+                                            == user_id, backref='addresses')
 
             if not inline:
                 configure_mappers()
                 if stringbased:
-                    Address.user = relationship('User',
-                            primaryjoin='User.id==Address.user_id',
-                            backref='addresses')
+                    Address.user = relationship(
+                        'User',
+                        primaryjoin='User.id==Address.user_id',
+                        backref='addresses')
                 else:
-                    Address.user = relationship(User,
-                            primaryjoin=User.id == Address.user_id,
-                            backref='addresses')
+                    Address.user = relationship(
+                        User,
+                        primaryjoin=User.id == Address.user_id,
+                        backref='addresses')
 
         @classmethod
         def insert_data(cls):
-            params = [dict(list(zip(('id', 'name'), column_values)))
-                      for column_values in [(7, 'jack'), (8, 'ed'), (9,
-                      'fred'), (10, 'chuck')]]
+            params = [
+                dict(list(zip(('id', 'name'), column_values)))
+                for column_values in [
+                    (7, 'jack'), (8, 'ed'),
+                    (9, 'fred'), (10, 'chuck')]]
+
             User.__table__.insert().execute(params)
-            Address.__table__.insert().execute([dict(list(zip(('id',
-                    'user_id', 'email'), column_values)))
-                    for column_values in [(1, 7, 'jack@bean.com'), (2,
-                    8, 'ed@wood.com'), (3, 8, 'ed@bettyboop.com'), (4,
-                    8, 'ed@lala.com'), (5, 9, 'fred@fred.com')]])
+            Address.__table__.insert().execute([
+                dict(list(zip(('id', 'user_id', 'email'), column_values)))
+                for column_values in [
+                    (1, 7, 'jack@bean.com'),
+                    (2, 8, 'ed@wood.com'),
+                    (3, 8, 'ed@bettyboop.com'),
+                    (4, 8, 'ed@lala.com'), (5, 9, 'fred@fred.com')]])
 
         def test_aliased_join(self):
 
@@ -1699,13 +1747,14 @@ def _produce_test(inline, stringbased):
 
             sess = create_session()
             eq_(sess.query(User).join(User.addresses,
-                aliased=True).filter(Address.email == 'ed@wood.com'
-                ).filter(User.addresses.any(Address.email
-                == 'jack@bean.com')).all(), [])
-
-    ExplicitJoinTest.__name__ = 'ExplicitJoinTest%s%s' % (inline
-            and 'Inline' or 'Separate', stringbased and 'String'
-            or 'Literal')
+                                      aliased=True).filter(
+                Address.email == 'ed@wood.com').filter(
+                User.addresses.any(Address.email == 'jack@bean.com')).all(),
+                [])
+
+    ExplicitJoinTest.__name__ = 'ExplicitJoinTest%s%s' % (
+        inline and 'Inline' or 'Separate',
+        stringbased and 'String' or 'Literal')
     return ExplicitJoinTest
 
 for inline in True, False:
@@ -1713,4 +1762,3 @@ for inline in True, False:
         testclass = _produce_test(inline, stringbased)
         exec('%s = testclass' % testclass.__name__)
         del testclass
-
index e78a1abbe0caef6fc6ed7c39b84e0388b0e6d391..535fd00b355712ffa53e853db6205aab95fcf75c 100644 (file)
@@ -5,7 +5,9 @@ from sqlalchemy import exc, MetaData
 from sqlalchemy.ext.declarative import clsregistry
 import weakref
 
+
 class MockClass(object):
+
     def __init__(self, base, name):
         self._decl_class_registry = base
         tokens = name.split(".")
@@ -183,7 +185,7 @@ class ClsRegistryTest(fixtures.TestBase):
         f1 = MockClass(base, "foo.bar.Foo")
         clsregistry.add_class("Foo", f1)
         reg = base['_sa_module_registry']
-        mod_entry = reg['foo']['bar']
+        mod_entry = reg['foo']['bar']  # noqa
         resolver = clsregistry._resolver(f1, MockProp())
         resolver = resolver("foo")
         assert_raises_message(
@@ -232,4 +234,3 @@ class ClsRegistryTest(fixtures.TestBase):
         del f4
         gc_collect()
         assert 'single' not in reg
-
index edff4421e16df14a7dc7536cc8730d018c1cfe28..e450a1c433f062fd7b46ac69d91a06f1a7b4bfed 100644 (file)
@@ -10,12 +10,14 @@ from sqlalchemy.orm import relationship, create_session, class_mapper, \
     configure_mappers, clear_mappers, \
     polymorphic_union, deferred, Session
 from sqlalchemy.ext.declarative import declared_attr, AbstractConcreteBase, \
-            ConcreteBase, has_inherited_table
+    ConcreteBase, has_inherited_table
 from sqlalchemy.testing import fixtures
 
 Base = None
 
+
 class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
+
     def setup(self):
         global Base
         Base = decl.declarative_base(testing.db)
@@ -25,6 +27,7 @@ class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
         clear_mappers()
         Base.metadata.drop_all()
 
+
 class DeclarativeInheritanceTest(DeclarativeTestBase):
 
     def test_we_must_copy_mapper_args(self):
@@ -65,7 +68,6 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         assert class_mapper(Person).version_id_col == 'a'
         assert class_mapper(Person).include_properties == set(['id', 'a', 'b'])
 
-
     def test_custom_join_condition(self):
 
         class Foo(Base):
@@ -123,21 +125,23 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
         Base.metadata.create_all()
         sess = create_session()
-        c1 = Company(name='MegaCorp, Inc.',
-                     employees=[Engineer(name='dilbert',
-                     primary_language='java'), Engineer(name='wally',
-                     primary_language='c++'), Manager(name='dogbert',
-                     golf_swing='fore!')])
+        c1 = Company(
+            name='MegaCorp, Inc.',
+            employees=[
+                Engineer(name='dilbert', primary_language='java'),
+                Engineer(name='wally', primary_language='c++'),
+                Manager(name='dogbert', golf_swing='fore!')])
+
         c2 = Company(name='Elbonia, Inc.',
                      employees=[Engineer(name='vlad',
-                     primary_language='cobol')])
+                                         primary_language='cobol')])
         sess.add(c1)
         sess.add(c2)
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(Company).filter(Company.employees.of_type(Engineer).
-            any(Engineer.primary_language
-            == 'cobol')).first(), c2)
+                                       any(Engineer.primary_language
+                                           == 'cobol')).first(), c2)
 
         # ensure that the Manager mapper was compiled with the Manager id
         # column as higher priority. this ensures that "Manager.id"
@@ -145,8 +149,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         # table (reversed from 0.6's behavior.)
 
         eq_(
-                Manager.id.property.columns,
-                [Manager.__table__.c.id, Person.__table__.c.id]
+            Manager.id.property.columns,
+            [Manager.__table__.c.id, Person.__table__.c.id]
         )
 
         # assert that the "id" column is available without a second
@@ -157,13 +161,13 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
         def go():
             assert sess.query(Manager).filter(Manager.name == 'dogbert'
-                    ).one().id
+                                              ).one().id
         self.assert_sql_count(testing.db, go, 1)
         sess.expunge_all()
 
         def go():
             assert sess.query(Person).filter(Manager.name == 'dogbert'
-                    ).one().id
+                                             ).one().id
 
         self.assert_sql_count(testing.db, go, 1)
 
@@ -186,7 +190,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
                         primary_key=True)
 
         Engineer.primary_language = Column('primary_language',
-                String(50))
+                                           String(50))
         Base.metadata.create_all()
         sess = create_session()
         e1 = Engineer(primary_language='java', name='dilbert')
@@ -194,7 +198,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(Person).first(),
-                Engineer(primary_language='java', name='dilbert'))
+            Engineer(primary_language='java', name='dilbert'))
 
     def test_add_parentcol_after_the_fact(self):
 
@@ -258,8 +262,8 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         sess.add(e1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(Person).first(), Admin(primary_language='java',
-            name='dilbert', workstation='foo'))
+        eq_(sess.query(Person).first(),
+            Admin(primary_language='java', name='dilbert', workstation='foo'))
 
     def test_subclass_mixin(self):
 
@@ -331,26 +335,25 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         class PlanBooking(Booking):
             __tablename__ = 'plan_booking'
             id = Column(Integer, ForeignKey(Booking.id),
-                            primary_key=True)
+                        primary_key=True)
 
         # referencing PlanBooking.id gives us the column
         # on plan_booking, not booking
         class FeatureBooking(Booking):
             __tablename__ = 'feature_booking'
             id = Column(Integer, ForeignKey(Booking.id),
-                                        primary_key=True)
+                        primary_key=True)
             plan_booking_id = Column(Integer,
-                                ForeignKey(PlanBooking.id))
+                                     ForeignKey(PlanBooking.id))
 
             plan_booking = relationship(PlanBooking,
-                        backref='feature_bookings')
+                                        backref='feature_bookings')
 
         assert FeatureBooking.__table__.c.plan_booking_id.\
-                    references(PlanBooking.__table__.c.id)
+            references(PlanBooking.__table__.c.id)
 
         assert FeatureBooking.__table__.c.id.\
-                    references(Booking.__table__.c.id)
-
+            references(Booking.__table__.c.id)
 
     def test_single_colsonbase(self):
         """test single inheritance where all the columns are on the base
@@ -387,23 +390,26 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
         Base.metadata.create_all()
         sess = create_session()
-        c1 = Company(name='MegaCorp, Inc.',
-                     employees=[Engineer(name='dilbert',
-                     primary_language='java'), Engineer(name='wally',
-                     primary_language='c++'), Manager(name='dogbert',
-                     golf_swing='fore!')])
+        c1 = Company(
+            name='MegaCorp, Inc.',
+            employees=[
+                Engineer(name='dilbert', primary_language='java'),
+                Engineer(name='wally', primary_language='c++'),
+                Manager(name='dogbert', golf_swing='fore!')])
+
         c2 = Company(name='Elbonia, Inc.',
                      employees=[Engineer(name='vlad',
-                     primary_language='cobol')])
+                                         primary_language='cobol')])
         sess.add(c1)
         sess.add(c2)
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(Person).filter(Engineer.primary_language
-            == 'cobol').first(), Engineer(name='vlad'))
+                                      == 'cobol').first(),
+            Engineer(name='vlad'))
         eq_(sess.query(Company).filter(Company.employees.of_type(Engineer).
-            any(Engineer.primary_language
-            == 'cobol')).first(), c2)
+                                       any(Engineer.primary_language
+                                           == 'cobol')).first(), c2)
 
     def test_single_colsonsub(self):
         """test single inheritance where the columns are local to their
@@ -470,15 +476,17 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         sess.flush()
         sess.expunge_all()
         eq_(sess.query(Person).filter(Engineer.primary_language
-            == 'cobol').first(), Engineer(name='vlad'))
+                                      == 'cobol').first(),
+            Engineer(name='vlad'))
         eq_(sess.query(Company).filter(Company.employees.of_type(Engineer).
-            any(Engineer.primary_language
-            == 'cobol')).first(), c2)
+                                       any(Engineer.primary_language
+                                           == 'cobol')).first(), c2)
         eq_(sess.query(Engineer).filter_by(primary_language='cobol'
-            ).one(), Engineer(name='vlad', primary_language='cobol'))
+                                           ).one(),
+            Engineer(name='vlad', primary_language='cobol'))
 
     @testing.skip_if(lambda: testing.against('oracle'),
-                    "Test has an empty insert in it at the moment")
+                     "Test has an empty insert in it at the moment")
     def test_columns_single_inheritance_conflict_resolution(self):
         """Test that a declared_attr can return the existing column and it will
         be ignored.  this allows conditional columns to be added.
@@ -491,25 +499,29 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True)
 
         class Engineer(Person):
+
             """single table inheritance"""
 
             @declared_attr
             def target_id(cls):
-                return cls.__table__.c.get('target_id',
-                       Column(Integer, ForeignKey('other.id'))
-                    )
+                return cls.__table__.c.get(
+                    'target_id',
+                    Column(Integer, ForeignKey('other.id')))
+
             @declared_attr
             def target(cls):
                 return relationship("Other")
 
         class Manager(Person):
+
             """single table inheritance"""
 
             @declared_attr
             def target_id(cls):
-                return cls.__table__.c.get('target_id',
-                        Column(Integer, ForeignKey('other.id'))
-                    )
+                return cls.__table__.c.get(
+                    'target_id',
+                    Column(Integer, ForeignKey('other.id')))
+
             @declared_attr
             def target(cls):
                 return relationship("Other")
@@ -534,11 +546,10 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             Engineer(target=o1),
             Manager(target=o2),
             Manager(target=o1)
-            ])
+        ])
         session.commit()
         eq_(session.query(Engineer).first().target, o1)
 
-
     def test_joined_from_single(self):
 
         class Company(Base, fixtures.ComparableEntity):
@@ -595,12 +606,13 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         sess.expunge_all()
         eq_(sess.query(Person).with_polymorphic(Engineer).
             filter(Engineer.primary_language
-            == 'cobol').first(), Engineer(name='vlad'))
+                   == 'cobol').first(), Engineer(name='vlad'))
         eq_(sess.query(Company).filter(Company.employees.of_type(Engineer).
-            any(Engineer.primary_language
-            == 'cobol')).first(), c2)
+                                       any(Engineer.primary_language
+                                           == 'cobol')).first(), c2)
         eq_(sess.query(Engineer).filter_by(primary_language='cobol'
-            ).one(), Engineer(name='vlad', primary_language='cobol'))
+                                           ).one(),
+            Engineer(name='vlad', primary_language='cobol'))
 
     def test_single_from_joined_colsonsub(self):
         class Person(Base, fixtures.ComparableEntity):
@@ -661,7 +673,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         eq_(sess.query(Person).all(), [Person(name='ratbert')])
         sess.expunge_all()
         person = sess.query(Person).filter(Person.name == 'ratbert'
-                ).one()
+                                           ).one()
         assert 'name' not in person.__dict__
 
     def test_single_fksonsub(self):
@@ -683,7 +695,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
             __mapper_args__ = {'polymorphic_identity': 'engineer'}
             primary_language_id = Column(Integer,
-                    ForeignKey('languages.id'))
+                                         ForeignKey('languages.id'))
             primary_language = relationship('Language')
 
         class Language(Base, fixtures.ComparableEntity):
@@ -706,19 +718,19 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
         sess.expunge_all()
         eq_(sess.query(Person).filter(Engineer.primary_language.has(
             Language.name
-            == 'cobol')).first(), Engineer(name='vlad',
-            primary_language=Language(name='cobol')))
+            == 'cobol')).first(),
+            Engineer(name='vlad', primary_language=Language(name='cobol')))
         eq_(sess.query(Engineer).filter(Engineer.primary_language.has(
             Language.name
-            == 'cobol')).one(), Engineer(name='vlad',
-            primary_language=Language(name='cobol')))
+            == 'cobol')).one(),
+            Engineer(name='vlad', primary_language=Language(name='cobol')))
         eq_(sess.query(Person).join(Engineer.primary_language).order_by(
             Language.name).all(),
             [Engineer(name='vlad',
-            primary_language=Language(name='cobol')),
-            Engineer(name='wally', primary_language=Language(name='cpp'
-            )), Engineer(name='dilbert',
-            primary_language=Language(name='java'))])
+                      primary_language=Language(name='cobol')),
+             Engineer(name='wally', primary_language=Language(name='cpp'
+                                                              )),
+             Engineer(name='dilbert', primary_language=Language(name='java'))])
 
     def test_single_three_levels(self):
 
@@ -810,11 +822,11 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
                 __mapper_args__ = {'polymorphic_identity': 'engineer'}
                 primary_language = Column('primary_language',
-                        String(50))
+                                          String(50))
                 foo_bar = Column(Integer, primary_key=True)
 
         assert_raises_message(sa.exc.ArgumentError,
-                        'place primary key', go)
+                              'place primary key', go)
 
     def test_single_no_table_args(self):
 
@@ -832,7 +844,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
                 __mapper_args__ = {'polymorphic_identity': 'engineer'}
                 primary_language = Column('primary_language',
-                        String(50))
+                                          String(50))
 
                 # this should be on the Person class, as this is single
                 # table inheritance, which is why we test that this
@@ -849,6 +861,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
             __tablename__ = "a"
             id = Column(Integer, primary_key=True)
         a_1 = A
+
         class A(a_1):
             __tablename__ = 'b'
             id = Column(Integer(), ForeignKey(a_1.id), primary_key=True)
@@ -857,6 +870,7 @@ class DeclarativeInheritanceTest(DeclarativeTestBase):
 
 
 class OverlapColPrecedenceTest(DeclarativeTestBase):
+
     """test #1892 cases when declarative does column precedence."""
 
     def _run_test(self, Engineer, e_id, p_id):
@@ -895,7 +909,7 @@ class OverlapColPrecedenceTest(DeclarativeTestBase):
         class Engineer(Person):
             __tablename__ = 'engineer'
             id = Column("eid", Integer, ForeignKey('person.id'),
-                                                primary_key=True)
+                        primary_key=True)
 
         self._run_test(Engineer, "eid", "id")
 
@@ -907,15 +921,18 @@ class OverlapColPrecedenceTest(DeclarativeTestBase):
         class Engineer(Person):
             __tablename__ = 'engineer'
             id = Column("eid", Integer, ForeignKey('person.pid'),
-                                            primary_key=True)
+                        primary_key=True)
 
         self._run_test(Engineer, "eid", "pid")
 
 
 from test.orm.test_events import _RemoveListeners
+
+
 class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
+
     def _roundtrip(self, Employee, Manager, Engineer, Boss,
-                            polymorphic=True, explicit_type=False):
+                   polymorphic=True, explicit_type=False):
         Base.metadata.create_all()
         sess = create_session()
         e1 = Engineer(name='dilbert', primary_language='java')
@@ -932,7 +949,7 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
                     assert_raises_message(
                         AttributeError,
                         "does not implement attribute .?'type' "
-                            "at the instance level.",
+                        "at the instance level.",
                         getattr, obj, "type"
                     )
         else:
@@ -946,37 +963,38 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
         if polymorphic:
             eq_(sess.query(Employee).order_by(Employee.name).all(),
                 [Engineer(name='dilbert'), Manager(name='dogbert'),
-                Boss(name='pointy haired'), Engineer(name='vlad'), Engineer(name='wally')])
+                 Boss(name='pointy haired'),
+                 Engineer(name='vlad'), Engineer(name='wally')])
         else:
             eq_(sess.query(Engineer).order_by(Engineer.name).all(),
                 [Engineer(name='dilbert'), Engineer(name='vlad'),
-                Engineer(name='wally')])
+                 Engineer(name='wally')])
             eq_(sess.query(Manager).all(), [Manager(name='dogbert')])
             eq_(sess.query(Boss).all(), [Boss(name='pointy haired')])
 
-
     def test_explicit(self):
-        engineers = Table('engineers', Base.metadata, Column('id',
-                          Integer, primary_key=True,
-                          test_needs_autoincrement=True),
-                        Column('name', String(50)),
-                        Column('primary_language', String(50)))
+        engineers = Table(
+            'engineers', Base.metadata,
+            Column('id',
+                   Integer, primary_key=True, test_needs_autoincrement=True),
+            Column('name', String(50)),
+            Column('primary_language', String(50)))
         managers = Table('managers', Base.metadata,
-                    Column('id', Integer, primary_key=True,
-                                                test_needs_autoincrement=True),
-                    Column('name', String(50)),
-                    Column('golf_swing', String(50))
-                )
+                         Column('id', Integer, primary_key=True,
+                                test_needs_autoincrement=True),
+                         Column('name', String(50)),
+                         Column('golf_swing', String(50))
+                         )
         boss = Table('boss', Base.metadata,
-                    Column('id', Integer, primary_key=True,
-                                                test_needs_autoincrement=True),
-                    Column('name', String(50)),
-                    Column('golf_swing', String(50))
-                )
+                     Column('id', Integer, primary_key=True,
+                            test_needs_autoincrement=True),
+                     Column('name', String(50)),
+                     Column('golf_swing', String(50))
+                     )
         punion = polymorphic_union({
-                                'engineer': engineers,
-                                'manager': managers,
-                                'boss': boss}, 'type', 'punion')
+            'engineer': engineers,
+            'manager': managers,
+            'boss': boss}, 'type', 'punion')
 
         class Employee(Base, fixtures.ComparableEntity):
 
@@ -1047,31 +1065,31 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
         class Manager(Employee):
             __tablename__ = 'manager'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
             __mapper_args__ = {
-                            'polymorphic_identity': 'manager',
-                            'concrete': True}
+                'polymorphic_identity': 'manager',
+                'concrete': True}
 
         class Boss(Manager):
             __tablename__ = 'boss'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
             __mapper_args__ = {
-                            'polymorphic_identity': 'boss',
-                            'concrete': True}
+                'polymorphic_identity': 'boss',
+                'concrete': True}
 
         class Engineer(Employee):
             __tablename__ = 'engineer'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             primary_language = Column(String(40))
             __mapper_args__ = {'polymorphic_identity': 'engineer',
-                            'concrete': True}
+                               'concrete': True}
 
         self._roundtrip(Employee, Manager, Engineer, Boss)
 
@@ -1079,42 +1097,42 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
         class Employee(ConcreteBase, Base, fixtures.ComparableEntity):
             __tablename__ = 'employee'
             employee_id = Column(Integer, primary_key=True,
-                                test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             __mapper_args__ = {
-                            'polymorphic_identity': 'employee',
-                            'concrete': True}
+                'polymorphic_identity': 'employee',
+                'concrete': True}
+
         class Manager(Employee):
             __tablename__ = 'manager'
             employee_id = Column(Integer, primary_key=True,
-                            test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
             __mapper_args__ = {
-                            'polymorphic_identity': 'manager',
-                            'concrete': True}
+                'polymorphic_identity': 'manager',
+                'concrete': True}
 
         class Boss(Manager):
             __tablename__ = 'boss'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
             __mapper_args__ = {
-                            'polymorphic_identity': 'boss',
-                            'concrete': True}
+                'polymorphic_identity': 'boss',
+                'concrete': True}
 
         class Engineer(Employee):
             __tablename__ = 'engineer'
             employee_id = Column(Integer, primary_key=True,
-                            test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             primary_language = Column(String(40))
             __mapper_args__ = {'polymorphic_identity': 'engineer',
-                            'concrete': True}
+                               'concrete': True}
         self._roundtrip(Employee, Manager, Engineer, Boss)
 
-
     def test_has_inherited_table_doesnt_consider_base(self):
         class A(Base):
             __tablename__ = 'a'
@@ -1140,7 +1158,7 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
                     ret = {
                         'polymorphic_identity': 'default',
                         'polymorphic_on': cls.type,
-                        }
+                    }
                 else:
                     ret = {'polymorphic_identity': cls.__name__}
                 return ret
@@ -1161,7 +1179,7 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
         class Manager(Employee):
             __tablename__ = 'manager'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
 
@@ -1170,13 +1188,13 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
                 return "manager"
 
             __mapper_args__ = {
-                            'polymorphic_identity': "manager",
-                            'concrete': True}
+                'polymorphic_identity': "manager",
+                'concrete': True}
 
         class Boss(Manager):
             __tablename__ = 'boss'
             employee_id = Column(Integer, primary_key=True,
-                                    test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             golf_swing = Column(String(40))
 
@@ -1185,13 +1203,13 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
                 return "boss"
 
             __mapper_args__ = {
-                            'polymorphic_identity': "boss",
-                            'concrete': True}
+                'polymorphic_identity': "boss",
+                'concrete': True}
 
         class Engineer(Employee):
             __tablename__ = 'engineer'
             employee_id = Column(Integer, primary_key=True,
-                            test_needs_autoincrement=True)
+                                 test_needs_autoincrement=True)
             name = Column(String(50))
             primary_language = Column(String(40))
 
@@ -1199,26 +1217,30 @@ class ConcreteInhTest(_RemoveListeners, DeclarativeTestBase):
             def type(self):
                 return "engineer"
             __mapper_args__ = {'polymorphic_identity': "engineer",
-                            'concrete': True}
+                               'concrete': True}
         self._roundtrip(Employee, Manager, Engineer, Boss, explicit_type=True)
 
-class ConcreteExtensionConfigTest(_RemoveListeners, testing.AssertsCompiledSQL, DeclarativeTestBase):
+
+class ConcreteExtensionConfigTest(
+        _RemoveListeners, testing.AssertsCompiledSQL, DeclarativeTestBase):
     __dialect__ = 'default'
 
     def test_classreg_setup(self):
         class A(Base, fixtures.ComparableEntity):
             __tablename__ = 'a'
-            id = Column(Integer, primary_key=True, test_needs_autoincrement=True)
+            id = Column(Integer,
+                        primary_key=True, test_needs_autoincrement=True)
             data = Column(String(50))
             collection = relationship("BC", primaryjoin="BC.a_id == A.id",
-                            collection_class=set)
+                                      collection_class=set)
 
         class BC(AbstractConcreteBase, Base, fixtures.ComparableEntity):
             pass
 
         class B(BC):
             __tablename__ = 'b'
-            id = Column(Integer, primary_key=True, test_needs_autoincrement=True)
+            id = Column(Integer,
+                        primary_key=True, test_needs_autoincrement=True)
 
             a_id = Column(Integer, ForeignKey('a.id'))
             data = Column(String(50))
@@ -1230,7 +1252,8 @@ class ConcreteExtensionConfigTest(_RemoveListeners, testing.AssertsCompiledSQL,
 
         class C(BC):
             __tablename__ = 'c'
-            id = Column(Integer, primary_key=True, test_needs_autoincrement=True)
+            id = Column(Integer,
+                        primary_key=True, test_needs_autoincrement=True)
             a_id = Column(Integer, ForeignKey('a.id'))
             data = Column(String(50))
             c_data = Column(String(50))
@@ -1274,8 +1297,9 @@ class ConcreteExtensionConfigTest(_RemoveListeners, testing.AssertsCompiledSQL,
             sess.query(A).join(A.collection),
             "SELECT a.id AS a_id, a.data AS a_data FROM a JOIN "
             "(SELECT c.id AS id, c.a_id AS a_id, c.data AS data, "
-                "c.c_data AS c_data, CAST(NULL AS VARCHAR(50)) AS b_data, "
-                "'c' AS type FROM c UNION ALL SELECT b.id AS id, b.a_id AS a_id, "
-                "b.data AS data, CAST(NULL AS VARCHAR(50)) AS c_data, "
-                "b.b_data AS b_data, 'b' AS type FROM b) AS pjoin ON pjoin.a_id = a.id"
+            "c.c_data AS c_data, CAST(NULL AS VARCHAR(50)) AS b_data, "
+            "'c' AS type FROM c UNION ALL SELECT b.id AS id, b.a_id AS a_id, "
+            "b.data AS data, CAST(NULL AS VARCHAR(50)) AS c_data, "
+            "b.b_data AS b_data, 'b' AS type FROM b) AS pjoin "
+            "ON pjoin.a_id = a.id"
         )
index d3c2ff9824d7bd2a4f5dd5824821ec1ff95be611..0d7cb71696c11651b744de32b97a649253c6b346 100644 (file)
@@ -15,7 +15,9 @@ from sqlalchemy.testing import fixtures
 
 Base = None
 
+
 class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
+
     def setup(self):
         global Base
         Base = decl.declarative_base(testing.db)
@@ -25,6 +27,7 @@ class DeclarativeTestBase(fixtures.TestBase, testing.AssertsExecutionResults):
         clear_mappers()
         Base.metadata.drop_all()
 
+
 class DeclarativeMixinTest(DeclarativeTestBase):
 
     def test_simple(self):
@@ -157,6 +160,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_table_name_inherited(self):
 
         class MyMixin:
+
             @declared_attr
             def __tablename__(cls):
                 return cls.__name__.lower()
@@ -169,6 +173,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
     def test_classproperty_still_works(self):
         class MyMixin(object):
+
             @classproperty
             def __tablename__(cls):
                 return cls.__name__.lower()
@@ -182,6 +187,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_table_name_not_inherited(self):
 
         class MyMixin:
+
             @declared_attr
             def __tablename__(cls):
                 return cls.__name__.lower()
@@ -195,11 +201,13 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_table_name_inheritance_order(self):
 
         class MyMixin1:
+
             @declared_attr
             def __tablename__(cls):
                 return cls.__name__.lower() + '1'
 
         class MyMixin2:
+
             @declared_attr
             def __tablename__(cls):
                 return cls.__name__.lower() + '2'
@@ -212,6 +220,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_table_name_dependent_on_subclass(self):
 
         class MyHistoryMixin:
+
             @declared_attr
             def __tablename__(cls):
                 return cls.parent_name + '_changelog'
@@ -236,6 +245,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_table_args_inherited_descriptor(self):
 
         class MyMixin:
+
             @declared_attr
             def __table_args__(cls):
                 return {'info': cls.__name__}
@@ -289,7 +299,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         assert Specific.bar.prop is General.bar.prop
 
     @testing.skip_if(lambda: testing.against('oracle'),
-                    "Test has an empty insert in it at the moment")
+                     "Test has an empty insert in it at the moment")
     def test_columns_single_inheritance_conflict_resolution(self):
         """Test that a declared_attr can return the existing column and it will
         be ignored.  this allows conditional columns to be added.
@@ -302,20 +312,24 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             id = Column(Integer, primary_key=True)
 
         class Mixin(object):
+
             @declared_attr
             def target_id(cls):
-                return cls.__table__.c.get('target_id',
-                        Column(Integer, ForeignKey('other.id'))
-                    )
+                return cls.__table__.c.get(
+                    'target_id',
+                    Column(Integer, ForeignKey('other.id'))
+                )
 
             @declared_attr
             def target(cls):
                 return relationship("Other")
 
         class Engineer(Mixin, Person):
+
             """single table inheritance"""
 
         class Manager(Mixin, Person):
+
             """single table inheritance"""
 
         class Other(Base):
@@ -338,11 +352,10 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             Engineer(target=o1),
             Manager(target=o2),
             Manager(target=o1)
-            ])
+        ])
         session.commit()
         eq_(session.query(Engineer).first().target, o1)
 
-
     def test_columns_joined_table_inheritance(self):
         """Test a column on a mixin with an alternate attribute name,
         mapped to a superclass and joined-table inheritance subclass.
@@ -428,6 +441,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
     def test_mapper_args_declared_attr(self):
 
         class ComputedMapperArgs:
+
             @declared_attr
             def __mapper_args__(cls):
                 if cls.__name__ == 'Person':
@@ -454,6 +468,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         # ComputedMapperArgs on both classes for no apparent reason.
 
         class ComputedMapperArgs:
+
             @declared_attr
             def __mapper_args__(cls):
                 if cls.__name__ == 'Person':
@@ -612,7 +627,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
             @declared_attr
             def __table_args__(cls):
-                return {'mysql_engine':'InnoDB'}
+                return {'mysql_engine': 'InnoDB'}
 
             @declared_attr
             def __mapper_args__(cls):
@@ -640,13 +655,14 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         """test the @declared_attr approach from a custom base."""
 
         class Base(object):
+
             @declared_attr
             def __tablename__(cls):
                 return cls.__name__.lower()
 
             @declared_attr
             def __table_args__(cls):
-                return {'mysql_engine':'InnoDB'}
+                return {'mysql_engine': 'InnoDB'}
 
             @declared_attr
             def id(self):
@@ -714,7 +730,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         eq_(Generic.__table__.name, 'generic')
         eq_(Specific.__table__.name, 'specific')
         eq_(list(Generic.__table__.c.keys()), ['timestamp', 'id',
-            'python_type'])
+                                               'python_type'])
         eq_(list(Specific.__table__.c.keys()), ['id'])
         eq_(Generic.__table__.kwargs, {'mysql_engine': 'InnoDB'})
         eq_(Specific.__table__.kwargs, {'mysql_engine': 'InnoDB'})
@@ -749,7 +765,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
         eq_(BaseType.__table__.name, 'basetype')
         eq_(list(BaseType.__table__.c.keys()), ['timestamp', 'type', 'id',
-            'value'])
+                                                'value'])
         eq_(BaseType.__table__.kwargs, {'mysql_engine': 'InnoDB'})
         assert Single.__table__ is BaseType.__table__
         eq_(Joined.__table__.name, 'joined')
@@ -851,7 +867,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             @declared_attr
             def __tablename__(cls):
                 if decl.has_inherited_table(cls) and TableNameMixin \
-                    not in cls.__bases__:
+                        not in cls.__bases__:
                     return None
                 return cls.__name__.lower()
 
@@ -900,9 +916,9 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
         class Model(Base, ColumnMixin):
 
-            __table__ = Table('foo', Base.metadata, Column('data',
-                              Integer), Column('id', Integer,
-                              primary_key=True))
+            __table__ = Table('foo', Base.metadata,
+                              Column('data', Integer),
+                              Column('id', Integer, primary_key=True))
 
         model_col = Model.__table__.c.data
         mixin_col = ColumnMixin.data
@@ -920,8 +936,8 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             class Model(Base, ColumnMixin):
 
                 __table__ = Table('foo', Base.metadata,
-                                Column('data',Integer),
-                                Column('id', Integer,primary_key=True))
+                                  Column('data', Integer),
+                                  Column('id', Integer, primary_key=True))
                 foo = relationship("Dest")
 
         assert_raises_message(sa.exc.ArgumentError,
@@ -942,9 +958,9 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             class Model(Base, ColumnMixin):
 
                 __table__ = Table('foo', Base.metadata,
-                                Column('data',Integer),
-                                Column('tada', Integer),
-                                Column('id', Integer,primary_key=True))
+                                  Column('data', Integer),
+                                  Column('tada', Integer),
+                                  Column('id', Integer, primary_key=True))
                 foo = relationship("Dest")
 
         assert_raises_message(sa.exc.ArgumentError,
@@ -959,9 +975,9 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
         class Model(Base, ColumnMixin):
 
-            __table__ = Table('foo', Base.metadata, Column('data',
-                              Integer), Column('id', Integer,
-                              primary_key=True))
+            __table__ = Table('foo', Base.metadata,
+                              Column('data', Integer),
+                              Column('id', Integer, primary_key=True))
 
         model_col = Model.__table__.c.data
         mixin_col = ColumnMixin.data
@@ -987,10 +1003,11 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             __tablename__ = 'model'
 
         eq_(list(Model.__table__.c.keys()), ['col1', 'col3', 'col2', 'col4',
-            'id'])
+                                             'id'])
 
     def test_honor_class_mro_one(self):
         class HasXMixin(object):
+
             @declared_attr
             def x(self):
                 return Column(Integer)
@@ -1007,6 +1024,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
     def test_honor_class_mro_two(self):
         class HasXMixin(object):
+
             @declared_attr
             def x(self):
                 return Column(Integer)
@@ -1014,6 +1032,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         class Parent(HasXMixin, Base):
             __tablename__ = 'parent'
             id = Column(Integer, primary_key=True)
+
             def x(self):
                 return "hi"
 
@@ -1025,6 +1044,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
 
     def test_arbitrary_attrs_one(self):
         class HasMixin(object):
+
             @declared_attr
             def some_attr(cls):
                 return cls.__name__ + "SOME ATTR"
@@ -1043,8 +1063,9 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             __tablename__ = 'filter_a'
             id = Column(Integer(), primary_key=True)
             parent_id = Column(Integer(),
-                    ForeignKey('type_a.id'))
+                               ForeignKey('type_a.id'))
             filter = Column(String())
+
             def __init__(self, filter_, **kw):
                 self.filter = filter_
 
@@ -1052,16 +1073,18 @@ class DeclarativeMixinTest(DeclarativeTestBase):
             __tablename__ = 'filter_b'
             id = Column(Integer(), primary_key=True)
             parent_id = Column(Integer(),
-                    ForeignKey('type_b.id'))
+                               ForeignKey('type_b.id'))
             filter = Column(String())
+
             def __init__(self, filter_, **kw):
                 self.filter = filter_
 
         class FilterMixin(object):
+
             @declared_attr
             def _filters(cls):
                 return relationship(cls.filter_class,
-                        cascade='all,delete,delete-orphan')
+                                    cascade='all,delete,delete-orphan')
 
             @declared_attr
             def filters(cls):
@@ -1080,6 +1103,7 @@ class DeclarativeMixinTest(DeclarativeTestBase):
         TypeA(filters=['foo'])
         TypeB(filters=['foo'])
 
+
 class DeclarativeMixinPropertyTest(DeclarativeTestBase):
 
     def test_column_property(self):
@@ -1118,9 +1142,9 @@ class DeclarativeMixinPropertyTest(DeclarativeTestBase):
         sess.add_all([m1, m2])
         sess.flush()
         eq_(sess.query(MyModel).filter(MyModel.prop_hoho == 'foo'
-            ).one(), m1)
+                                       ).one(), m1)
         eq_(sess.query(MyOtherModel).filter(MyOtherModel.prop_hoho
-            == 'bar').one(), m2)
+                                            == 'bar').one(), m2)
 
     def test_doc(self):
         """test documentation transfer.
@@ -1198,7 +1222,6 @@ class DeclarativeMixinPropertyTest(DeclarativeTestBase):
             ModelTwo.__table__.c.version_id
         )
 
-
     def test_deferred(self):
 
         class MyMixin(object):
@@ -1235,8 +1258,8 @@ class DeclarativeMixinPropertyTest(DeclarativeTestBase):
                 @declared_attr
                 def target(cls):
                     return relationship('Target',
-                            primaryjoin='Target.id==%s.target_id'
-                            % cls.__name__)
+                                        primaryjoin='Target.id==%s.target_id'
+                                        % cls.__name__)
             else:
 
                 @declared_attr
@@ -1280,6 +1303,7 @@ class DeclarativeMixinPropertyTest(DeclarativeTestBase):
 
 
 class AbstractTest(DeclarativeTestBase):
+
     def test_abstract_boolean(self):
 
         class A(Base):
index f4bda69956ecd22a2cf7c4915878fecb3d46a3a3..c7f7bc05d133833bef5e25dfaefdda983bede515 100644 (file)
@@ -1,7 +1,7 @@
 from sqlalchemy.testing import eq_, assert_raises
 from sqlalchemy.ext import declarative as decl
 from sqlalchemy import testing
-from sqlalchemy import MetaData, Integer, String, ForeignKey
+from sqlalchemy import Integer, String, ForeignKey
 from sqlalchemy.testing.schema import Table, Column
 from sqlalchemy.orm import relationship, create_session, \
     clear_mappers, \
@@ -10,6 +10,7 @@ from sqlalchemy.testing import fixtures
 from sqlalchemy.testing.util import gc_collect
 from sqlalchemy.ext.declarative.base import _DeferredMapperConfig
 
+
 class DeclarativeReflectionBase(fixtures.TablesTest):
     __requires__ = 'reflectable_autoincrement',
 
@@ -21,13 +22,14 @@ class DeclarativeReflectionBase(fixtures.TablesTest):
         super(DeclarativeReflectionBase, self).teardown()
         clear_mappers()
 
+
 class DeclarativeReflectionTest(DeclarativeReflectionBase):
 
     @classmethod
     def define_tables(cls, metadata):
         Table('users', metadata,
-            Column('id', Integer,
-                primary_key=True, test_needs_autoincrement=True),
+              Column('id', Integer,
+                     primary_key=True, test_needs_autoincrement=True),
               Column('name', String(50)), test_needs_fk=True)
         Table(
             'addresses',
@@ -37,7 +39,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
             Column('email', String(50)),
             Column('user_id', Integer, ForeignKey('users.id')),
             test_needs_fk=True,
-            )
+        )
         Table(
             'imhandles',
             metadata,
@@ -47,8 +49,7 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
             Column('network', String(50)),
             Column('handle', String(50)),
             test_needs_fk=True,
-            )
-
+        )
 
     def test_basic(self):
         class User(Base, fixtures.ComparableEntity):
@@ -69,13 +70,14 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
                             test_needs_autoincrement=True)
 
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1',
+                 addresses=[Address(email='one'), Address(email='two')])])
         a1 = sess.query(Address).filter(Address.email == 'two').one()
         eq_(a1, Address(email='two'))
         eq_(a1.user, User(name='u1'))
@@ -100,13 +102,14 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
                             test_needs_autoincrement=True)
 
         u1 = User(nom='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                       Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(nom='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(nom='u1',
+                 addresses=[Address(email='one'), Address(email='two')])])
         a1 = sess.query(Address).filter(Address.email == 'two').one()
         eq_(a1, Address(email='two'))
         eq_(a1.user, User(nom='u1'))
@@ -131,61 +134,66 @@ class DeclarativeReflectionTest(DeclarativeReflectionBase):
                             test_needs_autoincrement=True)
             handles = relationship('IMHandle', backref='user')
 
-        u1 = User(name='u1', handles=[IMHandle(network='blabber',
-                  handle='foo'), IMHandle(network='lol', handle='zomg'
-                  )])
+        u1 = User(name='u1', handles=[
+            IMHandle(network='blabber', handle='foo'),
+            IMHandle(network='lol', handle='zomg')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            handles=[IMHandle(network='blabber', handle='foo'),
-            IMHandle(network='lol', handle='zomg')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', handles=[IMHandle(network='blabber', handle='foo'),
+                                     IMHandle(network='lol', handle='zomg')])])
         a1 = sess.query(IMHandle).filter(IMHandle.handle == 'zomg'
-                ).one()
+                                         ).one()
         eq_(a1, IMHandle(network='lol', handle='zomg'))
         eq_(a1.user, User(name='u1'))
 
+
 class DeferredReflectBase(DeclarativeReflectionBase):
+
     def teardown(self):
         super(DeferredReflectBase, self).teardown()
         _DeferredMapperConfig._configs.clear()
 
 Base = None
 
+
 class DeferredReflectPKFKTest(DeferredReflectBase):
+
     @classmethod
     def define_tables(cls, metadata):
         Table("a", metadata,
-            Column('id', Integer,
-                primary_key=True, test_needs_autoincrement=True),
-        )
+              Column('id', Integer,
+                     primary_key=True, test_needs_autoincrement=True),
+              )
         Table("b", metadata,
-            Column('id', Integer,
-                ForeignKey('a.id'),
-                primary_key=True),
-            Column('x', Integer, primary_key=True)
-        )
+              Column('id', Integer,
+                     ForeignKey('a.id'),
+                     primary_key=True),
+              Column('x', Integer, primary_key=True)
+              )
 
     def test_pk_fk(self):
         class B(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                Base):
             __tablename__ = 'b'
             a = relationship("A")
 
         class A(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                Base):
             __tablename__ = 'a'
 
         decl.DeferredReflection.prepare(testing.db)
 
+
 class DeferredReflectionTest(DeferredReflectBase):
 
     @classmethod
     def define_tables(cls, metadata):
         Table('users', metadata,
-            Column('id', Integer,
-                primary_key=True, test_needs_autoincrement=True),
+              Column('id', Integer,
+                     primary_key=True, test_needs_autoincrement=True),
               Column('name', String(50)), test_needs_fk=True)
         Table(
             'addresses',
@@ -195,7 +203,7 @@ class DeferredReflectionTest(DeferredReflectBase):
             Column('email', String(50)),
             Column('user_id', Integer, ForeignKey('users.id')),
             test_needs_fk=True,
-            )
+        )
 
     def _roundtrip(self):
 
@@ -203,25 +211,26 @@ class DeferredReflectionTest(DeferredReflectBase):
         Address = Base._decl_class_registry['Address']
 
         u1 = User(name='u1', addresses=[Address(email='one'),
-                  Address(email='two')])
+                                        Address(email='two')])
         sess = create_session()
         sess.add(u1)
         sess.flush()
         sess.expunge_all()
-        eq_(sess.query(User).all(), [User(name='u1',
-            addresses=[Address(email='one'), Address(email='two')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1',
+                 addresses=[Address(email='one'), Address(email='two')])])
         a1 = sess.query(Address).filter(Address.email == 'two').one()
         eq_(a1, Address(email='two'))
         eq_(a1.user, User(name='u1'))
 
     def test_basic_deferred(self):
         class User(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                   Base):
             __tablename__ = 'users'
             addresses = relationship("Address", backref="user")
 
         class Address(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                      Base):
             __tablename__ = 'addresses'
 
         decl.DeferredReflection.prepare(testing.db)
@@ -249,12 +258,12 @@ class DeferredReflectionTest(DeferredReflectBase):
 
     def test_redefine_fk_double(self):
         class User(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                   Base):
             __tablename__ = 'users'
             addresses = relationship("Address", backref="user")
 
         class Address(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                      Base):
             __tablename__ = 'addresses'
             user_id = Column(Integer, ForeignKey('users.id'))
 
@@ -262,10 +271,11 @@ class DeferredReflectionTest(DeferredReflectBase):
         self._roundtrip()
 
     def test_mapper_args_deferred(self):
-        """test that __mapper_args__ is not called until *after* table reflection"""
+        """test that __mapper_args__ is not called until *after*
+        table reflection"""
 
         class User(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                   Base):
             __tablename__ = 'users'
 
             @decl.declared_attr
@@ -296,10 +306,11 @@ class DeferredReflectionTest(DeferredReflectBase):
     @testing.requires.predictable_gc
     def test_cls_not_strong_ref(self):
         class User(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                   Base):
             __tablename__ = 'users'
+
         class Address(decl.DeferredReflection, fixtures.ComparableEntity,
-                            Base):
+                      Base):
             __tablename__ = 'addresses'
         eq_(len(_DeferredMapperConfig._configs), 2)
         del Address
@@ -308,26 +319,28 @@ class DeferredReflectionTest(DeferredReflectBase):
         decl.DeferredReflection.prepare(testing.db)
         assert not _DeferredMapperConfig._configs
 
+
 class DeferredSecondaryReflectionTest(DeferredReflectBase):
+
     @classmethod
     def define_tables(cls, metadata):
         Table('users', metadata,
-            Column('id', Integer,
-                primary_key=True, test_needs_autoincrement=True),
+              Column('id', Integer,
+                     primary_key=True, test_needs_autoincrement=True),
               Column('name', String(50)), test_needs_fk=True)
 
         Table('user_items', metadata,
-            Column('user_id', ForeignKey('users.id'), primary_key=True),
-            Column('item_id', ForeignKey('items.id'), primary_key=True),
-            test_needs_fk=True
-            )
+              Column('user_id', ForeignKey('users.id'), primary_key=True),
+              Column('item_id', ForeignKey('items.id'), primary_key=True),
+              test_needs_fk=True
+              )
 
         Table('items', metadata,
-                Column('id', Integer, primary_key=True,
-                            test_needs_autoincrement=True),
-                Column('name', String(50)),
-                test_needs_fk=True
-            )
+              Column('id', Integer, primary_key=True,
+                     test_needs_autoincrement=True),
+              Column('name', String(50)),
+              test_needs_fk=True
+              )
 
     def _roundtrip(self):
 
@@ -340,8 +353,8 @@ class DeferredSecondaryReflectionTest(DeferredReflectBase):
         sess.add(u1)
         sess.commit()
 
-        eq_(sess.query(User).all(), [User(name='u1',
-            items=[Item(name='i1'), Item(name='i2')])])
+        eq_(sess.query(User).all(), [
+            User(name='u1', items=[Item(name='i1'), Item(name='i2')])])
 
     def test_string_resolution(self):
         class User(decl.DeferredReflection, fixtures.ComparableEntity, Base):
@@ -359,7 +372,8 @@ class DeferredSecondaryReflectionTest(DeferredReflectBase):
         class User(decl.DeferredReflection, fixtures.ComparableEntity, Base):
             __tablename__ = 'users'
 
-            items = relationship("Item", secondary=Table("user_items", Base.metadata))
+            items = relationship("Item",
+                                 secondary=Table("user_items", Base.metadata))
 
         class Item(decl.DeferredReflection, fixtures.ComparableEntity, Base):
             __tablename__ = 'items'
@@ -367,7 +381,9 @@ class DeferredSecondaryReflectionTest(DeferredReflectBase):
         decl.DeferredReflection.prepare(testing.db)
         self._roundtrip()
 
+
 class DeferredInhReflectBase(DeferredReflectBase):
+
     def _roundtrip(self):
         Foo = Base._decl_class_registry['Foo']
         Bar = Base._decl_class_registry['Bar']
@@ -392,24 +408,25 @@ class DeferredInhReflectBase(DeferredReflectBase):
             ]
         )
 
+
 class DeferredSingleInhReflectionTest(DeferredInhReflectBase):
 
     @classmethod
     def define_tables(cls, metadata):
         Table("foo", metadata,
-            Column('id', Integer, primary_key=True,
-                        test_needs_autoincrement=True),
-            Column('type', String(32)),
-            Column('data', String(30)),
-            Column('bar_data', String(30))
-        )
+              Column('id', Integer, primary_key=True,
+                     test_needs_autoincrement=True),
+              Column('type', String(32)),
+              Column('data', String(30)),
+              Column('bar_data', String(30))
+              )
 
     def test_basic(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
 
         class Bar(Foo):
             __mapper_args__ = {"polymorphic_identity": "bar"}
@@ -419,10 +436,10 @@ class DeferredSingleInhReflectionTest(DeferredInhReflectBase):
 
     def test_add_subclass_column(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
 
         class Bar(Foo):
             __mapper_args__ = {"polymorphic_identity": "bar"}
@@ -433,10 +450,10 @@ class DeferredSingleInhReflectionTest(DeferredInhReflectBase):
 
     def test_add_pk_column(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
             id = Column(Integer, primary_key=True)
 
         class Bar(Foo):
@@ -445,28 +462,30 @@ class DeferredSingleInhReflectionTest(DeferredInhReflectBase):
         decl.DeferredReflection.prepare(testing.db)
         self._roundtrip()
 
+
 class DeferredJoinedInhReflectionTest(DeferredInhReflectBase):
+
     @classmethod
     def define_tables(cls, metadata):
         Table("foo", metadata,
-            Column('id', Integer, primary_key=True,
-                        test_needs_autoincrement=True),
-            Column('type', String(32)),
-            Column('data', String(30)),
-            test_needs_fk=True,
-        )
+              Column('id', Integer, primary_key=True,
+                     test_needs_autoincrement=True),
+              Column('type', String(32)),
+              Column('data', String(30)),
+              test_needs_fk=True,
+              )
         Table('bar', metadata,
-            Column('id', Integer, ForeignKey('foo.id'), primary_key=True),
-            Column('bar_data', String(30)),
-            test_needs_fk=True,
-        )
+              Column('id', Integer, ForeignKey('foo.id'), primary_key=True),
+              Column('bar_data', String(30)),
+              test_needs_fk=True,
+              )
 
     def test_basic(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
 
         class Bar(Foo):
             __tablename__ = 'bar'
@@ -477,10 +496,10 @@ class DeferredJoinedInhReflectionTest(DeferredInhReflectBase):
 
     def test_add_subclass_column(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
 
         class Bar(Foo):
             __tablename__ = 'bar'
@@ -492,10 +511,10 @@ class DeferredJoinedInhReflectionTest(DeferredInhReflectBase):
 
     def test_add_pk_column(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
             id = Column(Integer, primary_key=True)
 
         class Bar(Foo):
@@ -507,10 +526,10 @@ class DeferredJoinedInhReflectionTest(DeferredInhReflectBase):
 
     def test_add_fk_pk_column(self):
         class Foo(decl.DeferredReflection, fixtures.ComparableEntity,
-                    Base):
+                  Base):
             __tablename__ = 'foo'
             __mapper_args__ = {"polymorphic_on": "type",
-                        "polymorphic_identity": "foo"}
+                               "polymorphic_identity": "foo"}
 
         class Bar(Foo):
             __tablename__ = 'bar'