diff options
Diffstat (limited to 'test/orm/test_eager_relations.py')
| -rw-r--r-- | test/orm/test_eager_relations.py | 202 |
1 files changed, 154 insertions, 48 deletions
diff --git a/test/orm/test_eager_relations.py b/test/orm/test_eager_relations.py index b38f23529..2b53e5ae8 100644 --- a/test/orm/test_eager_relations.py +++ b/test/orm/test_eager_relations.py @@ -1,46 +1,47 @@ """tests of joined-eager loaded attributes""" -from sqlalchemy.testing import eq_, is_, is_not_, in_ +import datetime + import sqlalchemy as sa +from sqlalchemy import and_ +from sqlalchemy import Date +from sqlalchemy import ForeignKey +from sqlalchemy import func +from sqlalchemy import Integer +from sqlalchemy import select +from sqlalchemy import String from sqlalchemy import testing -from sqlalchemy.orm import ( - joinedload, - deferred, - undefer, - joinedload_all, - backref, - Session, - defaultload, - Load, - load_only, - contains_eager, -) -from sqlalchemy import ( - Integer, - String, - Date, - ForeignKey, - and_, - select, - func, - text, -) -from sqlalchemy.testing.schema import Table, Column -from sqlalchemy.orm import ( - mapper, - relationship, - create_session, - lazyload, - aliased, - column_property, -) +from sqlalchemy import text +from sqlalchemy.orm import aliased +from sqlalchemy.orm import backref +from sqlalchemy.orm import column_property +from sqlalchemy.orm import contains_eager +from sqlalchemy.orm import create_session +from sqlalchemy.orm import defaultload +from sqlalchemy.orm import deferred +from sqlalchemy.orm import joinedload +from sqlalchemy.orm import joinedload_all +from sqlalchemy.orm import lazyload +from sqlalchemy.orm import Load +from sqlalchemy.orm import load_only +from sqlalchemy.orm import mapper +from sqlalchemy.orm import relationship +from sqlalchemy.orm import Session +from sqlalchemy.orm import undefer from sqlalchemy.sql import operators -from sqlalchemy.testing import assert_raises, assert_raises_message +from sqlalchemy.testing import assert_raises +from sqlalchemy.testing import assert_raises_message +from sqlalchemy.testing import eq_ +from sqlalchemy.testing import expect_warnings +from sqlalchemy.testing import fixtures +from sqlalchemy.testing import in_ +from sqlalchemy.testing import is_ +from sqlalchemy.testing import is_not_ from sqlalchemy.testing.assertsql import CompiledSQL -from sqlalchemy.testing import fixtures, expect_warnings -from test.orm import _fixtures +from sqlalchemy.testing.schema import Column +from sqlalchemy.testing.schema import Table from sqlalchemy.util import OrderedDict as odict -import datetime +from test.orm import _fixtures class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): @@ -492,7 +493,18 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): self.assert_sql_count(testing.db, go, 1) def test_options_pathing(self): - users, Keyword, orders, items, order_items, Order, Item, User, keywords, item_keywords = ( + ( + users, + Keyword, + orders, + items, + order_items, + Order, + Item, + User, + keywords, + item_keywords, + ) = ( self.tables.users, self.classes.Keyword, self.tables.orders, @@ -794,7 +806,17 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): """Eager loading with two relationships simultaneously, from the same table, using aliases.""" - addresses, items, order_items, orders, Item, User, Address, Order, users = ( + ( + addresses, + items, + order_items, + orders, + Item, + User, + Address, + Order, + users, + ) = ( self.tables.addresses, self.tables.items, self.tables.order_items, @@ -939,7 +961,17 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): def test_limit(self): """Limit operations combined with lazy-load relationships.""" - users, items, order_items, orders, Item, User, Address, Order, addresses = ( + ( + users, + items, + order_items, + orders, + Item, + User, + Address, + Order, + addresses, + ) = ( self.tables.users, self.tables.items, self.tables.order_items, @@ -1074,7 +1106,17 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): 'wrapped' select statement resulting from the combination of eager loading and limit/offset clauses.""" - addresses, items, order_items, orders, Item, User, Address, Order, users = ( + ( + addresses, + items, + order_items, + orders, + Item, + User, + Address, + Order, + users, + ) = ( self.tables.addresses, self.tables.items, self.tables.order_items, @@ -1305,7 +1347,17 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): """test that the subquery wrapping only occurs with limit/offset and m2m or o2m joins present.""" - users, items, order_items, Order, Item, User, Address, orders, addresses = ( + ( + users, + items, + order_items, + Order, + Item, + User, + Address, + orders, + addresses, + ) = ( self.tables.users, self.tables.items, self.tables.order_items, @@ -1739,7 +1791,17 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): ) def test_wide(self): - users, items, order_items, Order, Item, User, Address, orders, addresses = ( + ( + users, + items, + order_items, + Order, + Item, + User, + Address, + orders, + addresses, + ) = ( self.tables.users, self.tables.items, self.tables.order_items, @@ -2272,7 +2334,18 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): # test eager join chaining to the "nested" join on the left, # a new feature as of [ticket:2369] - users, Keyword, orders, items, order_items, Order, Item, User, keywords, item_keywords = ( + ( + users, + Keyword, + orders, + items, + order_items, + Order, + Item, + User, + keywords, + item_keywords, + ) = ( self.tables.users, self.classes.Keyword, self.tables.orders, @@ -2289,8 +2362,8 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): User, users, properties={ - "orders": relationship(Order, backref="user") # o2m, m2o - }, + "orders": relationship(Order, backref="user") + }, # o2m, m2o ) mapper( Order, @@ -3475,7 +3548,17 @@ class AddEntityTest(_fixtures.FixtureTest): ] def test_mapper_configured(self): - users, items, order_items, Order, Item, User, Address, orders, addresses = ( + ( + users, + items, + order_items, + Order, + Item, + User, + Address, + orders, + addresses, + ) = ( self.tables.users, self.tables.items, self.tables.order_items, @@ -3525,7 +3608,17 @@ class AddEntityTest(_fixtures.FixtureTest): self.assert_sql_count(testing.db, go, 1) def test_options(self): - users, items, order_items, Order, Item, User, Address, orders, addresses = ( + ( + users, + items, + order_items, + Order, + Item, + User, + Address, + orders, + addresses, + ) = ( self.tables.users, self.tables.items, self.tables.order_items, @@ -4162,7 +4255,20 @@ class MixedEntitiesTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL): @classmethod def setup_mappers(cls): - users, Keyword, items, order_items, orders, Item, User, Address, keywords, Order, item_keywords, addresses = ( + ( + users, + Keyword, + items, + order_items, + orders, + Item, + User, + Address, + keywords, + Order, + item_keywords, + addresses, + ) = ( cls.tables.users, cls.classes.Keyword, cls.tables.items, |
