func (c *installerFactoryContext) Blobstore() boshblob.Blobstore { if c.blobstore != nil { return c.blobstore } options := map[string]interface{}{"blobstore_path": c.target.BlobstorePath()} localBlobstore := boshblob.NewLocalBlobstore(c.fs, c.uuidGenerator, options) c.blobstore = boshblob.NewSHA1VerifiableBlobstore(localBlobstore) return c.blobstore }
) var _ = Describe("sha1VerifiableBlobstore", func() { const ( fixturePath = "test_assets/some.config" fixtureSHA1 = "da39a3ee5e6b4b0d3255bfef95601890afd80709" ) var ( innerBlobstore *fakeblob.FakeBlobstore sha1VerifiableBlobstore boshblob.Blobstore ) BeforeEach(func() { innerBlobstore = &fakeblob.FakeBlobstore{} sha1VerifiableBlobstore = boshblob.NewSHA1VerifiableBlobstore(innerBlobstore) }) Describe("Get", func() { It("returns without an error if sha1 matches", func() { innerBlobstore.GetFileName = fixturePath fileName, err := sha1VerifiableBlobstore.Get("fake-blob-id", fixtureSHA1) Expect(err).ToNot(HaveOccurred()) Expect(innerBlobstore.GetBlobIDs).To(Equal([]string{"fake-blob-id"})) Expect(fileName).To(Equal(fixturePath)) }) It("returns error if sha1 does not match", func() { innerBlobstore.GetFileName = fixturePath