# HG changeset patch # User Ludovic Chabant # Date 1467616369 25200 # Node ID ba0a6bd5e913239acb635625662b8154662b6d05 # Parent 2bb3c1a04e983385cf43411bbc6cb38421e0561a tests: Make it possible to run FoodTruck tests. diff -r 2bb3c1a04e98 -r ba0a6bd5e913 foodtruck/web.py --- 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') diff -r 2bb3c1a04e98 -r ba0a6bd5e913 tests/conftest.py --- 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 diff -r 2bb3c1a04e98 -r ba0a6bd5e913 tests/servings/test_admin.yaml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/servings/test_admin.yaml Mon Jul 04 00:12:49 2016 -0700 @@ -0,0 +1,9 @@ +--- +admin: true +url: / +in: + pages/one.html: '' + posts/2016-01-01_post1.html: '' +out_contains: | + 1 pages +