 
|
5d1e5ca86c
|
feat: add comprehensive test suite for ExploreDNS
CI / test (pull_request) Failing after 2m36s
- Unit tests for all internal packages exceeding 80% coverage:
- internal/config: 86.2% (ParseMaxDepth, ParseRetries, validation paths)
- internal/dns: 82.9% (IterativeQueryWithExchange, mock DNS server, roots)
- internal/fingerprint: 96.4% (unchanged, already excellent)
- internal/output: 86.7% (formatters, stats, JSON/text output, hooks)
- internal/traverse: 86.7% (SetHooks, ResolveNS, processReferral,
ensureRDFalse, resolveGlueViaSystem, newAQuery, Referral.Resolve)
- Integration tests in internal/integration/:
- End-to-end traversal with mock DNS exchange function
- Referral chain traversal (root -> TLD -> authoritative)
- CNAME resolution and loop detection
- NXDOMAIN and SERVFAIL response handling
- Max depth enforcement
- Context cancellation
- TraverserHooks event delivery
- Mock DNS server helper in internal/dns/roots_test.go using miekg/dns
(enables deterministic testing without network dependency)
- CI updated with coverage reporting step
- Makefile: added 'cover' target for local HTML coverage reports
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-08 03:47:04 +10:00 |
|
 Garyandmultica-agent
|
fce7920611
|
feat: add DNS query/response layer with miekg/dns
Phase 1.2 implementation:
- internal/dns/types.go: DNS record type constants (A, AAAA, NS, CNAME, SOA,
MX, TXT, SRV, PTR, ANY) with QNameType helper and EDNS0 defaults
- internal/dns/query.go: Query/QueryWithExchange with UDP, configurable
EDNS0 buffer size, TCP fallback on truncation, always-TCP mode, configurable
retries with timeout, context support, and injectable ExchangeFunc for testing
- internal/dns/decode.go: Response classification (answer, referral, NODATA,
NXDOMAIN, SERVFAIL), CNAME chain extraction with dedup, truncation/RCODE
detection, and section extraction utilities
32 unit tests covering all acceptance criteria.
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-05 15:14:56 +10:00 |
|