Exemplo n.º 1
0
def test_run_test():
    assert isinstance(get_logger('a'), logging.Logger)
Exemplo n.º 2
0
 * teardown function: callable that stops a service and joins the thread
 * teardown adapter: registers a given teardown function in the adapted backend (eg. signal or atexit)

"""

import abc
import atexit
import threading
import typing
import signal as signallib

from gobcore.message_broker import messagedriven_service

from gobapi.logger import get_logger

logger = get_logger("API")

TeardownFunc = typing.Callable[[], None]
TeardownAdapter = typing.Callable[[TeardownFunc], None]
AdapterList = typing.List[TeardownAdapter]


def _create_teardown_adapter(adapter_func, *args, **kwargs) -> TeardownAdapter:
    """ Factory function for teardown adapters.
        Restricts how adapters can be used.
    """
    return lambda teardown_func: adapter_func(teardown_func, *args, **kwargs)


def _signal_adapter(func: TeardownFunc,
                    backend=signallib,
Exemplo n.º 3
0
def test_run_prod(mock):
    mock.return_value = 'PRODUCTION'
    assert isinstance(get_logger("a"), Logger)
Exemplo n.º 4
0
import json
from typing import Optional

from flask import request, jsonify
from sqlalchemy.sql import text

from gobapi.graphql_streaming.graphql2sql.graphql2sql import (
    GraphQL2SQL, NoAccessException, InvalidQueryException)
from gobapi.graphql_streaming.response_custom import \
    GraphQLCustomStreamingResponseBuilder
from gobapi.logger import get_logger
from gobapi.session import get_session
from gobapi.context import get_request_id
from gobapi.worker.response import WorkerResponse

logger = get_logger(__name__)


class GraphQLStreamingApi:
    """Returns data on a long living open connection."""
    def _get_query(self) -> Optional[str]:
        query = request.args.get('query')
        if query:
            return query

        if request.data:
            # Compatible with existing GOB export code
            request_data = json.loads(request.data.decode('utf-8'))
            return request_data['query']

        return None