예제 #1
0
def test_calling_on_response_with_invalid_response_headers(
        websocket, payload, expected_error):
    response = Response(payload)
    with pytest.raises(HandshakeError) as e:
        websocket.on_response(response)

    assert str(e.value) == expected_error
def test_parsing_of_headers():
    headers = (b'GET HTTP/1.1\r\nContent-Type:ascii\r\n'
               b'Array:Item-1\r\nArray:Item-2\r\n'
               b'extended:foo\r\n  bar')

    r = Response(headers)

    assert r.get('content-type') == 'ascii'
    assert r.get('array') == 'Item-1,Item-2'
    assert r.get_list('array') == ['Item-1', 'Item-2']
    assert r.get_list('no-such-header') == []
    assert r.get('extended') == 'foo bar'
    assert r.get('no-such-header') is None
def test_constructor():
    r = Response(b'\r\n')
    assert isinstance(r, Response)
def test_repr():
    r = Response(b'HTTP/1.1 418 OK')
    assert repr(r) == '<response HTTP/1.1 418 OK>'
def test_header_name_must_not_be_passed_as_bytes():
    headers = b'GET HTTP/1.1\r\nHeader:value\r\n\r\n'
    r = Response(headers)
    with pytest.raises(AssertionError):
        r.get(b'header')
예제 #6
0
def test_header_name_must_be_passed_as_bytes():
    headers = b'GET HTTP/1.1\r\nHeader:value\r\n\r\n'
    r = Response(headers)

    with pytest.raises(Exception):
        r.get(u'header')