summaryrefslogtreecommitdiff
path: root/test/orm
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-08-28 20:06:12 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-08-28 20:06:49 -0400
commitc192e447f3a5e8bfaaa46097eb4d6179f056361c (patch)
tree4c834538728c9fa22f1c9c1cd065d2e2bb44f930 /test/orm
parentfa5522547150687c9b3cd41d28df08ab0512b5b2 (diff)
downloadsqlalchemy-c192e447f3a5e8bfaaa46097eb4d6179f056361c.tar.gz
- major refactoring/inlining to loader.instances(), though not really
any speed improvements :(. code is in a much better place to be run into C, however - The ``proc()`` callable passed to the ``create_row_processor()`` method of custom :class:`.Bundle` classes now accepts only a single "row" argument. - Deprecated event hooks removed: ``populate_instance``, ``create_instance``, ``translate_row``, ``append_result`` - the getter() idea is somewhat restored; see ref #3175
Diffstat (limited to 'test/orm')
-rw-r--r--test/orm/test_bundle.py6
-rw-r--r--test/orm/test_events.py97
2 files changed, 19 insertions, 84 deletions
diff --git a/test/orm/test_bundle.py b/test/orm/test_bundle.py
index 29b8e9382..a08221e26 100644
--- a/test/orm/test_bundle.py
+++ b/test/orm/test_bundle.py
@@ -79,10 +79,10 @@ class BundleTest(fixtures.MappedTest, AssertsCompiledSQL):
class MyBundle(Bundle):
def create_row_processor(self, query, procs, labels):
- def proc(row, result):
+ def proc(row):
return dict(
- zip(labels, (proc(row, result) for proc in procs))
- )
+ zip(labels, (proc(row) for proc in procs))
+ )
return proc
b1 = MyBundle('b1', Data.d1, Data.d2)
diff --git a/test/orm/test_events.py b/test/orm/test_events.py
index f7667b9f1..068d73b07 100644
--- a/test/orm/test_events.py
+++ b/test/orm/test_events.py
@@ -85,10 +85,6 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
for meth in [
'init',
'init_failure',
- 'translate_row',
- 'create_instance',
- 'append_result',
- 'populate_instance',
'load',
'refresh',
'expire',
@@ -131,10 +127,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
sess.flush()
eq_(canary,
['init', 'before_insert',
- 'after_insert', 'expire', 'translate_row',
- 'populate_instance', 'refresh',
- 'append_result', 'translate_row', 'create_instance',
- 'populate_instance', 'load', 'append_result',
+ 'after_insert', 'expire',
+ 'refresh',
+ 'load',
'before_update', 'after_update', 'before_delete',
'after_delete'])
@@ -240,16 +235,13 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
sess.delete(am)
sess.flush()
eq_(canary1, ['init', 'before_insert', 'after_insert',
- 'translate_row', 'populate_instance','refresh',
- 'append_result', 'translate_row', 'create_instance'
- , 'populate_instance', 'load', 'append_result',
+ 'refresh', 'load',
'before_update', 'after_update', 'before_delete',
'after_delete'])
eq_(canary2, [])
eq_(canary3, ['init', 'before_insert', 'after_insert',
- 'translate_row', 'populate_instance','refresh',
- 'append_result', 'translate_row', 'create_instance'
- , 'populate_instance', 'load', 'append_result',
+ 'refresh',
+ 'load',
'before_update', 'after_update', 'before_delete',
'after_delete'])
@@ -282,16 +274,12 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
sess.delete(am)
sess.flush()
eq_(canary1, ['init', 'before_insert', 'after_insert',
- 'translate_row', 'populate_instance','refresh',
- 'append_result', 'translate_row', 'create_instance'
- , 'populate_instance', 'load', 'append_result',
+ 'refresh', 'load',
'before_update', 'after_update', 'before_delete',
'after_delete'])
eq_(canary2, [])
eq_(canary3, ['init', 'before_insert', 'after_insert',
- 'translate_row', 'populate_instance','refresh',
- 'append_result', 'translate_row', 'create_instance'
- , 'populate_instance', 'load', 'append_result',
+ 'refresh', 'load',
'before_update', 'after_update', 'before_delete',
'after_delete'])
@@ -375,25 +363,6 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
eq_(m1.mock_calls, [call()])
eq_(m2.mock_calls, [call()])
- def test_retval(self):
- User, users = self.classes.User, self.tables.users
-
- def create_instance(mapper, context, row, class_):
- u = User.__new__(User)
- u.foo = True
- return u
-
- mapper(User, users)
- event.listen(User, 'create_instance', create_instance, retval=True)
- sess = create_session()
- u1 = User()
- u1.name = 'ed'
- sess.add(u1)
- sess.flush()
- sess.expunge_all()
- u = sess.query(User).first()
- assert u.foo
-
def test_instrument_event(self):
Address, addresses, users, User = (self.classes.Address,
self.tables.addresses,
@@ -1515,26 +1484,10 @@ class MapperExtensionTest(_fixtures.FixtureTest):
methods.append('init_failed')
return sa.orm.EXT_CONTINUE
- def translate_row(self, mapper, context, row):
- methods.append('translate_row')
- return sa.orm.EXT_CONTINUE
-
- def create_instance(self, mapper, selectcontext, row, class_):
- methods.append('create_instance')
- return sa.orm.EXT_CONTINUE
-
def reconstruct_instance(self, mapper, instance):
methods.append('reconstruct_instance')
return sa.orm.EXT_CONTINUE
- def append_result(self, mapper, selectcontext, row, instance, result, **flags):
- methods.append('append_result')
- return sa.orm.EXT_CONTINUE
-
- def populate_instance(self, mapper, selectcontext, row, instance, **flags):
- methods.append('populate_instance')
- return sa.orm.EXT_CONTINUE
-
def before_insert(self, mapper, connection, instance):
methods.append('before_insert')
return sa.orm.EXT_CONTINUE
@@ -1582,9 +1535,8 @@ class MapperExtensionTest(_fixtures.FixtureTest):
sess.flush()
eq_(methods,
['instrument_class', 'init_instance', 'before_insert',
- 'after_insert', 'translate_row', 'populate_instance',
- 'append_result', 'translate_row', 'create_instance',
- 'populate_instance', 'reconstruct_instance', 'append_result',
+ 'after_insert',
+ 'reconstruct_instance',
'before_update', 'after_update', 'before_delete', 'after_delete'])
def test_inheritance(self):
@@ -1614,10 +1566,9 @@ class MapperExtensionTest(_fixtures.FixtureTest):
sess.flush()
eq_(methods,
['instrument_class', 'instrument_class', 'init_instance',
- 'before_insert', 'after_insert', 'translate_row',
- 'populate_instance', 'append_result', 'translate_row',
- 'create_instance', 'populate_instance', 'reconstruct_instance',
- 'append_result', 'before_update', 'after_update', 'before_delete',
+ 'before_insert', 'after_insert',
+ 'reconstruct_instance',
+ 'before_update', 'after_update', 'before_delete',
'after_delete'])
def test_before_after_only_collection(self):
@@ -1691,27 +1642,11 @@ class MapperExtensionTest(_fixtures.FixtureTest):
sess.flush()
eq_(methods,
['instrument_class', 'instrument_class', 'init_instance',
- 'before_insert', 'after_insert', 'translate_row',
- 'populate_instance', 'append_result', 'translate_row',
- 'create_instance', 'populate_instance', 'reconstruct_instance',
- 'append_result', 'before_update', 'after_update', 'before_delete',
+ 'before_insert', 'after_insert',
+ 'reconstruct_instance',
+ 'before_update', 'after_update', 'before_delete',
'after_delete'])
- def test_create_instance(self):
- User, users = self.classes.User, self.tables.users
-
- class CreateUserExt(sa.orm.MapperExtension):
- def create_instance(self, mapper, selectcontext, row, class_):
- return User.__new__(User)
-
- mapper(User, users, extension=CreateUserExt())
- sess = create_session()
- u1 = User()
- u1.name = 'ed'
- sess.add(u1)
- sess.flush()
- sess.expunge_all()
- assert sess.query(User).first()
def test_unnecessary_methods_not_evented(self):
users = self.tables.users