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')
"""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)
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()