Pure-Go tests for formatters, layout resolution, and validators — no fixtures, no external processes. Targets previously-zero functions the triage scan flagged as low-hanging fruit. cli 55% -> 65% paths 64% -> 91% system 65% -> 75% vmdns 72% -> 86% toolingplan 73% -> 78% Total 52.6% -> 54.0%.
93 lines
2.3 KiB
Go
93 lines
2.3 KiB
Go
package vmdns
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestServerRemoveDropsRecord(t *testing.T) {
|
|
server := startTestServer(t)
|
|
if err := server.Set("devbox.vm", "172.16.0.8"); err != nil {
|
|
t.Fatalf("Set: %v", err)
|
|
}
|
|
if _, ok := server.Lookup("devbox.vm"); !ok {
|
|
t.Fatal("record missing before remove")
|
|
}
|
|
|
|
if err := server.Remove("devbox.vm"); err != nil {
|
|
t.Fatalf("Remove: %v", err)
|
|
}
|
|
if _, ok := server.Lookup("devbox.vm"); ok {
|
|
t.Fatal("record still present after Remove")
|
|
}
|
|
}
|
|
|
|
func TestServerRemoveInvalidNameIsNoop(t *testing.T) {
|
|
server := startTestServer(t)
|
|
// Non-.vm names silently normalize-fail, returning nil.
|
|
if err := server.Remove("example.com"); err != nil {
|
|
t.Fatalf("Remove: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestServerRemoveNilReceiver(t *testing.T) {
|
|
var s *Server
|
|
if err := s.Remove("anything.vm"); err != nil {
|
|
t.Fatalf("nil Remove: %v", err)
|
|
}
|
|
}
|
|
|
|
func TestServerSetRejectsIPv6(t *testing.T) {
|
|
server := startTestServer(t)
|
|
if err := server.Set("six.vm", "::1"); err == nil {
|
|
t.Fatal("expected error for IPv6 address")
|
|
}
|
|
}
|
|
|
|
func TestServerSetRejectsBadIP(t *testing.T) {
|
|
server := startTestServer(t)
|
|
if err := server.Set("bad.vm", "not-an-ip"); err == nil {
|
|
t.Fatal("expected parse error for bogus IP")
|
|
}
|
|
}
|
|
|
|
func TestServerSetRejectsNonVMName(t *testing.T) {
|
|
server := startTestServer(t)
|
|
if err := server.Set("example.com", "172.16.0.1"); err == nil {
|
|
t.Fatal("expected error for non-.vm name")
|
|
}
|
|
}
|
|
|
|
func TestServerReplaceRejectsBadIP(t *testing.T) {
|
|
server := startTestServer(t)
|
|
err := server.Replace(map[string]string{"bad.vm": "nope"})
|
|
if err == nil {
|
|
t.Fatal("expected parse error")
|
|
}
|
|
}
|
|
|
|
func TestServerReplaceRejectsIPv6(t *testing.T) {
|
|
server := startTestServer(t)
|
|
err := server.Replace(map[string]string{"six.vm": "::1"})
|
|
if err == nil {
|
|
t.Fatal("expected IPv6 rejection")
|
|
}
|
|
}
|
|
|
|
func TestServerNilLookupAndAddr(t *testing.T) {
|
|
var s *Server
|
|
if _, ok := s.Lookup("x.vm"); ok {
|
|
t.Fatal("nil Lookup should return false")
|
|
}
|
|
if got := s.Addr(); got != "" {
|
|
t.Fatalf("nil Addr = %q, want empty", got)
|
|
}
|
|
if err := s.Close(); err != nil {
|
|
t.Fatalf("nil Close: %v", err)
|
|
}
|
|
if err := s.Set("x.vm", "172.16.0.1"); err != nil {
|
|
t.Fatalf("nil Set: %v", err)
|
|
}
|
|
if err := s.Replace(map[string]string{"x.vm": "172.16.0.1"}); err != nil {
|
|
t.Fatalf("nil Replace: %v", err)
|
|
}
|
|
}
|