Skip to content

Commit a2c5f89

Browse files
committed
Add unit tests for controlsvc
1 parent eae8dd4 commit a2c5f89

File tree

5 files changed

+83
-128
lines changed

5 files changed

+83
-128
lines changed

pkg/controlsvc/connect.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func (c *connectCommand) ControlFunc(_ context.Context, nc NetceptorForControlCo
8383
if err != nil {
8484
return nil, err
8585
}
86-
err = cfo.BridgeConn("Connecting\n", rc, "connected service", nc.GetLogger())
86+
err = cfo.BridgeConn("Connecting\n", rc, "connected service", nc.GetLogger(), &Util{})
8787
if err != nil {
8888
return nil, err
8989
}

pkg/controlsvc/controlsvc.go

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,13 @@ func (t *Tls) NewListener(inner net.Listener, config *tls.Config) net.Listener {
8181

8282
// SockControl implements the ControlFuncOperations interface that is passed back to control functions.
8383
type SockControl struct {
84-
conn net.Conn
85-
utils Utiler
86-
io Copier
84+
conn net.Conn
8785
}
8886

89-
func NewSockControl(conn net.Conn, utils Utiler, copier Copier) *SockControl {
87+
// func NewSockControl(conn net.Conn, utils Utiler, copier Copier) *SockControl {
88+
func NewSockControl(conn net.Conn) *SockControl {
9089
return &SockControl{
91-
conn: conn,
92-
utils: utils,
93-
io: copier,
90+
conn: conn,
9491
}
9592
}
9693

@@ -110,21 +107,21 @@ func (s *SockControl) WriteMessage(message string) error {
110107
}
111108

112109
// BridgeConn bridges the socket to another socket.
113-
func (s *SockControl) BridgeConn(message string, bc io.ReadWriteCloser, bcName string, logger *logger.ReceptorLogger) error {
110+
func (s *SockControl) BridgeConn(message string, bc io.ReadWriteCloser, bcName string, logger *logger.ReceptorLogger, utils Utiler) error {
114111
if err := s.WriteMessage(message); err != nil {
115112
return err
116113
}
117-
s.utils.BridgeConns(s.conn, "control service", bc, bcName, logger)
114+
utils.BridgeConns(s.conn, "control service", bc, bcName, logger)
118115

119116
return nil
120117
}
121118

122119
// ReadFromConn copies from the socket to an io.Writer, until EOF.
123-
func (s *SockControl) ReadFromConn(message string, out io.Writer) error {
120+
func (s *SockControl) ReadFromConn(message string, out io.Writer, io Copier) error {
124121
if err := s.WriteMessage(message); err != nil {
125122
return err
126123
}
127-
if _, err := s.io.Copy(out, s.conn); err != nil {
124+
if _, err := io.Copy(out, s.conn); err != nil {
128125
return err
129126
}
130127

@@ -155,10 +152,9 @@ type Server struct {
155152
nc NetceptorForControlsvc
156153
controlFuncLock sync.RWMutex
157154
controlTypes map[string]ControlCommandType
158-
// new stuff
159-
serverUtils Utiler
160-
serverNet Neter
161-
serverTls Tlser
155+
serverUtils Utiler
156+
serverNet Neter
157+
serverTls Tlser
162158
}
163159

164160
// New returns a new instance of a control service.
@@ -318,7 +314,7 @@ func (s *Server) RunControlSession(conn net.Conn) {
318314
}
319315
s.controlFuncLock.RUnlock()
320316
if ct != nil {
321-
cfo := NewSockControl(conn, &Util{}, &SocketConnIO{})
317+
cfo := NewSockControl(conn)
322318

323319
var cfr map[string]interface{}
324320
var cc ControlCommand
@@ -469,12 +465,10 @@ func (s *Server) RunControlSvc(ctx context.Context, service string, tlscfg *tls.
469465
}
470466
}()
471467
for _, listener := range []net.Listener{uli, tli, li} {
472-
if reflect.ValueOf(listener).IsNil() {
468+
if listener == nil || reflect.ValueOf(listener).IsNil() {
473469
continue
474470
}
475-
if listener != nil {
476-
go s.ConnectionListener(ctx, listener)
477-
}
471+
go s.ConnectionListener(ctx, listener)
478472
}
479473

480474
return nil

0 commit comments

Comments
 (0)