Mercurial > kallithea
diff rhodecode/tests/__init__.py @ 3829:5067d6e826a5 beta
created basic TestClass for tests that does
basic pylons stack init
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Thu, 09 May 2013 00:04:43 +0200 |
parents | d7488551578e |
children | 2b9da8749065 |
line wrap: on
line diff
--- a/rhodecode/tests/__init__.py Wed May 08 23:58:44 2013 +0200 +++ b/rhodecode/tests/__init__.py Thu May 09 00:04:43 2013 +0200 @@ -35,6 +35,7 @@ import pylons.test from pylons import config, url from pylons.i18n.translation import _get_translator +from pylons.util import ContextObj from routes.util import URLGenerator from webtest import TestApp @@ -55,7 +56,7 @@ __all__ = [ 'parameterized', 'environ', 'url', 'get_new_dir', 'TestController', - 'SkipTest', 'ldap_lib_installed', + 'SkipTest', 'ldap_lib_installed', 'BaseTestCase', 'init_stack', 'TESTS_TMP_PATH', 'HG_REPO', 'GIT_REPO', 'NEW_HG_REPO', 'NEW_GIT_REPO', 'HG_FORK', 'GIT_FORK', 'TEST_USER_ADMIN_LOGIN', 'TEST_USER_ADMIN_PASS', 'TEST_USER_REGULAR_LOGIN', 'TEST_USER_REGULAR_PASS', @@ -144,23 +145,31 @@ return get_normalized_path(path) -class TestController(TestCase): +def init_stack(config=None): + if not config: + config = pylons.test.pylonsapp.config + url._push_object(URLGenerator(config['routes.map'], environ)) + pylons.app_globals._push_object(config['pylons.app_globals']) + pylons.config._push_object(config) + pylons.tmpl_context._push_object(ContextObj()) + # Initialize a translator for tests that utilize i18n + translator = _get_translator(pylons.config.get('lang')) + pylons.translator._push_object(translator) + + +class BaseTestCase(TestCase): + def __init__(self, *args, **kwargs): + self.wsgiapp = pylons.test.pylonsapp + init_stack(self.wsgiapp.config) + TestCase.__init__(self, *args, **kwargs) + + +class TestController(BaseTestCase): def __init__(self, *args, **kwargs): - wsgiapp = pylons.test.pylonsapp - config = wsgiapp.config - - self.app = TestApp(wsgiapp) - url._push_object(URLGenerator(config['routes.map'], environ)) - pylons.app_globals._push_object(config['pylons.app_globals']) - pylons.config._push_object(config) - - # Initialize a translator for tests that utilize i18n - translator = _get_translator(pylons.config.get('lang')) - pylons.translator._push_object(translator) - + BaseTestCase.__init__(self, *args, **kwargs) + self.app = TestApp(self.wsgiapp) self.index_location = config['app_conf']['index_dir'] - TestCase.__init__(self, *args, **kwargs) def log_user(self, username=TEST_USER_ADMIN_LOGIN, password=TEST_USER_ADMIN_PASS):