debian-quixote3/quixote/test/test_request.py

47 lines
1.7 KiB
Python
Executable File

from quixote.test.utest import UTest
from quixote.http_request import parse_cookies
class ParseCookiesTest (UTest):
def check_basic(self):
assert parse_cookies('a') == {'a': ''}
assert parse_cookies('a = ') == {'a': ''}
assert parse_cookies('a = ""') == {'a': ''}
assert parse_cookies(r'a = "\""') == {'a': '"'}
assert parse_cookies('a, b; c') == {'a': '', 'b': '', 'c': ''}
assert parse_cookies('a, b=1') == {'a': '', 'b': '1'}
assert parse_cookies('a = ";, \t";') == {'a': ';, \t'}
def check_rfc2109_example(self):
s = ('$Version="1"; Customer="WILE_E_COYOTE"; $Path="/acme"; '
'Part_Number="Rocket_Launcher_0001"; $Path="/acme"')
result = {'Customer': 'WILE_E_COYOTE',
'Part_Number': 'Rocket_Launcher_0001',
}
assert parse_cookies(s) == result
def check_other(self):
s = 'PREF=ID=0a06b1:TM=108:LM=1069:C2COFF=1:S=ETXrcU'
result = {'PREF': 'ID=0a06b1:TM=108:LM=1069:C2COFF=1:S=ETXrcU'}
assert parse_cookies(s) == result
s = 'pageColor=White; pageWidth=990; fontSize=12; fontFace=1; E=E'
assert parse_cookies(s) == {'pageColor': 'White',
'pageWidth': '990',
'fontSize': '12',
'fontFace': '1',
'E': 'E'}
s = 'userid="joe"; QX_session="58a3ced39dcd0d"'
assert parse_cookies(s) == {'userid': 'joe',
'QX_session': '58a3ced39dcd0d'}
def check_invalid(self):
parse_cookies('a="123')
parse_cookies('a=123"')
def test_all():
ParseCookiesTest()
if __name__ == "__main__":
test_all()