本文整理匯總了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")
})