diff options
-rw-r--r-- | mediagoblin/tests/tools.py | 26 |
1 files 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): |