Esempio n. 1
0
    def test_genRegionIps_groups_by_region(self):
        mock_rpc = Mock()
        mock_rpc.connections = {}
        for _ in range(3):
            region_name = factory.make_name("region")
            for _ in range(3):
                pid = random.randint(0, 10000)
                eventloop = "%s:pid=%s" % (region_name, pid)
                ip = factory.make_ip_address()
                mock_conn = Mock()
                mock_conn.address = (ip, random.randint(5240, 5250))
                mock_rpc.connections[eventloop] = mock_conn

        dns = external.RackDNS()
        region_ips = list(dns._genRegionIps(mock_rpc.connections))
        self.assertEqual(3, len(region_ips))
Esempio n. 2
0
    def test__genRegionIps_always_returns_same_result(self):
        mock_rpc = Mock()
        mock_rpc.connections = {}
        for _ in range(3):
            region_name = factory.make_name("region")
            for _ in range(3):
                pid = random.randint(0, 10000)
                eventloop = "%s:pid=%s" % (region_name, pid)
                ip = factory.make_ip_address()
                mock_conn = Mock()
                mock_conn.address = (ip, random.randint(5240, 5250))
                mock_rpc.connections[eventloop] = mock_conn

        dns = external.RackDNS()
        region_ips = frozenset(dns._genRegionIps(mock_rpc.connections))
        for _ in range(3):
            self.assertEquals(
                region_ips, frozenset(dns._genRegionIps(mock_rpc.connections)))
Esempio n. 3
0
 def make_RackDNS_ExternalService(self, rpc_service, reactor):
     dns = external.RackDNS()
     service = make_startable_RackExternalService(
         self, rpc_service, reactor, [("DNS", dns)]
     )
     return service, dns