summaryrefslogtreecommitdiff
path: root/test/orm/inheritance/test_magazine.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/inheritance/test_magazine.py')
-rw-r--r--test/orm/inheritance/test_magazine.py88
1 files changed, 42 insertions, 46 deletions
diff --git a/test/orm/inheritance/test_magazine.py b/test/orm/inheritance/test_magazine.py
index 6329540b9..27f5e71ce 100644
--- a/test/orm/inheritance/test_magazine.py
+++ b/test/orm/inheritance/test_magazine.py
@@ -1,11 +1,7 @@
from sqlalchemy import CHAR
-from sqlalchemy import Column
from sqlalchemy import ForeignKey
from sqlalchemy import Integer
-from sqlalchemy import join
-from sqlalchemy import outerjoin
from sqlalchemy import String
-from sqlalchemy import Table
from sqlalchemy import Text
from sqlalchemy.orm import backref
from sqlalchemy.orm import create_session
@@ -116,9 +112,7 @@ class ClassifiedPage(MagazinePage):
class MagazineTest(fixtures.MappedTest):
@classmethod
def define_tables(cls, metadata):
- global publication_table, issue_table, location_table, location_name_table, magazine_table, page_table, magazine_page_table, classified_page_table, page_size_table
-
- publication_table = Table(
+ Table(
"publication",
metadata,
Column(
@@ -126,7 +120,7 @@ class MagazineTest(fixtures.MappedTest):
),
Column("name", String(45), default=""),
)
- issue_table = Table(
+ Table(
"issue",
metadata,
Column(
@@ -135,7 +129,7 @@ class MagazineTest(fixtures.MappedTest):
Column("publication_id", Integer, ForeignKey("publication.id")),
Column("issue", Integer),
)
- location_table = Table(
+ Table(
"location",
metadata,
Column(
@@ -147,7 +141,7 @@ class MagazineTest(fixtures.MappedTest):
"location_name_id", Integer, ForeignKey("location_name.id")
),
)
- location_name_table = Table(
+ Table(
"location_name",
metadata,
Column(
@@ -155,7 +149,7 @@ class MagazineTest(fixtures.MappedTest):
),
Column("name", String(45), default=""),
)
- magazine_table = Table(
+ Table(
"magazine",
metadata,
Column(
@@ -164,7 +158,7 @@ class MagazineTest(fixtures.MappedTest):
Column("location_id", Integer, ForeignKey("location.id")),
Column("page_size_id", Integer, ForeignKey("page_size.id")),
)
- page_table = Table(
+ Table(
"page",
metadata,
Column(
@@ -173,7 +167,7 @@ class MagazineTest(fixtures.MappedTest):
Column("page_no", Integer),
Column("type", CHAR(1), default="p"),
)
- magazine_page_table = Table(
+ Table(
"magazine_page",
metadata,
Column(
@@ -182,7 +176,7 @@ class MagazineTest(fixtures.MappedTest):
Column("magazine_id", Integer, ForeignKey("magazine.id")),
Column("orders", Text, default=""),
)
- classified_page_table = Table(
+ Table(
"classified_page",
metadata,
Column(
@@ -193,7 +187,7 @@ class MagazineTest(fixtures.MappedTest):
),
Column("titles", String(45), default=""),
)
- page_size_table = Table(
+ Table(
"page_size",
metadata,
Column(
@@ -207,11 +201,11 @@ class MagazineTest(fixtures.MappedTest):
def _generate_round_trip_test(use_unions=False, use_joins=False):
def test_roundtrip(self):
- publication_mapper = mapper(Publication, publication_table)
+ publication_mapper = mapper(Publication, self.tables.publication)
issue_mapper = mapper(
Issue,
- issue_table,
+ self.tables.issue,
properties={
"publication": relationship(
Publication,
@@ -220,11 +214,11 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
},
)
- location_name_mapper = mapper(LocationName, location_name_table)
+ location_name_mapper = mapper(LocationName, self.tables.location_name)
location_mapper = mapper(
Location,
- location_table,
+ self.tables.location,
properties={
"issue": relationship(
Issue,
@@ -238,11 +232,11 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
},
)
- page_size_mapper = mapper(PageSize, page_size_table)
+ page_size_mapper = mapper(PageSize, self.tables.page_size)
magazine_mapper = mapper(
Magazine,
- magazine_table,
+ self.tables.magazine,
properties={
"location": relationship(
Location, backref=backref("magazine", uselist=False)
@@ -254,47 +248,49 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
if use_unions:
page_join = polymorphic_union(
{
- "m": page_table.join(magazine_page_table),
- "c": page_table.join(magazine_page_table).join(
- classified_page_table
+ "m": self.tables.page.join(self.tables.magazine_page),
+ "c": self.tables.page.join(self.tables.magazine_page).join(
+ self.tables.classified_page
+ ),
+ "p": self.tables.page.select(
+ self.tables.page.c.type == "p"
),
- "p": page_table.select(page_table.c.type == "p"),
},
None,
"page_join",
)
page_mapper = mapper(
Page,
- page_table,
+ self.tables.page,
with_polymorphic=("*", page_join),
polymorphic_on=page_join.c.type,
polymorphic_identity="p",
)
elif use_joins:
- page_join = page_table.outerjoin(magazine_page_table).outerjoin(
- classified_page_table
- )
+ page_join = self.tables.page.outerjoin(
+ self.tables.magazine_page
+ ).outerjoin(self.tables.classified_page)
page_mapper = mapper(
Page,
- page_table,
+ self.tables.page,
with_polymorphic=("*", page_join),
- polymorphic_on=page_table.c.type,
+ polymorphic_on=self.tables.page.c.type,
polymorphic_identity="p",
)
else:
page_mapper = mapper(
Page,
- page_table,
- polymorphic_on=page_table.c.type,
+ self.tables.page,
+ polymorphic_on=self.tables.page.c.type,
polymorphic_identity="p",
)
if use_unions:
magazine_join = polymorphic_union(
{
- "m": page_table.join(magazine_page_table),
- "c": page_table.join(magazine_page_table).join(
- classified_page_table
+ "m": self.tables.page.join(self.tables.magazine_page),
+ "c": self.tables.page.join(self.tables.magazine_page).join(
+ self.tables.classified_page
),
},
None,
@@ -302,7 +298,7 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
)
magazine_page_mapper = mapper(
MagazinePage,
- magazine_page_table,
+ self.tables.magazine_page,
with_polymorphic=("*", magazine_join),
inherits=page_mapper,
polymorphic_identity="m",
@@ -316,12 +312,12 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
},
)
elif use_joins:
- magazine_join = page_table.join(magazine_page_table).outerjoin(
- classified_page_table
- )
+ magazine_join = self.tables.page.join(
+ self.tables.magazine_page
+ ).outerjoin(self.tables.classified_page)
magazine_page_mapper = mapper(
MagazinePage,
- magazine_page_table,
+ self.tables.magazine_page,
with_polymorphic=("*", magazine_join),
inherits=page_mapper,
polymorphic_identity="m",
@@ -329,7 +325,7 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
"magazine": relationship(
Magazine,
backref=backref(
- "pages", order_by=page_table.c.page_no
+ "pages", order_by=self.tables.page.c.page_no
),
)
},
@@ -337,14 +333,14 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
else:
magazine_page_mapper = mapper(
MagazinePage,
- magazine_page_table,
+ self.tables.magazine_page,
inherits=page_mapper,
polymorphic_identity="m",
properties={
"magazine": relationship(
Magazine,
backref=backref(
- "pages", order_by=page_table.c.page_no
+ "pages", order_by=self.tables.page.c.page_no
),
)
},
@@ -352,10 +348,10 @@ def _generate_round_trip_test(use_unions=False, use_joins=False):
classified_page_mapper = mapper(
ClassifiedPage,
- classified_page_table,
+ self.tables.classified_page,
inherits=magazine_page_mapper,
polymorphic_identity="c",
- primary_key=[page_table.c.id],
+ primary_key=[self.tables.page.c.id],
)
session = create_session()