def test_empty_cache(self): dns_client_mock = Mock() dns_client_mock.lookupService.return_value = defer.fail(error.DNSServerError()) service_name = b"test_service.example.com" cache = {} resolver = SrvResolver(dns_client=dns_client_mock, cache=cache) with self.assertRaises(error.DNSServerError): yield defer.ensureDeferred(resolver.resolve_service(service_name))
def test_empty_cache(self): dns_client_mock = Mock() dns_client_mock.lookupService.return_value = defer.fail(error.DNSServerError()) service_name = "test_service.examle.com" cache = {} with self.assertRaises(error.DNSServerError): yield resolve_service( service_name, dns_client=dns_client_mock, cache=cache )
def test_from_cache(self): dns_client_mock = Mock() dns_client_mock.lookupService.return_value = defer.fail( error.DNSServerError()) service_name = "test_service.examle.com" cache = {service_name: [object()]} servers = yield resolve_service(service_name, dns_client=dns_client_mock, cache=cache) dns_client_mock.lookupService.assert_called_once_with(service_name) self.assertEquals(len(servers), 1) self.assertEquals(servers, cache[service_name])
def test_from_cache_expired_and_dns_fail(self): dns_client_mock = Mock() dns_client_mock.lookupService.return_value = defer.fail(error.DNSServerError()) service_name = b"test_service.example.com" entry = Mock(spec_set=["expires"]) entry.expires = 0 cache = {service_name: [entry]} resolver = SrvResolver(dns_client=dns_client_mock, cache=cache) servers = yield resolver.resolve_service(service_name) dns_client_mock.lookupService.assert_called_once_with(service_name) self.assertEquals(len(servers), 1) self.assertEquals(servers, cache[service_name])
def _lookup(self, name, cls, qtype, timeout): return defer.fail(error.DNSServerError([]))