Beispiel #1
0
def create_spec_request(routes) -> FakeRequest:
    def setup_app(app):
        app.router.add_routes(routes)

    cli = rest(setup_app=setup_app)
    app = cli.web()
    return FakeRequest.from_app(app)
Beispiel #2
0
def test_serve_index():
    runner = CliRunner()
    cli = rest()
    with patch("aiohttp.web.run_app") as mock:
        result = runner.invoke(cli, ["serve", "--index", "1"])
        assert result.exit_code == 0
        assert mock.call_count == 1
        app = mock.call_args[0][0]
        assert app.router is not None
        assert app["index"] == 1
        assert logger.level == logging.INFO
Beispiel #3
0
def test_serve():
    runner = CliRunner()
    cli = rest(base_path="/v1")
    with patch("aiohttp.web.run_app") as mock:
        with patch("openapi.logger.logger.hasHandlers") as hasHandlers:
            hasHandlers.return_value = False
            with patch("openapi.logger.logger.addHandler") as addHandler:
                result = runner.invoke(cli, ["serve"])
                assert result.exit_code == 0
                assert mock.call_count == 1
                assert addHandler.call_count == 1
Beispiel #4
0
def test_serve():
    runner = CliRunner()
    cli = rest(base_path="/v1")
    with patch("aiohttp.web.run_app") as mock:
        result = runner.invoke(cli, ["--quiet", "serve"])
        assert result.exit_code == 0
        assert mock.call_count == 1
        app = mock.call_args[0][0]
        assert app.router is not None
        assert logger.level == logging.ERROR

    with patch("aiohttp.web.run_app") as mock:
        result = runner.invoke(cli, ["--verbose", "serve"])
        assert result.exit_code == 0
        assert mock.call_count == 1
        app = mock.call_args[0][0]
        assert app.router is not None
        assert logger.level == logging.DEBUG
Beispiel #5
0
def create_app():
    return rest(
        openapi=dict(title="Test API"),
        security=dict(
            auth_key={
                "type":
                "apiKey",
                "name":
                "X-Meta-Api-Key",
                "description": (
                    "The authentication key is required to access most "
                    "endpoints of the API"),
                "in":
                "header",
            }),
        setup_app=setup_app,
        commands=[db_command],
        redoc=Redoc(),
    )
Beispiel #6
0
def test_commands():
    runner = CliRunner()
    cli = rest(base_path="/v1", commands=[hello])
    result = runner.invoke(cli, ["hello"])
    assert result.exit_code == 0
    assert result.output.startswith("Hello!")
Beispiel #7
0
def test_version_openapi():
    runner = CliRunner()
    result = runner.invoke(
        rest(openapi=dict(title="Test Version", version="1.0")), ["--version"])
    assert result.exit_code == 0
    assert result.output.startswith("Test Version 1.0")
Beispiel #8
0
def test_version():
    runner = CliRunner()
    result = runner.invoke(rest(), ["--version"])
    assert result.exit_code == 0
    assert result.output.startswith("Open API")
Beispiel #9
0
def test_usage():
    runner = CliRunner()
    result = runner.invoke(rest())
    assert result.exit_code == 0
    assert result.output.startswith("Usage:")