本文整理匯總了Golang中github.com/cloudfoundry-incubator/diego-ssh/test_helpers/fake_ssh.FakeConn.SendRequestStub方法的典型用法代碼示例。如果您正苦於以下問題:Golang FakeConn.SendRequestStub方法的具體用法?Golang FakeConn.SendRequestStub怎麽用?Golang FakeConn.SendRequestStub使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry-incubator/diego-ssh/test_helpers/fake_ssh.FakeConn
的用法示例。
在下文中一共展示了FakeConn.SendRequestStub方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
var timesCh chan []time.Time
var done chan struct{}
BeforeEach(func() {
keepAliveDuration = 100 * time.Millisecond
times = []time.Time{}
timesCh = make(chan []time.Time, 1)
done = make(chan struct{}, 1)
fakeConnection.SendRequestStub = func(reqName string, wantReply bool, message []byte) (bool, []byte, error) {
Expect(reqName).To(Equal("[email protected]"))
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
}
fakeSecureSession.WaitStub = func() error {
Eventually(done).Should(BeClosed())
return nil
}
})
It("sends keep alive messages at the expected interval", func() {
times := <-timesCh
Expect(times[2]).To(BeTemporally("~", times[0].Add(200*time.Millisecond), 100*time.Millisecond))
示例2:
Expect(payload).To(Equal([]byte("test-data")))
reqType, wantReply, payload = sshConn.SendRequestArgsForCall(1)
Expect(reqType).To(Equal("test"))
Expect(wantReply).To(BeFalse())
Expect(payload).To(Equal([]byte("test-data")))
})
})
Context("when SendRequest fails", func() {
BeforeEach(func() {
callCount := 0
sshConn.SendRequestStub = func(rt string, wr bool, p []byte) (bool, []byte, error) {
callCount++
if callCount == 1 {
return false, nil, errors.New("woops")
}
return true, nil, nil
}
reqChan <- &ssh.Request{}
reqChan <- &ssh.Request{}
})
AfterEach(func() {
close(reqChan)
})
It("continues processing requests", func() {
Eventually(sshConn.SendRequestCallCount).Should(Equal(2))
})