def test_cached_dns_lookup_is_persisted_cached_ok( monkeypatch: MonkeyPatch) -> None: config_ipcache = _empty() persisted_cache = { (HostName("persisted_cached_host"), socket.AF_INET): "1.2.3.4" } patch_config_cache(monkeypatch, config_ipcache) patch_persisted_cache(monkeypatch, persisted_cache) patch_actual_lookup( monkeypatch, {(HostName("persisted_cached_host"), socket.AF_INET): "6.6.6.6"}) assert (ip_lookup.cached_dns_lookup( HostName("persisted_cached_host"), family=socket.AF_INET, force_file_cache_renewal=False, ) == "1.2.3.4") assert config_ipcache.pop( (HostName("persisted_cached_host"), socket.AF_INET)) == "1.2.3.4" assert persisted_cache[(HostName("persisted_cached_host"), socket.AF_INET)] == "1.2.3.4" assert (ip_lookup.cached_dns_lookup( HostName("persisted_cached_host"), family=socket.AF_INET, force_file_cache_renewal=True, ) == "6.6.6.6") assert config_ipcache[(HostName("persisted_cached_host"), socket.AF_INET)] == "6.6.6.6" assert persisted_cache[(HostName("persisted_cached_host"), socket.AF_INET)] == "6.6.6.6"
def test_cached_dns_lookup_raises_once(monkeypatch: MonkeyPatch) -> None: config_ipcache = _empty() persisted_cache = _empty() patch_config_cache(monkeypatch, config_ipcache) patch_persisted_cache(monkeypatch, persisted_cache) patch_actual_lookup(monkeypatch, {}) with pytest.raises(ip_lookup.MKIPAddressLookupError): _ = ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=False, ) assert (ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=False, ) is None) assert (ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=True, ) is None)
def test_cached_dns_lookup_uncached(monkeypatch: MonkeyPatch) -> None: config_ipcache = _empty() persisted_cache = _empty() patch_config_cache(monkeypatch, config_ipcache) patch_persisted_cache(monkeypatch, persisted_cache) patch_actual_lookup(monkeypatch, {(HostName("test_host"), socket.AF_INET): "3.1.4.1"}) assert (ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=False, ) == "3.1.4.1") assert config_ipcache.pop( (HostName("test_host"), socket.AF_INET)) == "3.1.4.1" assert persisted_cache.pop( (HostName("test_host"), socket.AF_INET)) == "3.1.4.1" assert (ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=True, ) == "3.1.4.1") assert config_ipcache[(HostName("test_host"), socket.AF_INET)] == "3.1.4.1" assert persisted_cache[(HostName("test_host"), socket.AF_INET)] == "3.1.4.1"
def test_cached_dns_lookup_is_config_cached_none( monkeypatch: MonkeyPatch) -> None: patch_config_cache( monkeypatch, {(HostName("the_host_that_raised"), socket.AF_INET6): None}) patch_persisted_cache(monkeypatch, _empty()) patch_actual_lookup(monkeypatch, _empty()) assert (ip_lookup.cached_dns_lookup( HostName("the_host_that_raised"), family=socket.AF_INET6, force_file_cache_renewal=False, ) is None) assert (ip_lookup.cached_dns_lookup( HostName("the_host_that_raised"), family=socket.AF_INET6, force_file_cache_renewal=True, ) is None)
def test_cached_dns_lookup_is_config_cached_ok( monkeypatch: MonkeyPatch) -> None: patch_config_cache( monkeypatch, {(HostName("config_cached_host"), socket.AF_INET): "1.2.3.4"}) patch_persisted_cache( monkeypatch, {(HostName("config_cached_host"), socket.AF_INET): "6.6.6.6"}) patch_actual_lookup( monkeypatch, {(HostName("config_cached_host"), socket.AF_INET): "7.7.7.7"}) assert (ip_lookup.cached_dns_lookup( HostName("config_cached_host"), family=socket.AF_INET, force_file_cache_renewal=False, ) == "1.2.3.4") assert (ip_lookup.cached_dns_lookup( HostName("config_cached_host"), family=socket.AF_INET, force_file_cache_renewal=True, ) == "1.2.3.4")
def test_filecache_beats_failing_lookup(monkeypatch: MonkeyPatch) -> None: config_ipcache = _empty() persisted_cache = {(HostName("test_host"), socket.AF_INET): "3.1.4.1"} patch_config_cache(monkeypatch, config_ipcache) patch_persisted_cache(monkeypatch, persisted_cache) patch_actual_lookup(monkeypatch, {}) assert (ip_lookup.cached_dns_lookup( HostName("test_host"), family=socket.AF_INET, force_file_cache_renewal=True, ) == "3.1.4.1") assert persisted_cache[(HostName("test_host"), socket.AF_INET)]