copier = fakecmd.NewFakeCopier() action = NewFetchLogs(compressor, copier, blobstore, dirProvider) }) It("logs should be asynchronous", func() { Expect(action.IsAsynchronous()).To(BeTrue()) }) It("is not persistent", func() { Expect(action.IsPersistent()).To(BeFalse()) }) Describe("Run", func() { testLogs := func(logType string, filters []string, expectedFilters []string) { copier.FilteredCopyToTempTempDir = "/fake-temp-dir" compressor.CompressFilesInDirTarballPath = "logs_test.tar" blobstore.CreateBlobID = "my-blob-id" logs, err := action.Run(logType, filters) Expect(err).ToNot(HaveOccurred()) var expectedPath string switch logType { case "job": expectedPath = filepath.Join("/fake", "dir", "sys", "log") case "agent": expectedPath = filepath.Join("/fake", "dir", "bosh", "log") } Expect(copier.FilteredCopyToTempDir).To(Equal(expectedPath)) Expect(copier.FilteredCopyToTempFilters).To(Equal(expectedFilters))