def function2348(function1720, function596):
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'upgrade')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'upgrade'),
                                 ('Sec-Websocket-Version', '1')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
def test_protocol_version(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '1')])

    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def test_protocol_version(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '1')])

    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
Example #4
0
def test_handshake_compress_bad_ext(message, transport):
    hdrs, sec_key = gen_ws_headers(compress=15, extension_text='bad')

    message.headers.extend(hdrs)

    status, headers, parser, writer, protocol, compress = do_handshake(
        message.method, message.headers, transport)

    headers = dict(headers)
    assert 'Sec-Websocket-Extensions' not in headers
    assert compress == 0
def function975(function1720, function596):
    'Tests if the right protocol is selected given multiple'
    var68 = 'worse_proto'
    var688 = ['best', 'chat', 'worse_proto']
    var777 = 'worse_proto,chat'
    function1720.headers.extend(function2240(var777)[0])
    (var2450, var4433, var2450, var2450,
     var4712) = do_handshake(function1720.method,
                             function1720.headers,
                             function596,
                             protocols=var688)
    assert (var4712 == var68)
Example #6
0
def test_handshake_compress_multi_ext_bad(message, transport):
    hdrs, sec_key = gen_ws_headers(compress=15,
                                   extension_text='bad, permessage-deflate')

    message.headers.extend(hdrs)

    status, headers, parser, writer, protocol, compress = do_handshake(
        message.method, message.headers, transport)

    headers = dict(headers)
    assert 'Sec-Websocket-Extensions' in headers
    assert headers['Sec-Websocket-Extensions'] == 'permessage-deflate'
Example #7
0
def test_handshake_compress_wbits(message, transport):
    hdrs, sec_key = gen_ws_headers(compress=9)

    message.headers.extend(hdrs)
    status, headers, parser, writer, protocol, compress = do_handshake(
        message.method, message.headers, transport)

    headers = dict(headers)
    assert 'Sec-Websocket-Extensions' in headers
    assert headers['Sec-Websocket-Extensions'] == (
        'permessage-deflate; server_max_window_bits=9')
    assert compress == 9
def function2558(function1720, function596):
    'Tests if one protocol is returned by do_handshake'
    var1535 = 'chat'
    function1720.headers.extend(function2240(var1535)[0])
    (var793, var2315, var793, var793,
     var1343) = do_handshake(function1720.method,
                             function1720.headers,
                             function596,
                             protocols=[var1535])
    assert (var1343 == var1535)
    var2315 = dict(var2315)
    assert (var2315['Sec-Websocket-Protocol'] == var1535)
def test_handshake(message, transport):
    hdrs, sec_key = gen_ws_headers()

    message.headers.extend(hdrs)
    status, headers, parser, writer, protocol = do_handshake(
        message.method, message.headers, transport)
    assert status == 101
    assert protocol is None

    key = base64.b64encode(hashlib.sha1(sec_key.encode() + WS_KEY).digest())
    headers = dict(headers)
    assert headers['Sec-Websocket-Accept'] == key.decode()
def function466(function1720, function596):
    (var2670, var597) = function2240()
    function1720.var4463.extend(var2670)
    (var623, var4463, var3037, var603,
     var3161) = do_handshake(function1720.method, function1720.var4463,
                             function596)
    assert (var623 == 101)
    assert (var3161 is None)
    var4577 = base64.b64encode(
        hashlib.sha1((var597.encode() + WS_KEY)).digest())
    var4463 = dict(var4463)
    assert (var4463['Sec-Websocket-Accept'] == var4577.decode())
def test_handshake_protocol_agreement(message, transport):
    '''Tests if the right protocol is selected given multiple'''
    best_proto = 'worse_proto'
    wanted_protos = ['best', 'chat', 'worse_proto']
    server_protos = 'worse_proto,chat'

    message.headers.extend(gen_ws_headers(server_protos)[0])
    _, resp_headers, _, _, protocol = do_handshake(
        message.method, message.headers, transport,
        protocols=wanted_protos)

    assert protocol == best_proto
Example #12
0
def test_handshake_protocol_agreement(message, transport):
    '''Tests if the right protocol is selected given multiple'''
    best_proto = 'worse_proto'
    wanted_protos = ['best', 'chat', 'worse_proto']
    server_protos = 'worse_proto,chat'

    message.headers.extend(gen_ws_headers(server_protos)[0])
    _, resp_headers, _, _, protocol, _ = do_handshake(
        message.method, message.headers, transport,
        protocols=wanted_protos)

    assert protocol == best_proto
Example #13
0
def test_handshake_compress_client_notakeover(message, transport):
    hdrs, sec_key = gen_ws_headers(compress=15, client_notakeover=True)

    message.headers.extend(hdrs)
    status, headers, parser, writer, protocol, compress = do_handshake(
        message.method, message.headers, transport)

    headers = dict(headers)
    assert 'Sec-Websocket-Extensions' in headers
    assert headers['Sec-Websocket-Extensions'] == (
        'permessage-deflate'), hdrs

    assert compress == 15
