func NewFakePlatform() (platform *FakePlatform) { platform = new(FakePlatform) platform.Fs = fakesys.NewFakeFileSystem() platform.Runner = fakesys.NewFakeCmdRunner() platform.FakeCompressor = fakecmd.NewFakeCompressor() platform.FakeCopier = fakecmd.NewFakeCopier() platform.FakeVitalsService = fakevitals.NewFakeService() platform.DevicePathResolver = fakedpresolv.NewFakeDevicePathResolver() platform.AddUserToGroupsGroups = make(map[string][]string) platform.SetupSSHPublicKeys = make(map[string]string) platform.UserPasswords = make(map[string]string) platform.ScsiDiskMap = make(map[string]string) platform.GetFileContentsFromDiskDiskPaths = []string{} platform.GetFileContentsFromDiskFileNames = [][]string{} platform.GetFileContentsFromDiskContents = map[string][]byte{} platform.GetFileContentsFromDiskErrs = map[string]error{} platform.certManager = new(fakecert.FakeManager) return }
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", `--- name: fake-release version: fake-version commit_hash: abc123 uncommitted_changes: true
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"}, }) archive, err := renderedJobListCompressor.Compress(renderedJobList) Expect(err).ToNot(HaveOccurred()) Expect(archive.Fingerprint()).To(Equal("fake-sha1"))