From 245d4f119fe532ea6f75082906fb275d0e8554a2 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 4 Apr 2013 11:08:50 -0500 Subject: [PATCH] Turning setup_fresh_app into SetupFreshApp, a decorator with options! This way people can pass in particular paste/mediagoblin configs that they want to use. --- mediagoblin/tests/tools.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index 43da16de..526a2a1d 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -171,19 +171,29 @@ def get_app(paste_config=None, mgoblin_config=None, dump_old_app=True): return app -def setup_fresh_app(func): +class SetupFreshApp(object): """ Decorator to setup a fresh test application for this function. Cleans out test buckets and passes in a new, fresh test_app. """ - @wraps(func) - def wrapper(*args, **kwargs): - test_app = get_app() - testing.clear_test_buckets() - return func(test_app, *args, **kwargs) - - return wrapper + def __init__(self, paste_config, mgoblin_config, dump_old_app=True): + self.paste_config = paste_config + self.mgoblin_config = mgoblin_config + + def __call__(self, func): + @wraps(func) + def wrapper(*args, **kwargs): + test_app = get_app( + paste_config=self.paste_config, + mgoblin_config=self.mgoblin_config, + dump_old_app=self.dump_old_app) + testing.clear_test_buckets() + return func(test_app, *args, **kwargs) + + return wrapper + +setup_fresh_app = SetupFreshApp(TEST_SERVER_CONFIG, TEST_APP_CONFIG) def install_fixtures_simple(db, fixtures): -- 2.25.1