Exemplo n.º 1
0
 def test(self):
     inst = SCIONBasePacket()
     cmn_hdr = create_mock([
         "__len__",
         "src_addr_type",
         "dst_addr_type",
         "addrs_len",
         "hdr_len",
         "total_len",
         "set_of_idxs",
         "next_hdr",
         "update",
     ])
     cmn_hdr.__len__.return_value = 2
     addrs = create_mock(["__len__", "src_type", "dst_type"])
     addrs.__len__.return_value = 4
     path = create_mock(["__len__", "get_of_idxs"])
     path.__len__.return_value = 8
     path.get_of_idxs.return_value = 3, 7
     inst.cmn_hdr = cmn_hdr
     inst.addrs = addrs
     inst.path = path
     inst._get_offset_len = create_mock()
     inst._get_offset_len.return_value = 42
     inst._get_next_hdr = create_mock()
     # Call
     inst._update_cmn_hdr()
     # Tests
     ntools.eq_(cmn_hdr.src_addr_type, addrs.src_type.return_value)
     ntools.eq_(cmn_hdr.dst_addr_type, addrs.dst_type.return_value)
     ntools.eq_(cmn_hdr.addrs_len, 4)
     ntools.eq_(cmn_hdr.hdr_len, 2 + 4 + 8)
     ntools.eq_(cmn_hdr.total_len, 14 + 42)
     cmn_hdr.set_of_idxs.assert_called_once_with(3, 7)
     ntools.eq_(cmn_hdr.next_hdr, inst._get_next_hdr.return_value)
Exemplo n.º 2
0
 def test(self):
     inst = SCIONBasePacket()
     cmn_hdr = create_mock([
         "__len__", "src_addr_type", "dst_addr_type", "addrs_len", "hdr_len",
         "hdr_len_bytes", "bytes_to_hdr_len", "total_len", "set_of_idxs", "next_hdr", "update",
     ])
     cmn_hdr.__len__.return_value = SCIONCommonHdr.LEN
     cmn_hdr.bytes_to_hdr_len = lambda x: x//8
     cmn_hdr.hdr_len_bytes.return_value = 32
     addrs = create_mock(["__len__", "src_type", "dst_type"])
     addrs.__len__.return_value = 16
     path = create_mock(["__len__", "get_of_idxs"])
     path.__len__.return_value = 8
     path.get_of_idxs.return_value = 3, 7
     inst.cmn_hdr = cmn_hdr
     inst.addrs = addrs
     inst.path = path
     inst._get_offset_len = create_mock()
     inst._get_offset_len.return_value = 42
     inst._get_next_hdr = create_mock()
     # Call
     inst._update_cmn_hdr()
     # Tests
     ntools.eq_(cmn_hdr.src_addr_type, addrs.src_type.return_value)
     ntools.eq_(cmn_hdr.dst_addr_type, addrs.dst_type.return_value)
     ntools.eq_(cmn_hdr.addrs_len, 16)
     ntools.eq_(cmn_hdr.hdr_len, (8 + 16 + 8)//8)
     ntools.eq_(cmn_hdr.total_len, 32 + 42)
     cmn_hdr.set_of_idxs.assert_called_once_with(3, 7)
     ntools.eq_(cmn_hdr.next_hdr, inst._get_next_hdr.return_value)
Exemplo n.º 3
0
 def test(self):
     inst = SCIONBasePacket()
     inst.addrs = create_mock(['reverse'])
     inst.path = create_mock(['reverse'])
     # Call
     inst.reverse()
     # Tests
     inst.addrs.reverse.assert_called_once_with()
     inst.path.reverse.assert_called_once_with()
Exemplo n.º 4
0
 def test(self):
     inst = SCIONBasePacket()
     inst.path = "path"
     inst.cmn_hdr = create_mock(["validate"])
     inst.addrs = create_mock(["validate"])
     inst._validate_of_idxes = create_mock()
     inst._payload = PayloadRaw()
     # Call
     inst.validate("pkt len")
     # Tests
     inst.cmn_hdr.validate.assert_called_once_with("pkt len", 4)
     inst.addrs.validate.assert_called_once_with()
     inst._validate_of_idxes.assert_called_once_with()
Exemplo n.º 5
0
 def test(self, update):
     hdr_exp = b"cmn hdr" b"addrs" b"path"
     total_exp = hdr_exp + b"inner pack"
     inst = SCIONBasePacket()
     inst.update = create_mock()
     inst.cmn_hdr = create_mock(["hdr_len", "pack", "total_len"])
     inst.cmn_hdr.hdr_len = len(hdr_exp)
     inst.cmn_hdr.total_len = len(total_exp)
     inst.cmn_hdr.pack.return_value = b"cmn hdr"
     inst.addrs = create_mock(["pack"])
     inst.addrs.pack.return_value = b"addrs"
     inst.path = create_mock(["pack"])
     inst.path.pack.return_value = b"path"
     inst._inner_pack = create_mock()
     inst._inner_pack.return_value = b"inner pack"
     # Call
     ntools.eq_(inst.pack(), total_exp)
     # Tests
     inst.update.assert_called_once_with()
Exemplo n.º 6
0
 def test_bad_hof(self):
     inst = SCIONBasePacket()
     inst.path = create_mock(["get_iof", "get_hof"])
     inst.path.get_hof.side_effect = SCIONIndexError
     # Call
     ntools.assert_raises(SCMPBadHOFOffset, inst._validate_of_idxes)