def function2787(arg2248, function1720, function596):
    'Tests if a protocol mismatch handshake warns and returns None'
    var3592 = 'chat'
    function1720.headers.extend(function2240('test')[0])
    with arg2248('aiohttp.websocket') as var1878:
        (var424, var424, var424, var424,
         var789) = do_handshake(function1720.method,
                                function1720.headers,
                                function596,
                                protocols=[var3592])
        assert (var789 is None)
    assert (var1878.records[(
        -1)].msg == 'Client protocols %r don’t overlap server-known ones %r')
def test_handshake(message, transport):
    hdrs, sec_key = gen_ws_headers()

    message.headers.extend(hdrs)
    status, headers, parser, writer, protocol = do_handshake(
        message.method, message.headers, transport)
    assert status == 101
    assert protocol is None

    key = base64.b64encode(
        hashlib.sha1(sec_key.encode() + WS_KEY).digest())
    headers = dict(headers)
    assert headers['Sec-Websocket-Accept'] == key.decode()
def test_handshake_protocol_unsupported(log, message, transport):
    '''Tests if a protocol mismatch handshake warns and returns None'''
    proto = 'chat'
    message.headers.extend(gen_ws_headers('test')[0])

    with log('aiohttp.websocket') as ctx:
        _, _, _, _, protocol = do_handshake(
            message.method, message.headers, transport,
            protocols=[proto])

        assert protocol is None
    assert (ctx.records[-1].msg ==
            'Client protocols %r don’t overlap server-known ones %r')
Example #17
0
def test_handshake_protocol_unsupported(log, message, transport):
    '''Tests if a protocol mismatch handshake warns and returns None'''
    proto = 'chat'
    message.headers.extend(gen_ws_headers('test')[0])

    with log('aiohttp.websocket') as ctx:
        _, _, _, _, protocol, _ = do_handshake(
            message.method, message.headers, transport,
            protocols=[proto])

        assert protocol is None
    assert (ctx.records[-1].msg ==
            'Client protocols %r don’t overlap server-known ones %r')
def test_handshake_protocol(message, transport):
    '''Tests if one protocol is returned by do_handshake'''
    proto = 'chat'

    message.headers.extend(gen_ws_headers(proto)[0])
    _, resp_headers, _, _, protocol = do_handshake(
        message.method, message.headers, transport,
        protocols=[proto])

    assert protocol == proto

    # also test if we reply with the protocol
    resp_headers = dict(resp_headers)
    assert resp_headers['Sec-Websocket-Protocol'] == proto
Example #19
0
def test_handshake_protocol(message, transport):
    '''Tests if one protocol is returned by do_handshake'''
    proto = 'chat'

    message.headers.extend(gen_ws_headers(proto)[0])
    _, resp_headers, _, _, protocol, _ = do_handshake(
        message.method, message.headers, transport,
        protocols=[proto])

    assert protocol == proto

    # also test if we reply with the protocol
    resp_headers = dict(resp_headers)
    assert resp_headers['Sec-Websocket-Protocol'] == proto
def function2444(function1720, function596):
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'upgrade'),
                                 ('Sec-Websocket-Version', '13')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'upgrade'),
                                 ('Sec-Websocket-Version', '13'),
                                 ('Sec-Websocket-Key', '123')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
    var3913 = base64.b64encode(os.urandom(2))
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'upgrade'),
                                 ('Sec-Websocket-Version', '13'),
                                 ('Sec-Websocket-Key', var3913.decode())])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
def test_protocol_key(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13'),
                            ('Sec-Websocket-Key', '123')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    sec_key = base64.b64encode(os.urandom(2))
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13'),
                            ('Sec-Websocket-Key', sec_key.decode())])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def test_protocol_key(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13'),
                            ('Sec-Websocket-Key', '123')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)

    sec_key = base64.b64encode(os.urandom(2))
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'upgrade'),
                            ('Sec-Websocket-Version', '13'),
                            ('Sec-Websocket-Key', sec_key.decode())])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def test_not_get(message, transport):
    with pytest.raises(http_exceptions.HttpProcessingError):
        do_handshake('POST', message.headers, transport)
def test_no_connection(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'keep-alive')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def test_no_upgrade(message, transport):
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def test_not_get(message, transport):
    with pytest.raises(http_exceptions.HttpProcessingError):
        do_handshake('POST', message.headers, transport)
def function2321(function1720, function596):
    function1720.headers.extend([('Upgrade', 'websocket'),
                                 ('Connection', 'keep-alive')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
def test_no_connection(message, transport):
    message.headers.extend([('Upgrade', 'websocket'),
                            ('Connection', 'keep-alive')])
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def function2181(function1720, function596):
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(function1720.method, function1720.headers, function596)
def test_no_upgrade(message, transport):
    with pytest.raises(http_exceptions.HttpBadRequest):
        do_handshake(message.method, message.headers, transport)
def function1224(function1720, function596):
    with pytest.raises(http_exceptions.HttpProcessingError):
        do_handshake('POST', function1720.headers, function596)