Example #1
0
    def setUp(self):
        self._loop = asyncio.get_event_loop()
        self._loop.set_debug(True)

        self._temp_path = tempfile.mkdtemp(prefix='nuclio-test-py-wrapper')

        # write handler to temp path
        self._handler_path = self._write_handler(self._temp_path)

        # set PYTHONPATH to include temp path
        sys.path.append(self._temp_path)

        # generate socket path
        self._socket_path = os.path.join(self._temp_path, 'nuclio.sock')

        # create transport
        self._unix_stream_server = self._create_unix_stream_server(self._socket_path)

        # create logger
        self._logger = nuclio_sdk.Logger(logging.DEBUG)
        self._logger.set_handler('test-default', sys.stdout, nuclio_sdk.logger.HumanReadableFormatter())

        self._platform_kind = 'test'
        self._default_test_handler = 'reverser:handler'

        # create a wrapper
        self._wrapper = wrapper.Wrapper(self._logger,
                                        self._loop,
                                        self._default_test_handler,
                                        self._socket_path,
                                        self._platform_kind,
                                        decode_event_strings=self._decode_event_strings)
        self._loop.run_until_complete(self._wrapper.initialize())
Example #2
0
def test_face_prediction():
    f = open("image.txt", "r")
    image = f.readline()
    f.close()
    logger = nuclio_sdk.Logger(level=logging.INFO)
    ctx = nuclio_sdk.Context(logger=logger)
    event = nuclio_sdk.Event(body=image)
    handler(ctx, event)
Example #3
0
    def __init__(self):
        self._logger = nuclio_sdk.Logger(logging.DEBUG, "mock_platform")
        self._logger.set_handler("default", sys.stdout,
                                 nuclio_sdk.logger.HumanReadableFormatter())

        self._handler_contexts = {}
        self._call_function_mock = unittest.mock.MagicMock()
        self._kind = "test"

        # for tests that need a context
        self._context = nuclio_sdk.Context(self._logger, self)
Example #4
0
def chain_call_function_mock(name,
                             event,
                             node=None,
                             timeout=None,
                             service_name_override=None):
    logger = nuclio_sdk.Logger(level=logging.DEBUG)
    logger.set_handler('default', sys.stdout,
                       nuclio_sdk.logger.HumanReadableFormatter())
    logger.debug_with("Call function mock called",
                      name=name,
                      service_name_override=service_name_override)
    if name == "face_prediction":
        nuclio_plat = nuclio_sdk.test.Platform()
        return nuclio_plat.call_handler(functions.face_prediction.handler,
                                        event)
    raise RuntimeError(
        'Call function called with unexpected function name: {0}'.format(name))
Example #5
0
    def setUp(self):
        self._temp_path = tempfile.mkdtemp(prefix='nuclio-test-py-wrapper')

        # write handler to temp path
        self._handler_path = self._write_handler(self._temp_path)

        # set PYTHONPATH to include temp path
        sys.path.append(self._temp_path)

        # generate socket path
        self._socket_path = os.path.join(self._temp_path, 'nuclio.sock')

        # create transport
        self._unix_stream_server = self._create_unix_stream_server(
            self._socket_path)

        # create logger
        self._logger = nuclio_sdk.Logger(logging.DEBUG)
        self._logger.set_handler('test-default', sys.stdout,
                                 nuclio_sdk.logger.HumanReadableFormatter())

        # create a wrapper
        self._wrapper = wrapper.Wrapper(self._logger, 'reverser:handler',
                                        self._socket_path, 'test')
Example #6
0
def create_logger(level):
    """Create a logger that emits JSON to stdout"""

    return nuclio_sdk.Logger(level)