BeforeEach(func() { mockCtrl = gomock.NewController(GinkgoT()) }) AfterEach(func() { mockCtrl.Finish() }) var ( logger boshlog.Logger compiler bistatepkg.Compiler runner *fakesys.FakeCmdRunner pkg *birelpkg.Package fs *fakesys.FakeFileSystem compressor *fakecmd.FakeCompressor packagesDir string blobstore *fakeblobstore.FakeBlobstore mockCompiledPackageRepo *mock_state_package.MockCompiledPackageRepo fakeExtractor *fakeblobextract.FakeExtractor dependency1 *birelpkg.Package dependency2 *birelpkg.Package ) BeforeEach(func() { logger = boshlog.NewLogger(boshlog.LevelNone) packagesDir = "fake-packages-dir" runner = fakesys.NewFakeCmdRunner() fs = fakesys.NewFakeFileSystem() compressor = fakecmd.NewFakeCompressor()
"errors" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-init/release" fakecmd "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/fileutil/fakes" fakesys "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes" bireljob "github.com/cloudfoundry/bosh-init/release/job" birelpkg "github.com/cloudfoundry/bosh-init/release/pkg" ) var _ = Describe("tarReader", func() { var ( reader Reader fakeFs *fakesys.FakeFileSystem compressor *fakecmd.FakeCompressor ) BeforeEach(func() { fakeFs = fakesys.NewFakeFileSystem() compressor = fakecmd.NewFakeCompressor() reader = NewReader("/some/release.tgz", "/extracted/release", fakeFs, compressor) }) Describe("Read", func() { Context("when the given release archive is a valid tar", func() { Context("when the release manifest is valid", func() { BeforeEach(func() { fakeFs.WriteFileString( "/extracted/release/release.MF",
import ( . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-init/release/job" bosherr "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/errors" fakecmd "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/fileutil/fakes" biproperty "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/property" fakesys "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes" ) var _ = Describe("Reader", func() { var ( compressor *fakecmd.FakeCompressor fakeFs *fakesys.FakeFileSystem reader Reader ) BeforeEach(func() { compressor = fakecmd.NewFakeCompressor() fakeFs = fakesys.NewFakeFileSystem() reader = NewReader("/some/job/archive", "/extracted/job", compressor, fakeFs) }) Context("when the job archive is a valid tar", func() { Context("when the job manifest is valid", func() { BeforeEach(func() { fakeFs.WriteFileString( "/extracted/job/job.MF", `--- name: fake-job
fakeblobstore "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/blobstore/fakes" fakecmd "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/fileutil/fakes" boshlog "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/logger" fakesys "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega" ) var _ = Describe("Extractor", func() { var ( extractor Extractor blobstore *fakeblobstore.FakeBlobstore targetDir string compressor *fakecmd.FakeCompressor logger boshlog.Logger fs *fakesys.FakeFileSystem blobID string blobSHA1 string fileName string fakeError error ) BeforeEach(func() { blobstore = fakeblobstore.NewFakeBlobstore() targetDir = "fake-target-dir" compressor = fakecmd.NewFakeCompressor() logger = boshlog.NewLogger(boshlog.LevelNone) fs = fakesys.NewFakeFileSystem() blobID = "fake-blob-id" blobSHA1 = "fake-sha1"
Expect(err).ToNot(HaveOccurred()) Expect(content).To(Equal("fake-rendered-job-0-script-0-content")) content, err = fs.ReadFileString(filepath.Join(renderedJobListDir, "fake-job-name-0", "script-1")) Expect(err).ToNot(HaveOccurred()) Expect(content).To(Equal("fake-rendered-job-0-script-1-content")) // verify that archive contained rendered scripts from job 1 content, err = fs.ReadFileString(filepath.Join(renderedJobListDir, "fake-job-name-1", "script-0")) Expect(err).ToNot(HaveOccurred()) Expect(content).To(Equal("fake-rendered-job-1-script-0-content")) }) }) Context("with a fake fs & compressor", func() { var ( fakeFS *fakeboshsys.FakeFileSystem fakeCompressor *fakeboshcmd.FakeCompressor ) BeforeEach(func() { fakeFS = fakeboshsys.NewFakeFileSystem() fakeCompressor = fakeboshcmd.NewFakeCompressor() renderedJobListCompressor = NewRenderedJobListCompressor(fakeFS, fakeCompressor, fakeSHA1Calculator, logger) }) It("calculates the fingerprint of the rendered", func() { fakeFS.TempDirDir = "fake-rendered-job-list-path" fakeSHA1Calculator.SetCalculateBehavior(map[string]fakebicrypto.CalculateInput{ "fake-rendered-job-list-path": fakebicrypto.CalculateInput{Sha1: "fake-sha1"},
AfterEach(func() { mockCtrl.Finish() }) var ( mockJobListRenderer *mock_template.MockJobListRenderer fakeCompressor *fakeboshcmd.FakeCompressor fakeBlobstore *fakeboshblob.FakeBlobstore fakeFS *fakeboshsys.FakeFileSystem logger boshlog.Logger renderer installation.JobRenderer releaseJob bireljob.Job releaseJobs []bireljob.Job manifest biinstallmanifest.Manifest fakeStage *fakebiui.FakeStage releasePackage1 *birelpkg.Package releasePackage2 *birelpkg.Package expectJobRender *gomock.Call renderedJobList bitemplate.RenderedJobList ) BeforeEach(func() { mockJobListRenderer = mock_template.NewMockJobListRenderer(mockCtrl) fakeCompressor = fakeboshcmd.NewFakeCompressor()
import ( "errors" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/ginkgo" . "github.com/cloudfoundry/bosh-init/internal/github.com/onsi/gomega" . "github.com/cloudfoundry/bosh-init/stemcell" fakecmd "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/fileutil/fakes" biproperty "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/property" fakesys "github.com/cloudfoundry/bosh-init/internal/github.com/cloudfoundry/bosh-utils/system/fakes" ) var _ = Describe("Reader", func() { var ( compressor *fakecmd.FakeCompressor stemcellReader Reader fs *fakesys.FakeFileSystem ) BeforeEach(func() { compressor = fakecmd.NewFakeCompressor() fs = fakesys.NewFakeFileSystem() stemcellReader = NewReader(compressor, fs) manifestContents := ` --- name: fake-stemcell-name version: '2690' cloud_properties: infrastructure: aws ami: