def METHOD_NAME(gate, call, flush_resolver_cache, gen_domain_name):
    async def _check_restore(domain: typing.Optional[str] = None):
        gate.to_server_pass()
        gate.to_client_pass()
        if not domain:
            domain = gen_domain_name()
        response = await call(
            resolve=domain,
            check_query=CheckQuery.FROM_MOCK,
            timeout=DEFAULT_TIMEOUT,
        )
        assert response.status == 200
        assert response.text == SUCCESS_RESOLVE
    return _check_restore