badIdentifier := db.VolumeIdentifier{ ResourceVersion: atc.Version{"ref": "our super bad ref"}, ResourceHash: "our even badder resource hash", } err = sqlDB.SaveImageResourceVersion(build.ID, "our-super-sweet-plan", identifier) Expect(err).ToNot(HaveOccurred()) err = sqlDB.SaveImageResourceVersion(build.ID, "our-other-super-sweet-plan", otherIdentifier) Expect(err).ToNot(HaveOccurred()) err = sqlDB.SaveImageResourceVersion(otherBuild.ID, "our-super-bad-plan", badIdentifier) Expect(err).ToNot(HaveOccurred()) recoveredIdentifiers, err := sqlDB.GetImageVolumeIdentifiersByBuildID(build.ID) Expect(err).ToNot(HaveOccurred()) Expect(recoveredIdentifiers).To(ConsistOf(identifier, otherIdentifier)) By("not saving versions for non-existent build ids") err = sqlDB.SaveImageResourceVersion(555, "our-super-fake-plan", badIdentifier) Expect(err).To(HaveOccurred()) recoveredFakeIdentifiers, err := sqlDB.GetImageVolumeIdentifiersByBuildID(555) Expect(err).NotTo(HaveOccurred()) Expect(recoveredFakeIdentifiers).To(BeEmpty()) By("replacing the version if the id combination already exists")