Exemplo n.º 1
0
 def test(self, in_cksum):
     inst = SCIONUDPHeader()
     inst._dst = create_mock_full(
         {
             "isd_as": create_mock_full({"pack()": b"dsIA"}),
             "host": create_mock_full({"pack()": b"dstH"}),
         },
         class_=SCIONAddr)
     inst._src = create_mock_full(
         {
             "isd_as": create_mock_full({"pack()": b"srIA"}),
             "host": create_mock_full({"pack()": b"srcH"}),
         },
         class_=SCIONAddr)
     inst.pack = create_mock_full(return_value=b"packed with null checksum")
     payload = b"payload"
     expected_call = b"".join([
         b"dsIA",
         b"srIA",
         b"dstH",
         b"srcH",
         b"\x00",
         bytes([L4Proto.UDP]),
         b"packed with null checksum",
         payload,
     ])
     in_cksum.return_value = 0x3412
     # Call
     ntools.eq_(inst._calc_checksum(payload), bytes.fromhex("3412"))
     # Tests
     in_cksum.assert_called_once_with(expected_call)
Exemplo n.º 2
0
 def test_bad_checksum(self, raw):
     inst = SCIONUDPHeader()
     inst.total_len = 10 + inst.LEN
     inst._calc_checksum = create_mock()
     inst._calc_checksum.return_value = bytes.fromhex("8888")
     inst._checksum = bytes.fromhex("9999")
     # Call
     ntools.assert_raises(SCIONChecksumFailed, inst.validate, range(10))
Exemplo n.º 3
0
 def test(self, scapy_checksum):
     inst = SCIONUDPHeader()
     inst._src = create_mock(["pack"], class_=SCIONAddr)
     inst._src.pack.return_value = b"source address"
     inst._dst = create_mock(["pack"], class_=SCIONAddr)
     inst._dst.pack.return_value = b"destination address"
     inst.pack = create_mock()
     inst.pack.return_value = b"packed with null checksum"
     payload = b"payload"
     expected_call = b"".join([
         b"source address", b"destination address", bytes([L4Proto.UDP]),
         b"packed with null checksum", payload,
     ])
     scapy_checksum.return_value = 0x3412
     # Call
     ntools.eq_(inst._calc_checksum(payload), bytes.fromhex("1234"))
     # Tests
     scapy_checksum.assert_called_once_with(expected_call)