예제 #1
0
def test_truncate_response_to_string_casting(handler, logger, response_in,
                                             expected_response_out):

    filter_ = filters.TruncateResponseFilter(entrypoints=['spam'], max_len=24)

    logger.addFilter(filter_)

    extra = {
        constants.TRACE_KEY: {
            constants.STAGE_KEY: constants.Stage.response.value,
            constants.ENTRYPOINT_NAME_KEY: 'spam',
            constants.RESPONSE_KEY: response_in,
        },
    }

    logger.info('response', extra=extra)

    data = getattr(handler.log_record, constants.TRACE_KEY)

    assert data[constants.RESPONSE_KEY] == expected_response_out
예제 #2
0
def test_truncate_response_ignores_error_response(handler, logger):

    filter_ = filters.TruncateResponseFilter(entrypoints=['^spam'], max_len=5)

    logger.addFilter(filter_)

    extra = {
        constants.TRACE_KEY: {
            constants.STAGE_KEY: constants.Stage.response.value,
            constants.ENTRYPOINT_NAME_KEY: 'spam',
            constants.RESPONSE_STATUS_KEY: constants.Status.error.value,
        },
    }

    logger.info('response', extra=extra)

    data = getattr(handler.log_record, constants.TRACE_KEY)

    assert constants.RESPONSE_TRUNCATED_KEY not in data
    assert constants.RESPONSE_LENGTH_KEY not in data
    assert constants.REQUEST_TRUNCATED_KEY not in data
    assert constants.REQUEST_LENGTH_KEY not in data
예제 #3
0
def test_truncate_response(handler, logger, entrypoints, max_len,
                           expected_response, expected_response_length,
                           truncated):

    filter_ = filters.TruncateResponseFilter(entrypoints=entrypoints,
                                             max_len=max_len)

    logger.addFilter(filter_)

    extra = {
        constants.TRACE_KEY: {
            constants.STAGE_KEY: constants.Stage.response.value,
            constants.ENTRYPOINT_NAME_KEY: 'spam',
            constants.RESPONSE_KEY: '123456789',
        },
    }

    logger.info('response', extra=extra)

    data = getattr(handler.log_record, constants.TRACE_KEY)

    assert data[constants.RESPONSE_KEY] == expected_response
    assert data.get(constants.RESPONSE_TRUNCATED_KEY, False) == truncated
    assert data.get(constants.RESPONSE_LENGTH_KEY) == expected_response_length