summaryrefslogtreecommitdiff
path: root/test/orm/inheritance/test_basic.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 19:03:11 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 19:03:11 -0400
commit14a2fae2398fb05f7ced56cec25e6f98307356f4 (patch)
tree6e7fde84f805d08659a96638b13edb08e681b5e9 /test/orm/inheritance/test_basic.py
parentdfd2c0fb5e1780966d0d5dfdb3d783177640f78f (diff)
downloadsqlalchemy-14a2fae2398fb05f7ced56cec25e6f98307356f4.tar.gz
- remove @testing.resolve_artifact_names, replace with direct attribute
access to the cls/self.tables/classes registries - express orm/_base.py ORMTest in terms of engine/_base.py TablesTest, factor out common steps into TablesTest, remove AltEngineTest as a separate class. will further consolidate these base classes
Diffstat (limited to 'test/orm/inheritance/test_basic.py')
-rw-r--r--test/orm/inheritance/test_basic.py109
1 files changed, 84 insertions, 25 deletions
diff --git a/test/orm/inheritance/test_basic.py b/test/orm/inheritance/test_basic.py
index 96c31d516..ea7cf9a69 100644
--- a/test/orm/inheritance/test_basic.py
+++ b/test/orm/inheritance/test_basic.py
@@ -85,8 +85,9 @@ class PolymorphicOnNotLocalTest(_base.MappedTest):
Column('y', String(10)),
Column('xid', ForeignKey('t1.id')))
- @testing.resolve_artifact_names
def test_bad_polymorphic_on(self):
+ t2, t1 = self.tables.t2, self.tables.t1
+
class InterfaceBase(object):
pass
@@ -224,8 +225,11 @@ class PolymorphicAttributeManagementTest(_base.MappedTest):
)
@classmethod
- @testing.resolve_artifact_names
def setup_classes(cls):
+ table_b, table_c, table_a = (cls.tables.table_b,
+ cls.tables.table_c,
+ cls.tables.table_a)
+
class A(_base.ComparableEntity):
pass
class B(A):
@@ -242,8 +246,11 @@ class PolymorphicAttributeManagementTest(_base.MappedTest):
mapper(C, table_c, inherits=B,
polymorphic_identity='c')
- @testing.resolve_artifact_names
def test_poly_configured_immediate(self):
+ A, C, B = (self.classes.A,
+ self.classes.C,
+ self.classes.B)
+
a = A()
b = B()
c = C()
@@ -251,8 +258,11 @@ class PolymorphicAttributeManagementTest(_base.MappedTest):
eq_(b.class_name, 'b')
eq_(c.class_name, 'c')
- @testing.resolve_artifact_names
def test_base_class(self):
+ A, C, B = (self.classes.A,
+ self.classes.C,
+ self.classes.B)
+
sess = Session()
c1 = C()
sess.add(c1)
@@ -264,8 +274,9 @@ class PolymorphicAttributeManagementTest(_base.MappedTest):
assert isinstance(sess.query(A).first(), C)
- @testing.resolve_artifact_names
def test_assignment(self):
+ C, B = self.classes.C, self.classes.B
+
sess = Session()
b1 = B()
b1.class_name = 'c'
@@ -362,8 +373,11 @@ class M2OUseGetTest(_base.MappedTest):
Column('sub_id', Integer, ForeignKey('sub.id')),
)
- @testing.resolve_artifact_names
def test_use_get(self):
+ base, sub, related = (self.tables.base,
+ self.tables.sub,
+ self.tables.related)
+
# test [ticket:1186]
class Base(_base.BasicEntity):
pass
@@ -435,8 +449,14 @@ class GetTest(_base.MappedTest):
def test_get_nonpolymorphic(self):
self._do_get_test(False)
- @testing.resolve_artifact_names
def _do_get_test(self, polymorphic):
+ foo, Bar, Blub, blub, bar, Foo = (self.tables.foo,
+ self.classes.Bar,
+ self.classes.Blub,
+ self.tables.blub,
+ self.tables.bar,
+ self.classes.Foo)
+
if polymorphic:
mapper(Foo, foo, polymorphic_on=foo.c.type, polymorphic_identity='foo')
mapper(Bar, bar, inherits=Foo, polymorphic_identity='bar')
@@ -559,8 +579,9 @@ class EagerTargetingTest(_base.MappedTest):
Column('b_data', String(50)),
)
- @testing.resolve_artifact_names
def test_adapt_stringency(self):
+ b_table, a_table = self.tables.b_table, self.tables.a_table
+
class A(_base.ComparableEntity):
pass
class B(A):
@@ -623,8 +644,12 @@ class FlushTest(_base.MappedTest):
Column('user_id', Integer, ForeignKey('users.id'))
)
- @testing.resolve_artifact_names
def test_one(self):
+ admins, users, roles, user_roles = (self.tables.admins,
+ self.tables.users,
+ self.tables.roles,
+ self.tables.user_roles)
+
class User(object):pass
class Role(object):pass
class Admin(User):pass
@@ -651,8 +676,12 @@ class FlushTest(_base.MappedTest):
assert user_roles.count().scalar() == 1
- @testing.resolve_artifact_names
def test_two(self):
+ admins, users, roles, user_roles = (self.tables.admins,
+ self.tables.users,
+ self.tables.roles,
+ self.tables.user_roles)
+
class User(object):
def __init__(self, email=None, password=None):
self.email = email
@@ -709,8 +738,11 @@ class VersioningTest(_base.MappedTest):
@testing.emits_warning(r".*updated rowcount")
@engines.close_open_connections
- @testing.resolve_artifact_names
def test_save_update(self):
+ subtable, base, stuff = (self.tables.subtable,
+ self.tables.base,
+ self.tables.stuff)
+
class Base(_fixtures.Base):
pass
class Sub(Base):
@@ -759,8 +791,9 @@ class VersioningTest(_base.MappedTest):
sess2.flush()
@testing.emits_warning(r".*updated rowcount")
- @testing.resolve_artifact_names
def test_delete(self):
+ subtable, base = self.tables.subtable, self.tables.base
+
class Base(_fixtures.Base):
pass
class Sub(Base):
@@ -1200,8 +1233,9 @@ class OptimizedLoadTest(_base.MappedTest):
Column('b', String(10))
)
- @testing.resolve_artifact_names
def test_optimized_passes(self):
+ base, sub = self.tables.base, self.tables.sub
+
""""test that the 'optimized load' routine doesn't crash when
a column in the join condition is not available."""
@@ -1230,8 +1264,9 @@ class OptimizedLoadTest(_base.MappedTest):
s1 = sess.query(Base).first()
assert s1.sub == 's1sub'
- @testing.resolve_artifact_names
def test_column_expression(self):
+ base, sub = self.tables.base, self.tables.sub
+
class Base(_base.BasicEntity):
pass
class Sub(Base):
@@ -1248,8 +1283,9 @@ class OptimizedLoadTest(_base.MappedTest):
s1 = sess.query(Base).first()
assert s1.concat == 's1sub|s1sub'
- @testing.resolve_artifact_names
def test_column_expression_joined(self):
+ base, sub = self.tables.base, self.tables.sub
+
class Base(_base.ComparableEntity):
pass
class Sub(Base):
@@ -1278,8 +1314,9 @@ class OptimizedLoadTest(_base.MappedTest):
]
)
- @testing.resolve_artifact_names
def test_composite_column_joined(self):
+ base, with_comp = self.tables.base, self.tables.with_comp
+
class Base(_base.ComparableEntity):
pass
class WithComp(Base):
@@ -1308,8 +1345,9 @@ class OptimizedLoadTest(_base.MappedTest):
eq_(s1test.comp, Comp('ham', 'cheese'))
eq_(s2test.comp, Comp('bacon', 'eggs'))
- @testing.resolve_artifact_names
def test_load_expired_on_pending(self):
+ base, sub = self.tables.base, self.tables.sub
+
class Base(_base.ComparableEntity):
pass
class Sub(Base):
@@ -1344,8 +1382,9 @@ class OptimizedLoadTest(_base.MappedTest):
),
)
- @testing.resolve_artifact_names
def test_dont_generate_on_none(self):
+ base, sub = self.tables.base, self.tables.sub
+
class Base(_base.ComparableEntity):
pass
class Sub(Base):
@@ -1370,8 +1409,11 @@ class OptimizedLoadTest(_base.MappedTest):
assert m._optimized_get_statement(attributes.instance_state(s1),
['counter2']) is not None
- @testing.resolve_artifact_names
def test_load_expired_on_pending_twolevel(self):
+ base, sub, subsub = (self.tables.base,
+ self.tables.sub,
+ self.tables.subsub)
+
class Base(_base.ComparableEntity):
pass
class Sub(Base):
@@ -1477,8 +1519,9 @@ class PKDiscriminatorTest(_base.MappedTest):
Column('type', Integer,primary_key=True),
Column('name', String(60)))
- @testing.resolve_artifact_names
def test_pk_as_discriminator(self):
+ parents, children = self.tables.parents, self.tables.children
+
class Parent(object):
def __init__(self, name=None):
self.name = name
@@ -1539,37 +1582,53 @@ class NoPolyIdentInMiddleTest(_base.MappedTest):
pass
@classmethod
- @testing.resolve_artifact_names
def setup_mappers(cls):
+ A, C, B, E, D, base = (cls.classes.A,
+ cls.classes.C,
+ cls.classes.B,
+ cls.classes.E,
+ cls.classes.D,
+ cls.tables.base)
+
mapper(A, base, polymorphic_on=base.c.type)
mapper(B, inherits=A, )
mapper(C, inherits=B, polymorphic_identity='c')
mapper(D, inherits=B, polymorphic_identity='d')
mapper(E, inherits=A, polymorphic_identity='e')
- @testing.resolve_artifact_names
def test_load_from_middle(self):
+ C, B = self.classes.C, self.classes.B
+
s = Session()
s.add(C())
o = s.query(B).first()
eq_(o.type, 'c')
assert isinstance(o, C)
- @testing.resolve_artifact_names
def test_load_from_base(self):
+ A, C = self.classes.A, self.classes.C
+
s = Session()
s.add(C())
o = s.query(A).first()
eq_(o.type, 'c')
assert isinstance(o, C)
- @testing.resolve_artifact_names
def test_discriminator(self):
+ C, B, base = (self.classes.C,
+ self.classes.B,
+ self.tables.base)
+
assert class_mapper(B).polymorphic_on is base.c.type
assert class_mapper(C).polymorphic_on is base.c.type
- @testing.resolve_artifact_names
def test_load_multiple_from_middle(self):
+ C, B, E, D, base = (self.classes.C,
+ self.classes.B,
+ self.classes.E,
+ self.classes.D,
+ self.tables.base)
+
s = Session()
s.add_all([C(), D(), E()])
eq_(