"""Prova o bloqueio padrão de rede; não instala nem inicia o runtime."""
import json

from acbr import AcbrError, Configuracao, Emissor


def main() -> int:
    config = Configuracao(cnpj="00000000000000", uf="CE", ambiente=2)
    with Emissor(config, runtime_directory="RUNTIME-NAO-UTILIZADO") as emissor:
        try:
            emissor.recuperar_xml("<NFe>SINTETICO-SEM-ASSINATURA</NFe>")
        except AcbrError as erro:
            assert erro.codigo == "REDE_NAO_AUTORIZADA"
            print(json.dumps(erro.diagnostico.to_dict(), ensure_ascii=False))
            return 0
    raise AssertionError("A recuperação deveria bloquear rede por padrão.")


if __name__ == "__main__":
    raise SystemExit(main())
