@@ -563,18 +563,18 @@ async def test_dns_resolve():
563563 print (" Expect: A records with 1.1.1.x IPs, RDAP holder = APNIC/Cloudflare" )
564564 try :
565565 from models import DNSResolveInput
566- inp = DNSResolveInput (target = "cloudflare.com" , record_type = "A" )
566+ inp = DNSResolveInput (target = "cloudflare.com" )
567567 result = await rir_client .dns_resolve (inp )
568568
569- if result .error :
570- fail ("DNS resolve cloudflare.com" , result .error ); return
569+ if result .errors :
570+ fail ("DNS resolve cloudflare.com" , result .errors [ 0 ] ); return
571571
572- ok ( "Records returned" , f" { len ( result .records ) } A record(s)" ) if result . records else fail ( "Records returned" , "empty" )
573- ips = [ r . value for r in result . records ]
572+ ips = result .a_records
573+ ok ( "Records returned" , f" { len ( ips ) } A record(s)" ) if ips else fail ( "Records returned" , "empty" )
574574 has_cloudflare_ip = any (ip .startswith ("1.1.1." ) or ip .startswith ("104." ) for ip in ips )
575575 ok ("Cloudflare IP returned" , f"IPs: { ips [:3 ]} " ) if has_cloudflare_ip else ok ("A records returned" , f"IPs: { ips [:3 ]} " )
576- if result .rdap_correlation :
577- ok ("RDAP correlation present" , f"holder ={ result .rdap_correlation . get ( 'holder' , '?' ) } " )
576+ if result .rdap_org :
577+ ok ("RDAP correlation present" , f"org ={ result .rdap_org } " )
578578 else :
579579 skip ("RDAP correlation" , "No correlation (may be normal if RDAP lookup skipped)" )
580580 except Exception :
@@ -611,7 +611,7 @@ async def test_dns_dnssec():
611611 inp = DNSSECInput (domain = "cloudflare.com" )
612612 result = await rir_client .dns_dnssec (inp )
613613
614- ok (f"DNSSEC status: { result .status } " , f"chain_valid ={ result .chain_valid } , dnskey_count ={ result .dnskey_count } " )
614+ ok (f"DNSSEC status: { result .status } " , f"has_dnskey ={ result .has_dnskey } , has_rrsig ={ result .has_rrsig } , has_ds= { result . has_ds } " )
615615 if result .status == "SECURE" :
616616 ok ("DNSSEC chain is SECURE" )
617617 elif result .status == "INSECURE" :
@@ -634,7 +634,7 @@ async def test_dns_dnsbl():
634634 result = await rir_client .dns_dnsbl (inp )
635635
636636 listed = [e for e in result .entries if e .listed ]
637- ok (f"Checked { result .lists_checked } blocklists" , f"{ len (listed )} listed" )
637+ ok (f"Checked { result .checked_count } blocklists" , f"{ len (listed )} listed" )
638638 if len (listed ) == 0 :
639639 ok ("1.1.1.1 is CLEAN across all lists" )
640640 elif len (listed ) <= 2 :
@@ -654,14 +654,14 @@ async def test_dns_email_security():
654654 inp = EmailSecurityInput (domain = "cloudflare.com" )
655655 result = await rir_client .dns_email_security (inp )
656656
657- ok ("SPF present" , result .spf_record [:80 ] if result .spf_record else "—" ) if result .spf_present else fail ("SPF present" , "Missing SPF record" )
658- ok ("DMARC present" , result .dmarc_record [: 80 ] if result . dmarc_record else "— " ) if result .dmarc_present else fail ("DMARC present" , "Missing DMARC record" )
657+ ok ("SPF present" , result .spf_record [:80 ] if result .spf_record else "—" ) if result .spf_valid else fail ("SPF present" , "Missing SPF record" )
658+ ok ("DMARC present" , f"policy= { result .dmarc_policy } " ) if result .dmarc_present else fail ("DMARC present" , "Missing DMARC record" )
659659 if result .dmarc_policy in ("reject" , "quarantine" ):
660660 ok (f"DMARC policy is strong" , f"p={ result .dmarc_policy } " )
661661 else :
662662 skip ("DMARC policy strength" , f"p={ result .dmarc_policy } " )
663663 ok (f"MX records found" , f"{ len (result .mx_records )} MX record(s)" ) if result .mx_records else skip ("MX records" , "No MX (may query subdomains)" )
664- ok (f"Risk level assessed" , f"{ result .risk_level } (score= { result . score } ) " )
664+ ok (f"Risk level assessed" , f"{ result .risk_level } " )
665665 except Exception :
666666 fail ("Email security" , traceback .format_exc ()[- 120 :])
667667
@@ -675,10 +675,10 @@ async def test_dns_propagation():
675675 inp = DNSPropagationInput (domain = "cloudflare.com" , record_type = "A" )
676676 result = await rir_client .dns_propagation (inp )
677677
678- ok (f"Queried { len (result .results )} resolvers" , f"majority_answer={ result .majority_answer [:2 ] if result .majority_answer else '?' } " )
679- answered = [e for e in result .results if e .answers ]
680- ok (f"Resolvers answered" , f"{ len (answered )} /{ len (result .results )} returned records" ) if answered else fail ("Resolvers answered" , "None returned records" )
681- if result .propagation_complete :
678+ ok (f"Queried { len (result .entries )} resolvers" , f"majority_answer={ result .majority_answer [:2 ] if result .majority_answer else '?' } " )
679+ answered = [e for e in result .entries if e .response ]
680+ ok (f"Resolvers answered" , f"{ len (answered )} /{ len (result .entries )} returned records" ) if answered else fail ("Resolvers answered" , "None returned records" )
681+ if result .consistent :
682682 ok ("Propagation complete (majority agree)" )
683683 else :
684684 skip ("Propagation complete" , "Some resolvers diverging — transient or expected" )
0 commit comments