fs.TempDirDir = stemcellExtractionDir extractor = NewExtractor(reader, fs) expectedExtractedStemcell = NewExtractedStemcell( Manifest{ Name: "fake-stemcell-name", ImagePath: "fake-image-path", CloudProperties: biproperty.Map{ "fake-prop-key": "fake-prop-value", }, }, stemcellExtractionDir, fs, ) reader.SetReadBehavior(stemcellTarballPath, stemcellExtractionDir, expectedExtractedStemcell, nil) }) Describe("Extract", func() { Context("when the extraction succeeeds", func() { It("extracts and parses the stemcell manifest", func() { stemcell, err := extractor.Extract(stemcellTarballPath) Expect(err).ToNot(HaveOccurred()) Expect(stemcell).To(Equal(expectedExtractedStemcell)) Expect(reader.ReadInputs).To(Equal([]fakebistemcell.ReadInput{ { StemcellTarballPath: stemcellTarballPath, DestPath: stemcellExtractionDir, }, }))
tempExtractionDir = "/path/to/dest" fs.TempDirDir = tempExtractionDir expectedExtractedStemcell = NewExtractedStemcell( Manifest{ Name: "fake-stemcell-name", Version: "fake-stemcell-version", ImagePath: "fake-image-path", CloudProperties: biproperty.Map{ "fake-prop-key": "fake-prop-value", }, }, tempExtractionDir, fs, ) reader.SetReadBehavior(stemcellTarballPath, tempExtractionDir, expectedExtractedStemcell, nil) }) Describe("Upload", func() { var ( expectedCloudStemcell CloudStemcell ) BeforeEach(func() { fakeCloud.CreateStemcellCID = "fake-stemcell-cid" stemcellRecord := biconfig.StemcellRecord{ CID: "fake-stemcell-cid", Name: "fake-stemcell-name", Version: "fake-stemcell-version", } expectedCloudStemcell = NewCloudStemcell(stemcellRecord, stemcellRepo, fakeCloud)