コード例 #1
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_delete_cookie():
    response = Response()
    response.set_cookie('name', 'value')
    response.delete_cookie('name')
    cookies = [value for name, value in response.headerlist
               if name.title() == 'Set-Cookie']
    assert 'name=;' in cookies[0] or 'name="";' in cookies[0]
コード例 #2
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_set_cookie_httponly():
    r = Response()
    r.set_cookie('name1', 'value', httponly=True)
    r.set_cookie('name2', 'value', httponly=False)
    cookies = sorted([value for name, value in r.headerlist
               if name.title() == 'Set-Cookie'])
    assert cookies[0].lower() == 'name1=value; httponly'
    assert cookies[1] == 'name2=value'
コード例 #3
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_set_cookie_expires():
    r = Response()
    r.set_cookie('name1', 'value', expires=42)
    r.set_cookie('name2', 'value', expires=datetime.datetime(1970,1,1,0,0,43))
    cookies = sorted([value for name, value in r.headerlist
               if name.title() == 'Set-Cookie'])
    assert cookies[0] == 'name1=value; expires=Thu, 01 Jan 1970 00:00:42 GMT'
    assert cookies[1] == 'name2=value; expires=Thu, 01 Jan 1970 00:00:43 GMT'
コード例 #4
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_set_cookie_maxage():
    import datetime
    r = Response()
    r.set_cookie('name1', 'value', max_age=5)
    r.set_cookie('name2', 'value', max_age=datetime.timedelta(days=1))
    cookies = sorted([value for name, value in r.headerlist
               if name.title() == 'Set-Cookie'])
    assert cookies[0] == 'name1=value; Max-Age=5'
    assert cookies[1] == 'name2=value; Max-Age=86400'
コード例 #5
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_append_header():
    response = Response()
    response.set_header('x-test', 'foo')
    headers = [value for name, value in response.headerlist
               if name.title() == 'X-Test']
    assert ['foo'] == headers
    assert 'foo' == response['x-test']

    response.add_header('X-Test', 'bar')
    headers = [value for name, value in response.headerlist
               if name.title() == 'X-Test']
    assert ['foo', 'bar'] == headers
    assert 'foo' == response['x-test']
コード例 #6
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_expires_header():
    import datetime
    response = Response()
    now = datetime.datetime.now()
    response.expires = now

    def seconds(a, b):
        td = max(a,b) - min(a,b)
        return td.days*360*24 + td.seconds

    assert 0 == seconds(response.expires, now)
    now2 = datetime.datetime.utcfromtimestamp(
        parse_date(response.headers['Expires']))
    assert 0 == seconds(now, now2)
コード例 #7
0
ファイル: test_response.py プロジェクト: txjzwzz/flagon
def test_set_cookie():
    r = Response()
    r.set_cookie('name1', 'value', max_age=5)
    r.set_cookie('name2', 'value 2', path='/foo')
    r.set_cookie('name4', 'value4', secret=True)
    with pytest.raises(TypeError):
        r.set_cookie('name3', 3)

    cookies = [value for name, value in r.headerlist
               if name.title() == 'Set-Cookie']
    cookies.sort()
    assert cookies[0] == 'name1=value; Max-Age=5'
    assert cookies[1] == 'name2="value 2"; Path=/foo'