Mercurial > piecrust2
changeset 775:ba0a6bd5e913
tests: Make it possible to run FoodTruck tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 04 Jul 2016 00:12:49 -0700 |
parents | 2bb3c1a04e98 |
children | 3799621cd25b |
files | foodtruck/web.py tests/conftest.py tests/servings/test_admin.yaml |
diffstat | 3 files changed, 29 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/foodtruck/web.py Sun Jul 03 16:44:18 2016 -0700 +++ b/foodtruck/web.py Mon Jul 04 00:12:49 2016 -0700 @@ -3,6 +3,8 @@ from flask import Flask from werkzeug import SharedDataMiddleware from .blueprint import foodtruck_bp, login_manager, bcrypt_ext +from .configuration import FoodTruckConfigNotFoundError +from .sites import InvalidSiteError logger = logging.getLogger(__name__) @@ -13,7 +15,7 @@ app.config.from_object('foodtruck.settings') app.config.from_envvar('FOODTRUCK_SETTINGS', silent=True) if extra_settings: - app.config.from_object(extra_settings) + app.config.update(extra_settings) admin_root = app.config.setdefault('FOODTRUCK_ROOT', os.getcwd()) config_path = os.path.join(admin_root, 'app.cfg')
--- a/tests/conftest.py Sun Jul 03 16:44:18 2016 -0700 +++ b/tests/conftest.py Mon Jul 04 00:12:49 2016 -0700 @@ -371,17 +371,27 @@ expected_headers = self.spec.get('headers') expected_output = self.spec.get('out') expected_contains = self.spec.get('out_contains') + is_admin_test = self.spec.get('admin') is True from werkzeug.test import Client from werkzeug.wrappers import BaseResponse - from piecrust.app import PieCrustFactory - from piecrust.serving.server import Server with mock_fs_scope(fs, keep=self.mock_debug): - appfactory = PieCrustFactory( - fs.path('/kitchen'), - theme_site=self.is_theme_site) - server = Server(appfactory) - test_app = self._TestApp(server) + if is_admin_test: + from foodtruck.web import create_foodtruck_app + s = { + 'FOODTRUCK_CMDLINE_MODE': True, + 'FOODTRUCK_ROOT': fs.path('/kitchen') + } + test_app = create_foodtruck_app(s) + else: + from piecrust.app import PieCrustFactory + from piecrust.serving.server import Server + appfactory = PieCrustFactory( + fs.path('/kitchen'), + theme_site=self.is_theme_site) + server = Server(appfactory) + test_app = self._TestApp(server) + client = Client(test_app, BaseResponse) resp = client.get(url) assert expected_status == resp.status_code