Example #1
0
def test_process_greenlets():
    from shadow.proxy.web import ProxyFlask
    from shadow.proxy.web import AbstractResultsLogger
    import gevent

    svc = mock.Mock()

    mock_result_logger = mock.Mock(spec=AbstractResultsLogger)

    app = ProxyFlask(svc, ['localhost'], ['localhost'],
                     result_loggers=[mock_result_logger])

    req, expected_req = _mock_request()

    resp, expected_resp, elapsed_time = _mock_response()
    resp2, expected_resp2, elapsed_time2 = _mock_response()

    ident = lambda x: x

    greenlets = [
        gevent.spawn(ident, x)
        for x in [(resp, elapsed_time), (resp2, elapsed_time2)]
    ]

    app.process_greenlets(
        app.format_request(req.path, req.method, req.headers, req.args,
                           req.form, req), greenlets)

    mock_result_logger.log_result.assert_called_with({
        'request': {
            'original': expected_req,
            'modified': expected_req
        },
        'results': [expected_resp, expected_resp2]
    })
Example #2
0
def test_format_request():
    from shadow.proxy.web import ProxyFlask
    svc = mock.Mock()

    app = ProxyFlask(
        svc,
        ['localhost'],
        ['localhost']
    )

    req, expected = _mock_request()

    eq_(app.format_request(req.path, req.method, req.headers, req.args, req.form, req), {'original': expected, 'modified': expected})
Example #3
0
def test_format_request():
    from shadow.proxy.web import ProxyFlask
    svc = mock.Mock()

    app = ProxyFlask(svc, ['localhost'], ['localhost'])

    req, expected = _mock_request()

    eq_(
        app.format_request(req.path, req.method, req.headers, req.args,
                           req.form, req), {
                               'original': expected,
                               'modified': expected
                           })
Example #4
0
def test_process_greenlets():
    from shadow.proxy.web import ProxyFlask
    from shadow.proxy.web import AbstractResultsLogger
    import gevent

    svc = mock.Mock()

    mock_result_logger = mock.Mock(spec=AbstractResultsLogger)

    app = ProxyFlask(
        svc,
        ['localhost'],
        ['localhost'],
        result_loggers=[mock_result_logger]
    )

    req, expected_req = _mock_request()

    resp, expected_resp, elapsed_time = _mock_response()
    resp2, expected_resp2, elapsed_time2 = _mock_response()

    ident = lambda x: x

    greenlets = [gevent.spawn(ident, x) for x in [(resp, elapsed_time), (resp2, elapsed_time2)]]

    app.process_greenlets(app.format_request(req.path, req.method, req.headers, req.args, req.form, req), greenlets)

    mock_result_logger.log_result.assert_called_with({
            'request': {
                'original': expected_req,
                'modified': expected_req
            },
            'results': [
                expected_resp,
                expected_resp2
            ]
        })