def test_mac(self): inst = HopOpaqueField() inst._pack_flags = create_mock() inst._pack_flags.return_value = 0x0e inst.exp_time = 0x2a inst.ingress_if = 0x0a0 inst.egress_if = 0xb0c inst.mac = bytes.fromhex('012345') expected = bytes.fromhex('04 2a 0a0b0c') # Call ntools.eq_(inst.pack(mac=True), expected)
def test_no_prev(self, mac): inst = HopOpaqueField() inst.pack = create_mock() pack_mac = bytes.fromhex('02 2a0a 0b0c') inst.pack.return_value = pack_mac ts = 0x01020304 expected = b"".join([ ts.to_bytes(4, "big"), pack_mac, bytes(7), ]) mac.return_value = "mac_data" # Call ntools.eq_(inst.calc_mac("key", ts), "mac") # Tests inst.pack.assert_called_once_with(mac=True) mac.assert_called_once_with("key", expected)
def test_prev(self, mac): inst = HopOpaqueField() inst.pack = create_mock() pack_mac = bytes.fromhex('02 2a0a 0b0c') inst.pack.return_value = pack_mac prev_pack_mac = bytes.fromhex('10 1112 1314') prev = create_mock_full({"pack()": prev_pack_mac}) ts = 0x01020304 expected = b"".join([ ts.to_bytes(4, "big"), pack_mac, prev_pack_mac[1:], ]) # Call inst.calc_mac("key", ts, prev) # Tests prev.pack.assert_called_once_with() mac.assert_called_once_with("key", expected)
def test_prev(self, cbcmac): inst = HopOpaqueField() inst.pack = create_mock() pack_mac = bytes.fromhex('02 2a 0a0b0c') inst.pack.return_value = pack_mac prev = create_mock(["mac", "pack"]) prev.mac = bytes.fromhex('050607') prev.pack = create_mock() prev_pack_mac = bytes.fromhex('10 11 121314') prev.pack.return_value = prev_pack_mac ts = 0x01020304 expected = b"".join([ pack_mac, prev_pack_mac, prev.mac, ts.to_bytes(4, "big"), bytes(inst.MAC_BLOCK_PADDING), ]) # Call inst.calc_mac("key", ts, prev) # Tests prev.pack.assert_called_once_with(mac=True) cbcmac.assert_called_once_with("key", expected)