[tor-commits] [bridgedb/develop] Add test for Bridge.updateFromExtraInfoDescriptor() with a changed PT.

isis at torproject.org isis at torproject.org
Thu Feb 19 02:21:15 UTC 2015


commit d1909c8a0aa52168d9456df7b0a06f432c61dce5
Author: Isis Lovecruft <isis at torproject.org>
Date:   Sat Feb 14 00:50:29 2015 +0000

    Add test for Bridge.updateFromExtraInfoDescriptor() with a changed PT.
    
    This tests what happens if we receive an updated extrainfo descriptor
    for a Bridge where one of its PTs has changed its port number.
---
 lib/bridgedb/test/test_bridges.py |   28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/lib/bridgedb/test/test_bridges.py b/lib/bridgedb/test/test_bridges.py
index bae418a..ae9aa92 100644
--- a/lib/bridgedb/test/test_bridges.py
+++ b/lib/bridgedb/test/test_bridges.py
@@ -904,6 +904,34 @@ class BridgeTests(unittest.TestCase):
         self.assertEqual(len(self.bridge.transports), 0)
         self.assertIsNone(self.bridge.descriptors['extrainfo'])
 
+    def test_Bridge_updateFromExtraInfoDescriptor_pt_changed_port(self):
+        """Calling updateFromExtraInfoDescriptor() with a descriptor which
+        includes a different port for a known bridge with a known pluggable
+        transport should update that transport.
+        """
+        self.bridge.updateFromNetworkStatus(self.networkstatus)
+        self.bridge.updateFromServerDescriptor(self.serverdescriptor)
+        self.bridge.updateFromExtraInfoDescriptor(self.extrainfo)
+
+        self.assertEqual(len(self.bridge.transports), 4)
+
+        for pt in self.bridge.transports:
+            if pt.methodname == 'obfs4':
+                self.assertEqual(pt.address, ipaddr.IPv4Address('179.178.155.140'))
+                self.assertEqual(pt.port, 36493)
+
+        # Change the port of obfs4 transport in the extrainfo descriptor:
+        transportline = self.extrainfo.transport['obfs4']
+        self.extrainfo.transport['obfs4'] = (transportline[0],
+                                             31337,
+                                             transportline[2])
+        self.bridge.updateFromExtraInfoDescriptor(self.extrainfo)
+
+        for pt in self.bridge.transports:
+            if pt.methodname == 'obfs4':
+                self.assertEqual(pt.address, ipaddr.IPv4Address('179.178.155.140'))
+                self.assertEqual(pt.port, 31337)
+
     def test_Bridge_updateFromExtraInfoDescriptor_pt_changed_args(self):
         """Calling updateFromExtraInfoDescriptor() with a descriptor which
         includes different PT args for a known bridge with a known pluggable





More information about the tor-commits mailing list