Documentation
¶
Overview ¶
Package dnsproxytest provides test utilities and mock implementations for the dnsproxy module interfaces.
Index ¶
- type Handler
- type MessageConstructor
- func (c *MessageConstructor) NewMsgFORMERR(req *dns.Msg) (resp *dns.Msg)
- func (c *MessageConstructor) NewMsgNODATA(req *dns.Msg) (resp *dns.Msg)
- func (c *MessageConstructor) NewMsgNOTIMPLEMENTED(req *dns.Msg) (resp *dns.Msg)
- func (c *MessageConstructor) NewMsgNXDOMAIN(req *dns.Msg) (resp *dns.Msg)
- func (c *MessageConstructor) NewMsgSERVFAIL(req *dns.Msg) (resp *dns.Msg)
- type Middleware
- type QUICTracer
- type Upstream
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Handler ¶
type Handler struct {
OnHandle func(ctx context.Context, p *proxy.Proxy, dctx *proxy.DNSContext) (err error)
}
Handler is a mock proxy.Handler implementation for tests.
type MessageConstructor ¶
type MessageConstructor struct {
OnNewMsgNXDOMAIN func(req *dns.Msg) (resp *dns.Msg)
OnNewMsgSERVFAIL func(req *dns.Msg) (resp *dns.Msg)
OnNewMsgNOTIMPLEMENTED func(req *dns.Msg) (resp *dns.Msg)
OnNewMsgNODATA func(req *dns.Msg) (resp *dns.Msg)
OnNewMsgFORMERR func(req *dns.Msg) (resp *dns.Msg)
}
MessageConstructor is a mock proxy.MessageConstructor implementation for tests.
func NewMessageConstructor ¶
func NewMessageConstructor() (c *MessageConstructor)
NewMessageConstructor creates a new *MessageConstructor with all its methods set to panic.
func (*MessageConstructor) NewMsgFORMERR ¶
func (c *MessageConstructor) NewMsgFORMERR(req *dns.Msg) (resp *dns.Msg)
NewMsgFORMERR implements the proxy.MessageConstructor interface for *MessageConstructor.
func (*MessageConstructor) NewMsgNODATA ¶
func (c *MessageConstructor) NewMsgNODATA(req *dns.Msg) (resp *dns.Msg)
NewMsgNODATA implements the proxy.MessageConstructor interface for *MessageConstructor.
func (*MessageConstructor) NewMsgNOTIMPLEMENTED ¶
func (c *MessageConstructor) NewMsgNOTIMPLEMENTED(req *dns.Msg) (resp *dns.Msg)
NewMsgNOTIMPLEMENTED implements the proxy.MessageConstructor interface for *MessageConstructor.
func (*MessageConstructor) NewMsgNXDOMAIN ¶
func (c *MessageConstructor) NewMsgNXDOMAIN(req *dns.Msg) (resp *dns.Msg)
NewMsgNXDOMAIN implements the proxy.MessageConstructor interface for *MessageConstructor.
func (*MessageConstructor) NewMsgSERVFAIL ¶
func (c *MessageConstructor) NewMsgSERVFAIL(req *dns.Msg) (resp *dns.Msg)
NewMsgSERVFAIL implements the proxy.MessageConstructor interface for *MessageConstructor.
type Middleware ¶
Middleware is a mock proxy.Middleware implementation for tests.
func (*Middleware) Wrap ¶
func (m *Middleware) Wrap(h proxy.Handler) (wrapped proxy.Handler)
Wrap implements the proxy.Middleware interface for *Middleware.
type QUICTracer ¶
type QUICTracer struct {
OnTraceForConnection func(
ctx context.Context,
isClient bool,
connID quic.ConnectionID,
) (trace qlogwriter.Trace)
}
QUICTracer is a mock upstream.QUICTracer implementation for tests.
func (*QUICTracer) TraceForConnection ¶
func (t *QUICTracer) TraceForConnection( ctx context.Context, isClient bool, connID quic.ConnectionID, ) (trace qlogwriter.Trace)
TraceForConnection implements the upstream.QUICTracer interface for *QUICTracer.
type Upstream ¶
type Upstream struct {
OnAddress func() (addr string)
OnExchange func(req *dns.Msg) (resp *dns.Msg, err error)
OnClose func() (err error)
}
Upstream is a mock upstream.Upstream implementation for tests.
func (*Upstream) Address ¶
Address implements the upstream.Upstream interface for *Upstream.
func (*Upstream) Close ¶
Close implements the upstream.Upstream interface for *Upstream.