from pathlib import Path

from fastapi_serviceutils import make_app
from fastapi_serviceutils.utils.tests.endpoints import json_endpoint

from app import __version__
from app.endpoints import ENDPOINTS


app = make_app(
    config_path=Path('app/config.yml'),
    version=__version__,
    endpoints=ENDPOINTS,
    enable_middlewares=[],
    additional_middlewares=[],
)


def test_endpoint_{{cookiecutter.endpoint}}():
    """Test if endpoints "/api/v1/{{cookiecutter.endpoint}}/" and "/api/latest/{{cookiecutter.endpoint}}/" work as expected."""
    for endpoint in [
            '/api/v1/{{cookiecutter.endpoint}}/',
            '/api/latest/{{cookiecutter.endpoint}}/'
    ]:
        json_endpoint(
            application=app,
            endpoint=endpoint,
            expected={'msg': 'test'},
            payload={'msg': 'test'}
        )
from pathlib import Path
from typing import Any

from pydantic import BaseModel
from pydantic import Schema
from starlette.testclient import TestClient

from fastapi_serviceutils import make_app
from fastapi_serviceutils.utils.external_resources.services import call_service

app = make_app(
    config_path=Path('tests/configs/config.yml'),
    version='0.1.0',
    endpoints=[],
    enable_middlewares=[],
    additional_middlewares=[],
)


class ExampleModel(BaseModel):
    args: dict
    data: str
    files: dict
    form: dict
    headers: dict
    origin: str
    url: str
    json_: Any = Schema(None, alias='json')


@app.post('/test')
Пример #3
0
"""Glue all parts of the exampleservice together.

Set up the app for the exampleservice.
"""
from pathlib import Path
from typing import NoReturn

from fastapi_serviceutils import make_app

from app import __version__
from app.endpoints import ENDPOINTS

app = make_app(
    config_path=Path(__file__).with_name("config.yml"),
    version=__version__,
    endpoints=ENDPOINTS,
    enable_middlewares=["trusted_hosts", "log_exception"],
    additional_middlewares=[],
)


def main() -> NoReturn:
    """Use for entrypoint of package.

    Start the service using uvicorn.
    """
    import uvicorn

    uvicorn.run(app, host="0.0.0.0", port=app.config.service.port)

Пример #4
0
from pathlib import Path
from typing import NoReturn

from app import __version__
from app.endpoints import ENDPOINTS

from fastapi_serviceutils import make_app

app = make_app(
    config_path=Path(__file__).with_name('config.yml'),
    version=__version__,
    endpoints=ENDPOINTS,
    enable_middlewares=['trusted_hosts',
                        'log_exception'],
    additional_middlewares=[]
)


def main() -> NoReturn:
    import uvicorn
    uvicorn.run(app, host='0.0.0.0', port=app.config.service.port)


if __name__ == '__main__':
    main()