github.com/nsqio/nsq@v1.3.0/internal/test/fakes.go (about)

     1  package test
     2  
     3  import (
     4  	"net"
     5  	"time"
     6  )
     7  
     8  type FakeNetConn struct {
     9  	ReadFunc             func([]byte) (int, error)
    10  	WriteFunc            func([]byte) (int, error)
    11  	CloseFunc            func() error
    12  	LocalAddrFunc        func() net.Addr
    13  	RemoteAddrFunc       func() net.Addr
    14  	SetDeadlineFunc      func(time.Time) error
    15  	SetReadDeadlineFunc  func(time.Time) error
    16  	SetWriteDeadlineFunc func(time.Time) error
    17  }
    18  
    19  func (f FakeNetConn) Read(b []byte) (int, error)         { return f.ReadFunc(b) }
    20  func (f FakeNetConn) Write(b []byte) (int, error)        { return f.WriteFunc(b) }
    21  func (f FakeNetConn) Close() error                       { return f.CloseFunc() }
    22  func (f FakeNetConn) LocalAddr() net.Addr                { return f.LocalAddrFunc() }
    23  func (f FakeNetConn) RemoteAddr() net.Addr               { return f.RemoteAddrFunc() }
    24  func (f FakeNetConn) SetDeadline(t time.Time) error      { return f.SetDeadlineFunc(t) }
    25  func (f FakeNetConn) SetReadDeadline(t time.Time) error  { return f.SetReadDeadlineFunc(t) }
    26  func (f FakeNetConn) SetWriteDeadline(t time.Time) error { return f.SetWriteDeadlineFunc(t) }
    27  
    28  type fakeNetAddr struct{}
    29  
    30  func (fakeNetAddr) Network() string { return "" }
    31  func (fakeNetAddr) String() string  { return "" }
    32  
    33  func NewFakeNetConn() FakeNetConn {
    34  	netAddr := fakeNetAddr{}
    35  	return FakeNetConn{
    36  		ReadFunc:             func(b []byte) (int, error) { return 0, nil },
    37  		WriteFunc:            func(b []byte) (int, error) { return len(b), nil },
    38  		CloseFunc:            func() error { return nil },
    39  		LocalAddrFunc:        func() net.Addr { return netAddr },
    40  		RemoteAddrFunc:       func() net.Addr { return netAddr },
    41  		SetDeadlineFunc:      func(time.Time) error { return nil },
    42  		SetWriteDeadlineFunc: func(time.Time) error { return nil },
    43  		SetReadDeadlineFunc:  func(time.Time) error { return nil },
    44  	}
    45  }