[tor-commits] [bridgedb/master] Rewrite testDistWithProxies() in legacy_Tests.
isis at torproject.org
isis at torproject.org
Sat Jul 25 19:26:22 UTC 2015
commit dcafe58630f9048b7829184675a9a93deda2f0a3
Author: Isis Lovecruft <isis at torproject.org>
Date: Sun Apr 19 05:43:39 2015 +0000
Rewrite testDistWithProxies() in legacy_Tests.
---
lib/bridgedb/test/legacy_Tests.py | 21 ---------------------
lib/bridgedb/test/test_Dist.py | 24 ++++++++++++++++++++++++
2 files changed, 24 insertions(+), 21 deletions(-)
diff --git a/lib/bridgedb/test/legacy_Tests.py b/lib/bridgedb/test/legacy_Tests.py
index fd6a739..85ba722 100644
--- a/lib/bridgedb/test/legacy_Tests.py
+++ b/lib/bridgedb/test/legacy_Tests.py
@@ -185,27 +185,6 @@ class EmailBridgeDistTests(unittest.TestCase):
class IPBridgeDistTests(unittest.TestCase):
- def testDistWithProxies(self):
- d = bridgedb.Dist.HTTPSDistributor(3, "Foo", [RhymesWith255ProxySet()])
- for _ in xrange(256):
- d.insert(fakeBridge())
-
- for _ in xrange(256):
- # Make sure that the ProxySets do not overlap
- f = lambda: ".".join([str(random.randrange(1,255)) for _ in xrange(4)])
- g = lambda: ".".join([str(random.randrange(1,255)) for _ in xrange(3)] + ['255'])
- n = d.getBridges(g(), "x")
- n2 = d.getBridges(f(), "x")
-
- assert(len(n) > 0)
- assert(len(n2) > 0)
-
- for b in n:
- assert (b not in n2)
-
- for b in n2:
- assert (b not in n)
-
#XXX: #6175 breaks this test!
#def testDistWithPortRestrictions(self):
# param = bridgedb.Bridges.BridgeRingParameters(needPorts=[(443, 1)])
diff --git a/lib/bridgedb/test/test_Dist.py b/lib/bridgedb/test/test_Dist.py
index 23a6492..18b3e79 100644
--- a/lib/bridgedb/test/test_Dist.py
+++ b/lib/bridgedb/test/test_Dist.py
@@ -243,6 +243,30 @@ class HTTPSDistributorTests(unittest.TestCase):
self.assertNotIn(b.fingerprint, blockedIR)
self.assertGreater(len(bridges), 0)
+ def test_HTTPSDistributor_getBridges_with_proxy_and_nonproxy_users(self):
+ """An HTTPSDistributor should give separate bridges to proxy users."""
+ proxies = ProxySet(['.'.join(['1.1.1', str(x)]) for x in range(1, 256)])
+ dist = Dist.HTTPSDistributor(3, self.key, proxies)
+ [dist.insert(bridge) for bridge in self.bridges]
+
+ for _ in range(10):
+ bridgeRequest1 = self.randomClientRequest()
+ bridgeRequest1.client = '.'.join(['1.1.1', str(random.randrange(1, 255))])
+
+ bridgeRequest2 = self.randomClientRequest()
+ bridgeRequest2.client = '.'.join(['9.9.9', str(random.randrange(1, 255))])
+
+ n1 = dist.getBridges(bridgeRequest1, 1)
+ n2 = dist.getBridges(bridgeRequest2, 1)
+
+ self.assertGreater(len(n1), 0)
+ self.assertGreater(len(n2), 0)
+
+ for b in n1:
+ self.assertNotIn(b, n2)
+ for b in n2:
+ self.assertNotIn(b, n1)
+
def test_HTTPSDistributor_getBridges_same_bridges_to_same_client(self):
"""The same client asking for bridges from the HTTPSDistributor
multiple times in a row should get the same bridges in response each
More information about the tor-commits
mailing list