예제 #1
0
	. "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/http"

	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo"
	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega"

	fakehttp "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/http/fakes"

	boshlog "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/logger"
)

var _ = Describe("RequestRetryable", func() {
	Describe("Attempt", func() {
		var (
			requestRetryable RequestRetryable
			request          *http.Request
			fakeClient       *fakehttp.FakeClient
		)

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

			request = &http.Request{
				Body: ioutil.NopCloser(strings.NewReader("fake-request-body")),
			}

			requestRetryable = NewRequestRetryable(request, fakeClient, logger)
		})

		It("calls Do on the delegate", func() {
예제 #2
0
	"errors"
	"io/ioutil"
	"strings"

	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo"
	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega"

	. "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-davcli/client"
	davconf "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-davcli/config"
	fakehttp "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/http/fakes"
)

var _ = Describe("Client", func() {
	var (
		fakeHTTPClient *fakehttp.FakeClient
		config         davconf.Config
		client         Client
	)

	BeforeEach(func() {
		fakeHTTPClient = fakehttp.NewFakeClient()
		client = NewClient(config, fakeHTTPClient)
	})

	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())
예제 #3
0
	"net/http"

	fakehttp "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/http/fakes"
	boshlog "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/logger"

	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo"
	. "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega"

	. "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/http"
)

var _ = Describe("RetryClient", func() {
	Describe("Do", func() {
		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