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 }