Esempio n. 1
0
    def __init__(self, *pathattr, **kw):
        self.nlri = []
        self.withdraw = []
        self.pathattr = OD()

        for n in kw.pop('nlri', []):
            if isinstance(n, str):
                n = nlri.ipv4(n)
            self.nlri.append(n)

        for w in kw.pop('withdraw', []):
            if isinstance(w, str):
                w = nlri.ipv4(w)
            self.withdraw.append(w)

        self.pathattr = OD()
        for p in pathattr:
            self.pathattr[p.type] = p
Esempio n. 2
0
    def test_two(self):
        msgs = self.open() + self.update_w()

        self.proto.dataReceived(msgs)

        # should still be alive
        self.failIf(self.proto.transport.closed)

        # we should have two messages and all data used
        self.failUnless(len(self.msgs)==2)
        self.failUnless(self.proto.buffer=='')

        open = self.msgs[0]
        withdraw = self.msgs[1]

        self.failUnless(isinstance(open, proto.Open))
        self.failUnless(isinstance(withdraw, proto.Update))

        self.assertEqual(withdraw.withdraw, [
                nlri.ipv4('192.168.1.0/25'),
                nlri.ipv4('10.0.0.0/8'),
                ])