Exemplo n.º 1
0
    def runtest(self):
        fs = self._prepareMockFs()

        url = self.spec.get('url')
        if url is None:
            raise Exception("Missing URL in test spec.")

        expected_status = self.spec.get('status', 200)
        expected_headers = self.spec.get('headers')
        expected_output = self.spec.get('out')
        expected_contains = self.spec.get('out_contains')

        from werkzeug.test import Client
        from werkzeug.wrappers import BaseResponse
        from piecrust.serving.server import Server
        with mock_fs_scope(fs):
            server = Server(fs.path('/kitchen'))
            test_app = self._TestApp(server)
            client = Client(test_app, BaseResponse)
            resp = client.get(url)
            assert expected_status == resp.status_code

            if expected_headers:
                for k, v in expected_headers.items():
                    assert v == resp.headers.get(k)

            actual = resp.data.decode('utf8').rstrip()
            if expected_output:
                assert expected_output.rstrip() == actual

            if expected_contains:
                assert expected_contains.rstrip() in actual
Exemplo n.º 2
0
# This is a utility module that can be used with any WSGI-compatible server
# like Werkzeug or Gunicorn. It returns a WSGI app for serving a PieCrust
# website located in the current working directory.
import os
from piecrust.serving.server import Server

root_dir = os.getcwd()
server = Server(root_dir, sub_cache_dir='prod', enable_debug_info=False)
app = server.getWsgiApp()
Exemplo n.º 3
0
def _get_piecrust_server(root_dir, **kwargs):
    server = Server(root_dir, **kwargs)
    app = server.getWsgiApp()
    return app
Exemplo n.º 4
0
def get_app(root_dir, sub_cache_dir='prod', enable_debug_info=False):
    server = Server(root_dir,
                    sub_cache_dir=sub_cache_dir,
                    enable_debug_info=enable_debug_info)
    app = server.getWsgiApp()
    return app
Exemplo n.º 5
0
# This is a utility module that can be used with any WSGI-compatible server
# like Werkzeug or Gunicorn. It returns a WSGI app for serving a PieCrust
# website located in the current working directory.
import os
from piecrust.serving.server import Server


root_dir = os.getcwd()
server = Server(root_dir, sub_cache_dir='prod', enable_debug_info=False)
app = server.getWsgiApp()

Exemplo n.º 6
0
def _get_piecrust_server(root_dir, **kwargs):
    server = Server(root_dir, **kwargs)
    app = server.getWsgiApp()
    return app