Mercurial > kallithea
view pylons_app/tests/__init__.py @ 483:a9e50dce3081 celery
Removed config names from whoosh and celery,
celery is now configured based on the config name it's using
on celeryconfig. And whoosh uses it's own logger configured just for whoosh
Test creates a fresh whoosh index now, for more accurate checks
fixed tests for searching
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Fri, 17 Sep 2010 22:54:30 +0200 |
parents | 6b934c9607e7 |
children | fefffd6fd5f4 |
line wrap: on
line source
"""Pylons application test package This package assumes the Pylons environment is already loaded, such as when this script is imported from the `nosetests --with-pylons=test.ini` command. This module initializes the application via ``websetup`` (`paster setup-app`) and provides the base testing objects. """ from unittest import TestCase from paste.deploy import loadapp from paste.script.appinstall import SetupCommand from pylons import config, url from routes.util import URLGenerator from webtest import TestApp import os from pylons_app.model import meta from pylons_app.lib.indexers import IDX_LOCATION import logging import shutil log = logging.getLogger(__name__) import pylons.test __all__ = ['environ', 'url', 'TestController'] # Invoke websetup with the current config file #SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']]) def create_index(repo_location, full_index): from pylons_app.lib.indexers import daemon from pylons_app.lib.indexers.daemon import WhooshIndexingDaemon from pylons_app.lib.indexers.pidlock import DaemonLock, LockHeld try: l = DaemonLock() WhooshIndexingDaemon(repo_location=repo_location)\ .run(full_index=full_index) l.release() except LockHeld: pass if os.path.exists(IDX_LOCATION): shutil.rmtree(IDX_LOCATION) create_index('/tmp/*', True) environ = {} class TestController(TestCase): def __init__(self, *args, **kwargs): wsgiapp = pylons.test.pylonsapp config = wsgiapp.config self.app = TestApp(wsgiapp) url._push_object(URLGenerator(config['routes.map'], environ)) self.sa = meta.Session TestCase.__init__(self, *args, **kwargs) def log_user(self): response = self.app.post(url(controller='login', action='index'), {'username':'test_admin', 'password':'test'}) assert response.status == '302 Found', 'Wrong response code from login got %s' % response.status assert response.session['hg_app_user'].username == 'test_admin', 'wrong logged in user' return response.follow()