func NewProvider(platform boshplatform.Platform, logger boshlog.Logger) ClientProvider { httpClient := http.DefaultClient shortHTTPClient := boshhttp.NewRetryClient( httpClient, shortRetryStrategyAttempts, retryDelay, logger, ) longHTTPClient := NewMonitRetryClient( httpClient, longRetryStrategyAttempts, shortRetryStrategyAttempts, retryDelay, logger, ) return clientProvider{ platform: platform, logger: logger, shortHTTPClient: shortHTTPClient, longHTTPClient: longHTTPClient, } }
. "github.com/cloudfoundry/bosh-agent/jobsupervisor/monit" ) var _ = Describe("clientProvider", func() { It("Get", func() { logger := boshlog.NewLogger(boshlog.LevelNone) platform := fakeplatform.NewFakePlatform() platform.GetMonitCredentialsUsername = "******" platform.GetMonitCredentialsPassword = "******" client, err := NewProvider(platform, logger).Get() Expect(err).ToNot(HaveOccurred()) httpClient := http.DefaultClient shortHTTPClient := boshhttp.NewRetryClient(httpClient, 20, 1*time.Second, logger) longHTTPClient := NewMonitRetryClient(httpClient, 300, 20, 1*time.Second, logger) expectedClient := NewHTTPClient( "127.0.0.1:2822", "fake-user", "fake-pass", shortHTTPClient, longHTTPClient, logger, ) Expect(client).To(Equal(expectedClient)) }) })