Exemplo n.º 1
0
 def test_byIPv4_none(self):
     """A bridge with no IPv4 addresses should cause filters.byIPv4() to
     return False.
     """
     self.bridge.address = ipaddr.IPv6Address('2006:2222::2222')
     self.bridge.orAddresses = [(ipaddr.IPv6Address('2006:3333::3333'), 3333, 6)]
     self.assertFalse(filters.byIPv4(self.bridge))
Exemplo n.º 2
0
 def test_byIPv4_orAddress(self):
     """A bridge with an IPv4 address in its orAddresses address should
     cause filters.byIPv4() to return True.
     """
     self.bridge.address = '2006:2222::2222'
     self.bridge.orAddresses = [(ipaddr.IPv4Address('2.2.2.2'), 2222, 4)]
     self.assertTrue(filters.byIPv4(self.bridge))
Exemplo n.º 3
0
 def test_byIPv4_orAddress(self):
     """A bridge with an IPv4 address in its orAddresses address should
     cause filters.byIPv4() to return True.
     """
     self.bridge.address = '2006:2222::2222'
     self.bridge.orAddresses = [(ipaddr.IPv4Address('2.2.2.2'), 2222, 4)]
     self.assertTrue(filters.byIPv4(self.bridge))
Exemplo n.º 4
0
 def test_byIPv4_none(self):
     """A bridge with no IPv4 addresses should cause filters.byIPv4() to
     return False.
     """
     self.bridge.address = ipaddr.IPv6Address('2006:2222::2222')
     self.bridge.orAddresses = [(ipaddr.IPv6Address('2006:3333::3333'),
                                 3333, 6)]
     self.assertFalse(filters.byIPv4(self.bridge))
Exemplo n.º 5
0
    def test_HTTPSDistributor_getBridges_ipv4(self):
        """A request for IPv4 bridges should return IPv4 bridges."""
        dist = distributor.HTTPSDistributor(1, self.key)
        [dist.insert(bridge) for bridge in self.bridges[:250]]

        for i in xrange(500):
            bridgeRequest = self.randomClientRequest()
            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)
            self.assertIsInstance(ipaddr.IPAddress(address), ipaddr.IPv4Address)
            self.assertIsNotNone(byIPv4(random.choice(bridges)))
Exemplo n.º 6
0
    def test_HTTPSDistributor_getBridges_ipv4_ipv6(self):
        """Asking for bridge addresses which are simultaneously IPv4 and IPv6
        (in that order) should return IPv4 bridges.
        """
        dist = distributor.HTTPSDistributor(1, self.key)
        [dist.insert(bridge) for bridge in self.bridges[:250]]

        bridgeRequest = self.randomClientRequest()
        bridgeRequest.withIPv4()
        bridgeRequest.filters.append(byIPv6)
        bridgeRequest.generateFilters()

        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.IPv4Address)
        self.assertIsNotNone(byIPv4(random.choice(bridges)))
Exemplo n.º 7
0
 def test_byIPv4_address(self):
     """A bridge with an IPv4 address for its main orPort address should
     cause filters.byIPv4() to return True.
     """
     self.assertTrue(filters.byIPv4(self.bridge))
Exemplo n.º 8
0
 def test_byIPv4_address(self):
     """A bridge with an IPv4 address for its main orPort address should
     cause filters.byIPv4() to return True.
     """
     self.assertTrue(filters.byIPv4(self.bridge))