From fbede98b2beb7262805fc1df1c5d3f15e921c63d Mon Sep 17 00:00:00 2001 From: Leonardo Santagada Date: Thu, 18 Jul 2013 16:37:10 -0300 Subject: [PATCH] test that we can actually create the app --- development.ini | 5 +++++ tests/test_app.py | 15 ++++++++++++--- timtec/__init__.py | 10 +++++++--- timtec/scripts/initializedb.py | 7 +++---- 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/development.ini b/development.ini index fe1b49a..92f46d5 100644 --- a/development.ini +++ b/development.ini @@ -17,6 +17,11 @@ pyramid.includes = sqlalchemy.url = sqlite:///%(here)s/timtec.sqlite +horus.user_class = timtec.models.User +horus.activation_class = timtec.models.Activation +horus.login_redirect = login +horus.logout_redirect = logout + # By default, the toolbar only appears for clients from IP addresses # '127.0.0.1' and '::1'. # debugtoolbar.hosts = 127.0.0.1 ::1 diff --git a/tests/test_app.py b/tests/test_app.py index 874ca60..c0ce387 100644 --- a/tests/test_app.py +++ b/tests/test_app.py @@ -1,7 +1,9 @@ import transaction - -from pyramid import testing - +from pkg_resources import resource_filename +from pyramid import ( + testing, + router, +) from timtec.models import DBSession config = None @@ -34,3 +36,10 @@ def test_it(): info = my_view(request) assert info['one'].username == 'one' assert info['project'] == 'timtec' + +def test_app_creation(): + from paste.deploy.loadwsgi import appconfig + from timtec import main + settings = appconfig('config:' + resource_filename(__name__, '../development.ini')) + app = main(config, **settings) + assert isinstance(app, router.Router) diff --git a/timtec/__init__.py b/timtec/__init__.py index 3be7446..3ddaa07 100644 --- a/timtec/__init__.py +++ b/timtec/__init__.py @@ -1,5 +1,6 @@ from pyramid.config import Configurator from sqlalchemy import engine_from_config +from hem.interfaces import IDBSession from .models import ( DBSession, @@ -14,10 +15,13 @@ def main(global_config, **settings): DBSession.configure(bind=engine) Base.metadata.bind = engine config = Configurator(settings=settings) + config.include('horus') + config.include('pyramid_mailer') + config.registry.registerUtility(DBSession, IDBSession) + # config.scan_horus(models) config.add_static_view('static', 'static', cache_max_age=3600) config.add_route('home', '/') + config.add_route('login', '/login') + config.add_route('logout', '/logout') config.scan() - config.include('horus') - config.include('pyramid_mailer') - config.scan_horus(models) return config.make_wsgi_app() diff --git a/timtec/scripts/initializedb.py b/timtec/scripts/initializedb.py index 0003ca7..6cbffc2 100644 --- a/timtec/scripts/initializedb.py +++ b/timtec/scripts/initializedb.py @@ -11,7 +11,6 @@ from ..models import ( DBSession, - MyModel, Base, ) @@ -32,6 +31,6 @@ def main(argv=sys.argv): engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) - with transaction.manager: - model = MyModel(name='one', value=1) - DBSession.add(model) + # with transaction.manager: + # model = MyModel(name='one', value=1) + # DBSession.add(model)