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))
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)))
def make_RackDNS_ExternalService(self, rpc_service, reactor): dns = external.RackDNS() service = make_startable_RackExternalService( self, rpc_service, reactor, [("DNS", dns)] ) return service, dns