Exemple #1
0
def test_set_param_received_ipv4():
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=1.1.1.1;maddr=x.com'
    )
    via.set_param(PARAM_RECEIVED, '2.2.2.2')
    assert via.received == ipaddress.IPv4Address('2.2.2.2')
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=1.1.1.1;maddr=x.com'
    )
    via.set_param(PARAM_RECEIVED, ipaddress.IPv4Address('2.2.2.2'))
    assert via.received == ipaddress.IPv4Address('2.2.2.2')
Exemple #2
0
def test_set_param_received_ipv6():
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=1.1.1.1;maddr=x.com'
    )
    via.set_param(PARAM_RECEIVED, '[::1]')
    assert via.assemble(
    ) == 'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=[::1];maddr=x.com'
    assert via.received == ipaddress.IPv6Address('::1')
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=1.1.1.1;maddr=x.com'
    )
    via.set_param(PARAM_RECEIVED, ipaddress.IPv6Address('::1'))
    assert via.assemble(
    ) == 'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=[::1];maddr=x.com'
    assert via.received == ipaddress.IPv6Address('::1')
Exemple #3
0
def test_via_branch():
    branch_value = 'z9hG4bK776asdhds'
    branch = Branch(branch_value)
    via = ViaHeader('SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=' +
                    branch_value)
    assert via.branch == branch
    assert via.branch.make_key() == branch.make_key()
Exemple #4
0
def test_set_rport_to_true():
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;rport=1234;maddr=x.com'
    )
    via.set_param(PARAM_RPORT, True)
    assert via.assemble(
    ) == 'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;rport;maddr=x.com'
    assert via.rport is True
Exemple #5
0
 def add_via(self, message, branch):
     via_hdr = message.get(VIA_HEADER)
     via = ViaHeader()
     via.sent_by = SentBy(host=self.local_addr, port=self.local_port)
     via.sent_protocol = SentProtocol(transport=self.transport, version='2.0', name='SIP')
     via.branch = branch
     via_hdr.add_topmost(via)
     message.set_header(via_hdr)
Exemple #6
0
def test_via_params():
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=z9hG4bK77ef4c2312983.1;rport;x=1;some'
    )
    assert Branch('z9hG4bK77ef4c2312983.1') == via.branch
    assert via.rport is True
    assert via.get_raw_param('x') == '1'
    assert via.get_raw_param('rport') is None
    assert via.get_raw_param('some') is None
Exemple #7
0
 def check_via_match(self, via):
     if self.check_via_match_address(via) and self.check_via_match_transport(via):
         return ViaMatchResult(result=ViaMatchResult.MATCH)
     else:
         expected = ViaHeader()
         expected.sent_by = SentBy(host=self.local_addr, port=self.local_port)
         expected.sent_protocol = SentProtocol(transport=self.transport, version='2.0', name='SIP')
         expected_str = expected.assemble()
         actual_str = via.assemble()
         return ViaMatchResult(result=ViaMatchResult.MISMATCH, expected=expected_str, actual=actual_str)
Exemple #8
0
def test_set_rport_error(rport):
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;rport=4321;maddr=x.com'
    )
    with pytest.raises(ViaHeaderError):
        via.set_param(PARAM_RPORT, rport)
Exemple #9
0
def test_set_received_error(rec_str):
    via = ViaHeader(
        'SIP/2.0/TCP 192.168.1.1:5090;branch=branch_v;ttl=200;received=1.1.1.1;maddr=x.com'
    )
    with pytest.raises(ViaHeaderError):
        via.set_param(PARAM_RECEIVED, rec_str)
Exemple #10
0
def test_assemble(via_str):
    via1 = ViaHeader(via_str)
    hdr = Header('Via')
    hdr.add_value(via1.assemble())
    via2 = ViaHeader.topmost_via(hdr)
    assert via1 == via2
Exemple #11
0
def test_sent_by_key():
    via1 = ViaHeader('SIP/2.0/UDP bigbox3.site3.atlanta.com;branch=x')
    via2 = ViaHeader('SIP/2.0/UDP BIGBOX3.SITE3.ATLANTA.COM;branch=y')
    assert via1.sent_by == via2.sent_by
Exemple #12
0
def test_ne(via_str1, via_str2):
    via1 = ViaHeader(via_str1)
    via2 = ViaHeader(via_str2)
    assert via1 != via2
Exemple #13
0
def test_eq(via_str1, via_str2):
    via1 = ViaHeader(via_str1)
    via2 = ViaHeader(via_str2)
    assert via1 == via2
Exemple #14
0
def test_parse_fail(via_str):
    with pytest.raises(ViaHeaderError):
        ViaHeader(via_str)