_, err = runner.RunCommand("fake-log-dir-name", "fake-log-file-name", cmd) Expect(err).ToNot(HaveOccurred()) Expect(fs.FileExists("/fake-base-dir/fake-log-dir-name/old-file")).To(BeFalse()) }) It("returns an error if it fails to remove previous logs directory", func() { fs.RemoveAllError = errors.New("fake-remove-all-error") _, err := runner.RunCommand("fake-log-dir-name", "fake-log-file-name", cmd) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-remove-all-error")) }) It("returns an error if it fails to create logs directory", func() { fs.MkdirAllError = errors.New("fake-mkdir-all-error") _, err := runner.RunCommand("fake-log-dir-name", "fake-log-file-name", cmd) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-mkdir-all-error")) }) It("executes given command", func() { _, err := runner.RunCommand("fake-log-dir-name", "fake-log-file-name", cmd) Expect(err).ToNot(HaveOccurred()) Expect(cmdRunner.RunComplexCommands).To(HaveLen(1)) actualCmd := cmdRunner.RunComplexCommands[0] Expect(actualCmd.Name).To(Equal("fake-cmd")) Expect(actualCmd.Args).To(Equal([]string{"fake-args"}))