jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/355123 )

Change subject: Add BGPUpdateMessage test cases
......................................................................


Add BGPUpdateMessage test cases

Test addAttributes, clearAttributes and addSomeNLRI methods

Test overloaded operators and freeSpace() method.

Change-Id: Id0f790b04e25ffec7ad4acc263598af3d0f07d6d
---
M pybal/bgp/test_bgp.py
1 file changed, 37 insertions(+), 0 deletions(-)

Approvals:
  Ema: Looks good to me, but someone else must approve
  Mark Bergsma: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pybal/bgp/test_bgp.py b/pybal/bgp/test_bgp.py
index 9db5ff6..3615341 100644
--- a/pybal/bgp/test_bgp.py
+++ b/pybal/bgp/test_bgp.py
@@ -31,6 +31,14 @@
         self.msg = bgp.BGPUpdateMessage()
         self.assertEquals(self.msg.msgLenOffset, 16)
         self.assertEquals(len(self.msg.msg), 4)
+        self.assertEquals(len(self.msg), 23)
+        self.assertIn("UPDATE", repr(self.msg))
+
+        self.attrs = bgp.FrozenAttributeDict(
+                    [bgp.OriginAttribute(),
+                    bgp.ASPathAttribute([64600, 64601]),
+                    bgp.NextHopAttribute("192.0.2.1"),
+                    bgp.MEDAttribute(100)])
 
     def testAddSomeWithdrawals(self):
         self.assertEquals(self.msg.addSomeWithdrawals(set()), 0)
@@ -45,3 +53,32 @@
         # Not all prefixes will fit within maxLen
         self.assertEquals(self.msg.addSomeWithdrawals(prefixset), 813)
         self.assertEquals(len(prefixset), 211)
+
+    def testAttributes(self):
+        self.msg.addAttributes(bgp.FrozenAttributeDict({}))
+        self.assertEqual(len(self.msg), 23)
+        self.msg.addAttributes(self.attrs)
+        self.assertEqual(len(self.msg), 50)
+        self.msg.clearAttributes()
+        self.assertEquals(len(self.msg), 23)
+
+        prefixset = set([ ip.IPv4IP(idx) for idx in range(810) ])
+        self.assertEquals(self.msg.addSomeWithdrawals(prefixset), 810)
+        self.assertRaises(ValueError, self.msg.addAttributes, self.attrs)
+
+    def testAddSomeNLRI(self):
+        self.assertEquals(self.msg.addSomeNLRI(set()), 0)
+
+        prefixset = set([ip.IPv6IP('::1'),])
+        self.assertEquals(self.msg.addSomeNLRI(prefixset), 1)
+
+        # The prefix should have been removed from the set
+        self.assertEquals(len(prefixset), 0)
+
+        prefixset = set([ ip.IPv6IP(hex(idx)) for idx in range(1024) ])
+        # Not all prefixes will fit within maxLen
+        self.assertEquals(self.msg.addSomeNLRI(prefixset), 238)
+        self.assertEquals(len(prefixset), 1024-238)
+
+    def testFreeSpace(self):
+        self.assertEquals(self.msg.freeSpace(), bgp.MAX_LEN-len(self.msg))

-- 
To view, visit https://gerrit.wikimedia.org/r/355123
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id0f790b04e25ffec7ad4acc263598af3d0f07d6d
Gerrit-PatchSet: 3
Gerrit-Project: operations/debs/pybal
Gerrit-Branch: master
Gerrit-Owner: Mark Bergsma <[email protected]>
Gerrit-Reviewer: Ema <[email protected]>
Gerrit-Reviewer: Mark Bergsma <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to