dns¶
Signature¶
faultcore.dns(*, delay: str | None = None, timeout: str | None = None, nxdomain: str | None = None)
Purpose¶
Injects resolver-side DNS behavior for tests that resolve hostnames.
Parameters¶
delay: duration string.timeout: duration string.nxdomain: probability string with%orppm.
Defaults and validation¶
All fields are optional.
Duration fields must use
ms/s.
Example (hostname resolution test)¶
import faultcore
@faultcore.dns(delay="40ms", nxdomain="3%")
def resolve_service(host: str) -> str:
return host
def test_dns_failure_fallback() -> None:
primary = resolve_service("api.internal")
assert primary == "api.internal"