summaryrefslogtreecommitdiff
path: root/test/lib/testing.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 21:40:05 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-03-26 21:40:05 -0400
commitebd0fdad737c2ee79e9cde90f350a705307be578 (patch)
tree279925102029d3c4747d693fa2027c09c18ae87f /test/lib/testing.py
parente3dbb87d94e9caaec66bb141852fcd53caec3dea (diff)
downloadsqlalchemy-ebd0fdad737c2ee79e9cde90f350a705307be578.tar.gz
- convert @provide_metadata to use self access
- having occasional issues with BasicEntity grabbing, if it persists may have to pass an explicit base class into setup_classes()/setup_mappers()
Diffstat (limited to 'test/lib/testing.py')
-rw-r--r--test/lib/testing.py24
1 files changed, 7 insertions, 17 deletions
diff --git a/test/lib/testing.py b/test/lib/testing.py
index e4edb8a86..e815a2dff 100644
--- a/test/lib/testing.py
+++ b/test/lib/testing.py
@@ -536,30 +536,20 @@ def assert_raises_message(except_cls, msg, callable_, *args, **kwargs):
def fail(msg):
assert False, msg
-def fixture(table, columns, *rows):
- """Insert data into table after creation."""
- def onload(event, schema_item, connection):
- insert = table.insert()
- column_names = [col.key for col in columns]
- connection.execute(insert, [dict(zip(column_names, column_values))
- for column_values in rows])
- table.append_ddl_listener('after-create', onload)
@decorator
def provide_metadata(fn, *args, **kw):
- """Provides a bound MetaData object for a single test,
- drops it afterwards."""
+ """Provide bound MetaData for a single test, dropping afterwards."""
+
metadata = schema.MetaData(db)
- context = dict(fn.func_globals)
- context['metadata'] = metadata
- # jython bug #1034
- rebound = types.FunctionType(
- fn.func_code, context, fn.func_name, fn.func_defaults,
- fn.func_closure)
+ self = args[0]
+ prev_meta = getattr(self, 'metadata', None)
+ self.metadata = metadata
try:
- return rebound(*args, **kw)
+ return fn(*args, **kw)
finally:
metadata.drop_all()
+ self.metadata = prev_meta
class adict(dict):
"""Dict keys available as attributes. Shadows."""