Exemple #1
0
def test_if_port_env_var_is_set_then_specified_host_is_used(api: API):
    with env("PORT", "4242"):

        def run(app, host, **kwargs):
            assert host == "example.com"

        api.run(_run=run, host="example.com")
Exemple #2
0
def test_if_port_env_var_is_set_then_host_is_any_and_port_is_env_var(api: API):
    with env("PORT", "4242"):

        def run(app, host, port, **kwargs):
            assert host == "0.0.0.0"
            assert port == 4242
            assert app == api

        api.run(_run=run)
Exemple #3
0
# 👇 Executes `requires_token()` before the view
@courses.route("/top")
@hooks.before(requires_token)
async def get_top_courses(req, res):
    try:
        # Query parameters!
        n = int(req.query_params.get("n"))
    except TypeError:
        n = 5
    courses = [storage.get(pk)._asdict() for pk in analytics.top(n=n)]
    res.media = courses


# Mounts the routes of `courses` at `/courses` on `api`
api.recipe(courses)


# Custom error handlers!
@api.error_handler(HTTPError)
def handle_json(req, res, exc):
    res.media = {
        "error": exc.status_phrase,
        "status": exc.status_code,
        "message": "Duh!",
    }
    res.status_code = exc.status_code


if __name__ == "__main__":
    api.run()
Exemple #4
0
def test_port_is_8000_by_default(api: API):
    def run(app, port, **kwargs):
        assert port == 8000

    api.run(_run=run)
Exemple #5
0
def test_host_is_localhost_by_default(api: API):
    def run(app, host, **kwargs):
        assert host == "127.0.0.1"

    api.run(_run=run)