}) JustBeforeEach(func() { step = factory.DependentGet(sourceName, identifier, getDelegate, resourceConfig, tags, params).Using(inStep, repo) process = ifrit.Invoke(step) }) Context("when the tracker can initialize the resource", func() { var ( fakeResource *rfakes.FakeResource fakeVersionedSource *rfakes.FakeVersionedSource ) BeforeEach(func() { fakeResource = new(rfakes.FakeResource) fakeTracker.InitReturns(fakeResource, nil) fakeVersionedSource = new(rfakes.FakeVersionedSource) fakeVersionedSource.VersionReturns(atc.Version{"some": "version"}) fakeVersionedSource.MetadataReturns([]atc.MetadataField{{"some", "metadata"}}) fakeResource.GetReturns(fakeVersionedSource) }) It("initializes the resource with the correct type and session id, making sure that it is not ephemeral", func() { Ω(fakeTracker.InitCallCount()).Should(Equal(1)) sid, typ, tags := fakeTracker.InitArgsForCall(0) Ω(sid).Should(Equal(resource.Session{ ID: identifier,
locker.AcquireWriteLockReturns(writeLock, nil) writeImmediatelyLock = new(dbfakes.FakeLock) locker.AcquireWriteLockImmediatelyReturns(writeImmediatelyLock, nil) }) Describe("Scanner", func() { var ( fakeResource *rfakes.FakeResource times chan time.Time ) BeforeEach(func() { fakeResource = new(rfakes.FakeResource) fakeTracker.InitReturns(fakeResource, nil) times = make(chan time.Time, 100) fakeResource.CheckStub = func(atc.Source, atc.Version) ([]atc.Version, error) { times <- time.Now() return nil, nil } }) JustBeforeEach(func() { process = ifrit.Invoke(radar.Scanner(lagertest.NewTestLogger("test"), "some-resource")) }) AfterEach(func() { process.Signal(os.Interrupt)