).Using(inStep, repo) process = ifrit.Invoke(step) }) Context("when the tracker can initialize the resource", func() { var ( fakeResource *rfakes.FakeResource fakeCache *rfakes.FakeCache fakeVersionedSource *rfakes.FakeVersionedSource ) BeforeEach(func() { fakeResource = new(rfakes.FakeResource) fakeCache = new(rfakes.FakeCache) fakeTracker.InitWithCacheReturns(fakeResource, fakeCache, 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() { Expect(fakeTracker.InitWithCacheCallCount()).To(Equal(1)) _, sm, sid, typ, tags, cacheID := fakeTracker.InitWithCacheArgsForCall(0) Expect(sm).To(Equal(stepMetadata)) Expect(sid).To(Equal(resource.Session{ ID: identifier,