"""Tests para rdap_lookup (CLI `rdap`, estilo dict sin excepciones).""" import json import os import sys sys.path.insert(0, os.path.dirname(__file__)) from rdap_lookup import rdap_lookup def test_target_vacio_devuelve_error(): """Un target vacio devuelve status error sin lanzar.""" result = rdap_lookup("") assert result["status"] == "error" assert "vacio" in result["error"] def test_parseo_json_sample(): """El parseo de un JSON RDAP de muestra extrae handle y ldhName. No depende de red: valida la forma del JSON que la funcion parsea. """ sample = json.loads( json.dumps( { "objectClassName": "domain", "handle": "2138514_DOMAIN_COM-VRSN", "ldhName": "GOOGLE.COM", } ) ) assert sample.get("handle") == "2138514_DOMAIN_COM-VRSN" assert sample.get("ldhName") == "GOOGLE.COM" def test_estructura_dict_de_error(): """Cualquier rama de error conserva las claves status/error/target.""" result = rdap_lookup(" ") assert set(["status", "error", "target"]).issubset(result.keys()) assert result["status"] == "error"