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
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'), ])