Ejemplo n.º 1
0
		var (
			retryClient Client
			maxAttempts int
			fakeClient  *fakehttp.FakeClient
		)

		BeforeEach(func() {
			fakeClient = fakehttp.NewFakeClient()
			logger := boshlog.NewLogger(boshlog.LevelNone)
			maxAttempts = 7

			retryClient = NewRetryClient(fakeClient, uint(maxAttempts), 0, logger)
		})

		It("returns response from retryable request", func() {
			fakeClient.SetMessage("fake-response-body")
			fakeClient.StatusCode = 204

			req := &http.Request{}
			resp, err := retryClient.Do(req)
			Expect(err).ToNot(HaveOccurred())

			Expect(readString(resp.Body)).To(Equal("fake-response-body"))
			Expect(resp.StatusCode).To(Equal(204))
		})

		It("attemps once if request is successful", func() {
			fakeClient.StatusCode = 200

			req := &http.Request{}
			resp, err := retryClient.Do(req)