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, Ephemeral: false, })) Ω(typ).Should(Equal(resource.ResourceType("some-resource-type"))) Ω(tags).Should(ConsistOf("some", "tags")) })