summaryrefslogtreecommitdiff
path: root/test/orm/test_eager_relations.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/test_eager_relations.py')
-rw-r--r--test/orm/test_eager_relations.py202
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,