Exemple #1
0
def test_response_update_from_objects_cookies():
    r = http.Response(('HTTP/1.1 200 OK\r\n'
                       'Set-Cookie: foo=bar\r\n'
                       'Set-Cookie: baz=buzz\r\n'
                       'Header: out of f*****g nowhere\r\n'
                       'Set-Cookie: foo=buzz\r\n'
                       '\r\n'))
    expected_pairs = [('foo', 'bar'), ('baz', 'buzz'), ('foo', 'buzz')]
    check_response_cookies(expected_pairs, r)

    new_pairs = [('foo', http.ResponseCookie('foo=banana')),
                 ('baz', http.ResponseCookie('baz=buzz')),
                 ('scooby', http.ResponseCookie('scooby=doo')),
                 ('foo', http.ResponseCookie('foo=boo'))]
    r.cookies.clear()
    r.cookies.add_pairs(new_pairs)

    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Header: out of f*****g nowhere\r\n'
                               'Set-Cookie: foo=banana\r\n'
                               'Set-Cookie: baz=buzz\r\n'
                               'Set-Cookie: scooby=doo\r\n'
                               'Set-Cookie: foo=boo\r\n'
                               '\r\n')
    expected_pairs = [('foo', 'banana'), ('baz', 'buzz'), ('scooby', 'doo'),
                      ('foo', 'boo')]
    check_response_cookies(expected_pairs, r)
Exemple #2
0
def test_response_set_cookie():
    r = http.Response(('HTTP/1.1 200 OK\r\n' 'Content-Length: 0\r\n'))
    r.set_cookie(http.ResponseCookie('foo=bar'))
    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Content-Length: 0\r\n'
                               'Set-Cookie: foo=bar\r\n\r\n')

    r.set_cookie(http.ResponseCookie('foo=baz'))
    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Content-Length: 0\r\n'
                               'Set-Cookie: foo=baz\r\n\r\n')
Exemple #3
0
def test_response_cookie_parsing():
    s = 'ck=1234=567;Expires=Wed, 09 Jun 2021 10:18:14 GMT;secure;httponly;path=/;max-age=12;domain=.foo.bar'
    c = http.ResponseCookie(s)
    assert c.key == 'ck'
    assert c.val == '1234=567'
    assert c.domain == '.foo.bar'
    assert c.expires == 'Wed, 09 Jun 2021 10:18:14 GMT'
    assert c.http_only
    assert c.max_age == 12
    assert c.path == '/'
    assert c.secure
Exemple #4
0
def test_response_cookie_simple():
    s = 'ck=1234;'
    c = http.ResponseCookie(s)
    assert c.key == 'ck'
    assert c.val == '1234'
    assert not c.secure
    assert not c.http_only
    assert c.domain is None
    assert c.expires is None
    assert c.max_age is None
    assert c.path is None
Exemple #5
0
def test_response_cookie_blank():
    # Don't ask why this exists, I've run into it
    s = ' ; path=/; secure'
    c = http.ResponseCookie(s)
    assert c.key == ''
    assert c.val == ''
    assert c.path == '/'
    assert c.secure

    s = '; path=/; secure'
    c = http.ResponseCookie(s)
    assert c.key == ''
    assert c.val == ''
    assert c.path == '/'
    assert c.secure

    s = 'asdf; path=/; secure'
    c = http.ResponseCookie(s)
    assert c.key == 'asdf'
    assert c.val == ''
    assert c.path == '/'
    assert c.secure
Exemple #6
0
def test_response_update_from_objects_cookies_replace():
    r = http.Response(('HTTP/1.1 200 OK\r\n'
                       'Set-Cookie: foo=bar\r\n'
                       'Set-Cookie: baz=buzz\r\n'
                       'Header: out of f*****g nowhere\r\n'
                       'Set-Cookie: foo=buzz\r\n'
                       '\r\n'))
    expected_pairs = [('foo', 'bar'), ('baz', 'buzz'), ('foo', 'buzz')]
    check_response_cookies(expected_pairs, r)

    r.cookies['foo'] = http.ResponseCookie('foo=banana')

    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Set-Cookie: foo=banana\r\n'
                               'Set-Cookie: baz=buzz\r\n'
                               'Header: out of f*****g nowhere\r\n'
                               '\r\n')
Exemple #7
0
def test_response_update_cookies():
    r = http.Response()
    r.start_line = 'HTTP/1.1 200 OK'
    # Test by adding headers
    r.headers['Set-Cookie'] = 'abc=123'
    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Set-Cookie: abc=123\r\n\r\n')
    assert r.cookies['abc'].val == '123'
    r.headers.append('Set-Cookie', 'abc=456')
    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Set-Cookie: abc=123\r\n'
                               'Set-Cookie: abc=456\r\n\r\n')
    assert r.cookies['abc'].val == '456'

    r = http.Response()
    r.start_line = 'HTTP/1.1 200 OK'
    # Test by adding cookie objects
    c = http.ResponseCookie('abc=123; secure')
    r.cookies['abc'] = c
    assert r.full_response == ('HTTP/1.1 200 OK\r\n'
                               'Set-Cookie: abc=123; secure\r\n\r\n')