}) Describe("HandleConnection", func() { var fakeConn *fake_net.FakeConn Context("when the function returns", func() { BeforeEach(func() { fakeConn = &fake_net.FakeConn{} fakeConn.ReadReturns(0, errors.New("oops")) sshd = daemon.New(logger, serverSSHConfig, nil, nil) }) It("closes the connection", func() { sshd.HandleConnection(fakeConn) Expect(fakeConn.CloseCallCount()).To(BeNumerically(">=", 1)) }) }) Context("when an ssh client connects", func() { var ( serverNetConn net.Conn clientNetConn net.Conn clientConn ssh.Conn clientChannels <-chan ssh.NewChannel clientRequests <-chan *ssh.Request clientConnErr error client *ssh.Client )