本文整理汇总了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))
})