Published fragment Stubbing degenerate network conditions in Go with DialFunc
and net.Conn
, on using DialFunc
to return a minimal stub for net.Conn
that can simulate hard-to-reproduce conditions like an error on Close
.
type connStub struct {
net.Conn
closeFunc func() error
}
func newConnStub(conn net.Conn) *connStub {
return &connStub{
Conn: conn,
closeFunc: conn.Close,
}
}
func (c *connStub) Close() error {
return c.closeFunc()
}