def test_byIPv6_orAddress(self): """A bridge with an IPv6 address in its orAddresses address should cause filters.byIPv6() to return True. """ self.bridge.orAddresses = [(ipaddr.IPv6Address('2006:3333::3333'), 3333, 6)] self.assertTrue(filters.byIPv6(self.bridge))
def test_HTTPSDistributor_getBridges_ipv6(self): """A request for IPv6 bridges should return IPv6 bridges.""" dist = distributor.HTTPSDistributor(3, self.key) [dist.insert(bridge) for bridge in self.bridges[:250]] for i in xrange(500): bridgeRequest = self.randomClientRequest() bridgeRequest.withIPv6() bridgeRequest.generateFilters() bridges = dist.getBridges(bridgeRequest, "faketimestamp") self.assertTrue(type(bridges) is list) self.assertGreater(len(bridges), 0) bridge = random.choice(bridges) bridgeLine = bridge.getBridgeLine(bridgeRequest) addrport, fingerprint = bridgeLine.split() address, port = addrport.rsplit(':', 1) address = address.strip('[]') self.assertIsInstance(ipaddr.IPAddress(address), ipaddr.IPv6Address) self.assertIsNotNone(byIPv6(random.choice(bridges)))
def test_HTTPSDistributor_getBridges_ipv6_ipv4(self): """Asking for bridge addresses which are simultaneously IPv6 and IPv4 (in that order) should return IPv6 bridges. """ dist = distributor.HTTPSDistributor(1, self.key) [dist.insert(bridge) for bridge in self.bridges[:250]] bridgeRequest = self.randomClientRequest() bridgeRequest.withIPv6() bridgeRequest.generateFilters() bridgeRequest.filters.append(byIPv4) bridges = dist.getBridges(bridgeRequest, 1) self.assertEqual(len(bridges), 3) bridge = random.choice(bridges) bridgeLine = bridge.getBridgeLine(bridgeRequest) addrport, fingerprint = bridgeLine.split() address, port = addrport.rsplit(':', 1) address = address.strip('[]') self.assertIsInstance(ipaddr.IPAddress(address), ipaddr.IPv6Address) self.assertIsNotNone(byIPv6(random.choice(bridges)))
def test_byIPv6_none(self): """A bridge with no IPv6 addresses should cause filters.byIPv6() to return False. """ self.assertFalse(filters.byIPv6(self.bridge))
def test_byIPv6_address(self): """A bridge with an IPv6 address for its main orPort address should cause filters.byIPv6() to return True. """ self.bridge.address = '2006:2222::2222' self.assertTrue(filters.byIPv6(self.bridge))