fakeConnection.SendRequestStub = func(reqName string, wantReply bool, message []byte) (bool, []byte, error) { Expect(reqName).To(Equal("*****@*****.**")) Expect(wantReply).To(BeTrue()) Expect(message).To(BeNil()) times = append(times, time.Now()) if len(times) == 3 { timesCh <- times close(done) } return true, nil, nil } fakeSecureClient.WaitStub = func() error { Eventually(done).Should(BeClosed()) return nil } }) It("sends keep alive messages at the expected interval", func() { Expect(waitErr).NotTo(HaveOccurred()) times := <-timesCh Expect(times[2]).To(BeTemporally("~", times[0].Add(200*time.Millisecond), 100*time.Millisecond)) }) }) }) Describe("Close", func() { var opts *options.SSHOptions BeforeEach(func() {