本文整理汇总了Golang中github.com/cloudfoundry/bosh-utils/http/fakes.FakeClient.Error方法的典型用法代码示例。如果您正苦于以下问题:Golang FakeClient.Error方法的具体用法?Golang FakeClient.Error怎么用?Golang FakeClient.Error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry/bosh-utils/http/fakes.FakeClient
的用法示例。
在下文中一共展示了FakeClient.Error方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1:
fakeClient.StatusCode = 200
_, err := requestRetryable.Attempt()
Expect(err).ToNot(HaveOccurred())
resp := requestRetryable.Response()
Expect(readString(resp.Body)).To(Equal("fake-response-body"))
Expect(resp.StatusCode).To(Equal(200))
Expect(fakeClient.CallCount).To(Equal(1))
Expect(fakeClient.Requests).To(ContainElement(request))
})
Context("when request returns an error", func() {
BeforeEach(func() {
fakeClient.Error = errors.New("fake-response-error")
})
It("is retryable", func() {
isRetryable, err := requestRetryable.Attempt()
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("fake-response-error"))
Expect(isRetryable).To(BeTrue())
})
})
Context("when response status code is not between 200 and 300", func() {
BeforeEach(func() {
fakeClient.SetMessage("fake-response-body")
fakeClient.StatusCode = 404
})
示例2:
Describe("Get", func() {
It("returns the response body from the given path", func() {
fakeHTTPClient.StatusCode = 200
fakeHTTPClient.SetMessage("response")
responseBody, err := client.Get("/")
Expect(err).NotTo(HaveOccurred())
buf := make([]byte, 1024)
n, _ := responseBody.Read(buf)
Expect(string(buf[0:n])).To(Equal("response"))
})
Context("when the http request fails", func() {
BeforeEach(func() {
fakeHTTPClient.Error = errors.New("")
})
It("returns err", func() {
responseBody, err := client.Get("/")
Expect(responseBody).To(BeNil())
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Getting dav blob /"))
})
})
Context("when the http response code is not 200", func() {
BeforeEach(func() {
fakeHTTPClient.StatusCode = 300
fakeHTTPClient.SetMessage("response")
})