def test_full(self, p_cls): msg = p_cls.new_message.return_value pcbms = [] for i in range(3): pcbms.append(create_mock_full({"p": "pcbm %d" % i})) exts = [] exts.append( create_mock_full({ "EXT_TYPE": ASMExtType.ROUTING_POLICY, "p": { "polType": RoutingPolType.ALLOW_AS, "itf": 0, "isdases": [_ISD_AS1] } })) # Call ASMarking.from_values(_ISD_AS1, 2, 3, pcbms, "root", "mtu", exts, ifid_size=14) # Tests p_cls.new_message.assert_called_once_with(isdas=_ISD_AS1, trcVer=2, certVer=3, ifIDSize=14, hashTreeRoot="root", mtu="mtu") msg.init.assert_called_once_with("hops", 3) for i, pcbm in enumerate(msg.pcbms): ntools.eq_("pcbm %d" % i, pcbm)
def test_9(self): pcbms = [] for i in range(3): pcbms.append( create_mock_full({"sig_pack()": bytes("pcbm %i" % i, "ascii")})) inst = ASMarking( create_mock_full({ "isdas": _ISD_AS1, "trcVer": 2, "certVer": 3, "ifIDSize": 4, "hashTreeRoot": b"root", "mtu": 1482, "chain": b"chain" })) inst.iter_pcbms = create_mock_full(return_value=pcbms) expected = b"".join([ _ISD_AS1_BYTES, bytes.fromhex("00000002 00000003 04"), b"pcbm 0", b"pcbm 1", b"pcbm 2", b"root", bytes.fromhex("05ca"), b"chain" ]) # Call ntools.eq_(inst.sig_pack(8), expected)
def test_full(self, p_cls): msg = p_cls.new_message.return_value pcbms = [] for i in range(3): pcbms.append(create_mock_full({"p": "pcbm %d" % i})) cchain = create_mock_full({"pack()": "cchain"}) # Call ASMarking.from_values(_ISD_AS1, 2, 3, pcbms, "root", "mtu", cchain, ifid_size=14) # Tests p_cls.new_message.assert_called_once_with(isdas=_ISD_AS1, trcVer=2, certVer=3, ifIDSize=14, hashTreeRoot="root", mtu="mtu", chain="cchain") msg.init.assert_called_once_with("pcbms", 3) for i, pcbm in enumerate(msg.pcbms): ntools.eq_("pcbm %d" % i, pcbm)
def test(self): pcbms = [] for i in range(3): pcbms.append( create_mock_full( {"sig_pack5()": bytes("pcbm %i" % i, "ascii")})) rpe = create_mock_full({"routingPolicy": bytes("exts", "ascii")}) inst = ASMarking( create_mock_full({ "isdas": _ISD_AS1, "trcVer": 2, "certVer": 3, "ifIDSize": 4, "hashTreeRoot": b"root", "mtu": 1482, "exts": rpe })) inst.iter_pcbms = create_mock_full(return_value=pcbms) sgp3 = create_mock_full({"sig_pack3()": bytes("exts", "ascii")}) inst.routing_pol_ext = create_mock_full(return_value=sgp3) expected = b"".join([ _ISD_AS1_BYTES, bytes.fromhex("00000002 00000003 04"), b"pcbm 0", b"pcbm 1", b"pcbm 2", b"root", bytes.fromhex("05ca"), b"exts" ]) # Call ntools.eq_(inst.sig_pack8(), expected)
def test_full(self, p_cls): msg = p_cls.new_message.return_value pcbms = [] for i in range(3): pcbms.append(create_mock_full({"p": "pcbm %d" % i})) cchain = create_mock_full({"pack()": "cchain"}) revs = [] for i in range(2): revs.append(create_mock_full({"pack()": "rev %d" % i})) # Call ASMarking.from_values("isdas", 2, 3, pcbms, "eg rev token", "mtu", cchain, ifid_size=14, rev_infos=revs) # Tests p_cls.new_message.assert_called_once_with(isdas="isdas", trcVer=2, certVer=3, ifIDSize=14, egRevToken="eg rev token", mtu="mtu", chain="cchain") msg.init.assert_called_once_with("pcbms", 3) msg.exts.init.assert_called_once_with("revInfos", 2) for i, pcbm in enumerate(msg.pcbms): ntools.eq_("pcbm %d" % i, pcbm) for i, rev in enumerate(msg.exts.revInfos): ntools.eq_("rev %d" % i, rev)
def test_9(self): pcbms = [] for i in range(3): pcbms.append( create_mock_full({"sig_pack()": bytes("pcbm %i" % i, "ascii")})) exts = create_mock_full({"revInfos": [b"rev0", b"rev1"]}) inst = ASMarking( create_mock_full({ "isdas": "isdas", "trcVer": 2, "certVer": 3, "ifIDSize": 4, "egRevToken": b"eg rev", "exts": exts, "mtu": 1482, "chain": b"chain", })) inst.iter_pcbms = create_mock_full(return_value=pcbms) expected = b"".join([ b"isdas", bytes.fromhex("00000002 00000003 04"), b"pcbm 0", b"pcbm 1", b"pcbm 2", b"eg rev", b"rev0", b"rev1", bytes.fromhex("05ca"), b"chain" ]) # Call ntools.eq_(inst.sig_pack(9), expected)
def _create_asm(self, in_if, out_if, ts, prev_hof): pcbms = list(self._create_pcbms(in_if, out_if, ts, prev_hof)) if not pcbms: return None chain = self._get_my_cert() _, cert_ver = chain.get_leaf_isd_as_ver() return ASMarking.from_values(self.addr.isd_as, self._get_my_trc().version, cert_ver, pcbms, self.topology.mtu)
def _create_asm(self, in_if, out_if, ts, prev_hof): pcbms = list(self._create_pcbms(in_if, out_if, ts, prev_hof)) exts = self._create_asm_exts() chain = self._get_my_cert() _, cert_ver = chain.get_leaf_isd_as_ver() return ASMarking.from_values(self.addr.isd_as, self._get_my_trc().version, cert_ver, pcbms, self._get_if_rev_token(out_if), self.topology.mtu, chain, **exts)