def test_reassemble(ft_str): ft_hdr = FromToHeader(ft_str) hdr = Header('To') hdr.add_value(ft_hdr.assemble()) ft_hdr2 = FromToHeader(hdr) print(f'{ft_hdr} == {ft_hdr2}') assert ft_hdr == ft_hdr2
def test_parse_tag(display_name, tag, fromto): uri_str = 'sip:[email protected]' uri = Uri(uri_str) fromto_hdr = FromToHeader(fromto) assert fromto_hdr.display_name == display_name assert fromto_hdr.uri == uri assert fromto_hdr.tag == tag
def test_parse_param(): uri_str = 'sip:[email protected]' uri = Uri(uri_str) fromto_hdr = FromToHeader('<sip:[email protected]>;Some=y') hp = HParams() hp.set_raw('Some', 'y') assert fromto_hdr.params == hp assert fromto_hdr.uri == uri
def test_rfc4475_crazy_example(): ft_hdr = FromToHeader( r'"BEL:\<hex>07</hex> NUL:\<hex>00</hex> DEL:\<hex>7F</hex>" <sip:1_unusual.URI~(to-be!sure)&isn\'t+it$/crazy?,/;;*@example.com>' ) assert ft_hdr.display_name == r'"BEL:\<hex>07</hex> NUL:\<hex>00</hex> DEL:\<hex>7F</hex>"'
def test_set_tag(): ft_hdr = FromToHeader('Alice <sip:[email protected]>') ft_hdr.tag = '88sja8x' assert ft_hdr.assemble() == 'Alice <sip:[email protected]>;tag=88sja8x'
def test_reassemble_without_quotes(ft_str, ft_str_exp): ft_hdr = FromToHeader(ft_str) assert ft_hdr.assemble() == ft_str_exp
def test_tag(tag, fromto_str): fromto = FromToHeader(fromto_str) assert fromto.tag_key == tag
def test_parse_multi_values(): hdr = Header('To') hdr.add_value("Alice <sip:a@b>") hdr.add_value("Bob <sip:b@a>") with pytest.raises(FromToError): FromToHeader(hdr)
def test_parse_empty_header(): hdr = Header('To') with pytest.raises(FromToError): FromToHeader(hdr)
def test_parse_error(fromto_str): with pytest.raises(PySIPException): FromToHeader(fromto_str)