resultChan = make(chan desiredstatefetcher.DesiredStateFetcherResult, 1) a1 = appfixture.NewAppFixture() a2 = appfixture.NewAppFixture() a3 = appfixture.NewAppFixture() stateServer.SetDesiredState([]models.DesiredAppState{ a1.DesiredState(1), a2.DesiredState(1), a3.DesiredState(1), }) conf, _ = config.DefaultConfig() store = storepackage.NewStore(conf, storeAdapter, fakelogger.NewFakeLogger()) fetcher = desiredstatefetcher.New(conf, store, fakemetricsaccountant.New(), httpclient.NewHttpClient(conf.SkipSSLVerification, conf.FetcherNetworkTimeout()), &timeprovider.RealTimeProvider{}, fakelogger.NewFakeLogger()) fetcher.Fetch(resultChan) }) It("requests for the first set of data from the CC and stores the response", func() { var desired map[string]models.DesiredAppState var err error Eventually(func() interface{} { desired, err = store.GetDesiredState() return desired }, 1, 0.1).ShouldNot(BeEmpty()) Ω(desired).Should(HaveKey(a1.AppGuid + "," + a1.AppVersion)) Ω(desired).Should(HaveKey(a2.AppGuid + "," + a2.AppVersion)) Ω(desired).Should(HaveKey(a3.AppGuid + "," + a3.AppVersion)) })
conf *config.Config fetcher *DesiredStateFetcher httpClient *fakehttpclient.FakeHttpClient timeProvider *faketimeprovider.FakeTimeProvider store storepackage.Store storeAdapter *fakestoreadapter.FakeStoreAdapter resultChan chan DesiredStateFetcherResult metricsAccountant *fakemetricsaccountant.FakeMetricsAccountant ) BeforeEach(func() { var err error conf, err = config.DefaultConfig() Ω(err).ShouldNot(HaveOccurred()) metricsAccountant = fakemetricsaccountant.New() resultChan = make(chan DesiredStateFetcherResult, 1) timeProvider = &faketimeprovider.FakeTimeProvider{ TimeToProvide: time.Unix(100, 0), } httpClient = fakehttpclient.NewFakeHttpClient() storeAdapter = fakestoreadapter.New() store = storepackage.NewStore(conf, storeAdapter, fakelogger.NewFakeLogger()) fetcher = New(conf, store, metricsAccountant, httpClient, timeProvider, fakelogger.NewFakeLogger()) fetcher.Fetch(resultChan) }) Describe("Fetching with an invalid URL", func() {