testutil

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2026 License: BSD-2-Clause Imports: 12 Imported by: 0

Documentation

Overview

Package testutil provides utilities for testing with mindns. It exposes an in-process test server for integration testing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// DNSAddr is the listen address for the DNS server (e.g., "127.0.0.1:5353").
	// If empty, defaults to "127.0.0.1:0" (random port on localhost).
	DNSAddr string
	// GRPCAddr is the listen address for the gRPC server (e.g., "127.0.0.1:50051").
	// If empty, defaults to "127.0.0.1:0" (random port on localhost).
	GRPCAddr string
}

Config configures the test server.

type TestServer

type TestServer struct {
	// contains filtered or unexported fields
}

TestServer is an in-process mindns server for testing. It runs both DNS and gRPC servers with an in-memory store.

func NewTestServer

func NewTestServer(cfg Config) (*TestServer, error)

NewTestServer creates a new test server with in-memory storage. Call Start() to begin serving requests.

func (*TestServer) AuthStore added in v0.7.1

func (s *TestServer) AuthStore() *auth.Store

AuthStore returns the auth store for API key management in tests.

func (*TestServer) Client added in v0.7.1

Client returns a connected gRPC client for the test server. The caller is responsible for closing the connection.

func (*TestServer) CreateZone

func (s *TestServer) CreateZone(ctx context.Context, name string) error

CreateZone is a convenience method to create a test zone.

func (*TestServer) DNSAddr

func (s *TestServer) DNSAddr() string

DNSAddr returns the DNS server address (e.g., "127.0.0.1:5353").

func (*TestServer) GRPCAddr

func (s *TestServer) GRPCAddr() string

GRPCAddr returns the gRPC server address (e.g., "127.0.0.1:50051").

func (*TestServer) Manager

func (s *TestServer) Manager() *zone.Manager

Manager returns the zone manager for direct manipulation in tests.

func (*TestServer) Start

func (s *TestServer) Start() error

Start begins serving DNS and gRPC requests. This method blocks until the server is stopped. For non-blocking operation, call StartBackground().

func (*TestServer) StartAndWait added in v0.7.1

func (s *TestServer) StartAndWait(ctx context.Context) error

StartAndWait starts the servers in background and waits for them to be ready. This is a convenience method combining StartBackground() and WaitReady().

func (*TestServer) StartBackground

func (s *TestServer) StartBackground()

StartBackground starts the servers in background goroutines. Returns immediately after starting.

func (*TestServer) Stop

func (s *TestServer) Stop(ctx context.Context) error

Stop gracefully stops the test server and releases resources.

func (*TestServer) Store added in v0.7.1

func (s *TestServer) Store() *store.Store

Store returns the underlying store for direct manipulation in tests.

func (*TestServer) WaitReady added in v0.7.1

func (s *TestServer) WaitReady(ctx context.Context) error

WaitReady waits for both DNS and gRPC servers to be ready to accept connections. It returns an error if the servers are not ready within the timeout.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL