Exemple #1
0
def fastapi_client():
    from daemon import _get_app

    app = _get_app()
    tc = TestClient(app)
    yield tc
    del tc
Exemple #2
0
def fastapi_client():
    from daemon import __root_workspace__

    pathlib.Path(__root_workspace__).mkdir(parents=True, exist_ok=True)
    from daemon import _get_app

    app = _get_app()
    tc = TestClient(app)
    yield tc
    del tc
Exemple #3
0
def get_partial_client(mode, monkeypatch):
    from daemon import __root_workspace__

    pathlib.Path(__root_workspace__).mkdir(parents=True, exist_ok=True)
    from daemon import _get_app
    from daemon.models.enums import PartialDaemonModes
    from daemon import jinad_args
    from daemon import stores
    from importlib import reload

    jinad_args.mode = PartialDaemonModes(mode)

    reload(stores)
    app = _get_app(mode=mode)
    tc = TestClient(app)
    yield tc
    del tc
from jina.peapods.runtimes.gateway.http.app import get_fastapi_app

JINA_LOGO_URL = 'https://api.jina.ai/logo/logo-product/jina-core/horizontal-layout/colored/Product%20logo_Core_vertical_colorful%402x-margin.png'
DAEMON_SCHEMA_FILENAME = 'daemon.json'
GATEWAY_SCHEMA_FILENAME = 'gateway.json'

args = set_gateway_parser().parse_args([])
logger = JinaLogger('')
gateway_app = get_fastapi_app(args, logger)
gateway_schema = gateway_app.openapi()
gateway_schema['info']['x-logo'] = {'url': JINA_LOGO_URL}
gateway_schema['servers'] = []
gateway_schema['servers'].append({
    'url': f'http://localhost:{args.port_expose}',
    'description': 'Local Jina gateway'
})
with open(GATEWAY_SCHEMA_FILENAME, 'w') as f:
    json.dump(gateway_schema, f)

args = get_main_parser().parse_args([])
daemon_app = _get_app()
daemon_schema = daemon_app.openapi()
daemon_schema['info']['x-logo'] = {'url': JINA_LOGO_URL}
daemon_schema['servers'] = []
daemon_schema['servers'].append({
    'url': f'http://localhost:{args.port}',
    'description': 'Local JinaD server'
})
with open(DAEMON_SCHEMA_FILENAME, 'w') as f:
    json.dump(daemon_schema, f)
Exemple #5
0
def fastapi_client():
    from daemon import _get_app
    app = _get_app()
    client = TestClient(app)
    return client
Exemple #6
0
def test_get_app_flow(monkeypatch, common_endpoints, flow_endpoints):
    monkeypatch.setattr(jinad_config, 'CONTEXT', 'flow')
    routes = [(route.name, route.path) for route in _get_app().routes]
    assert sorted(routes) == sorted(common_endpoints + flow_endpoints)