func getAllCfCommands(connection *fakes.FakeCliConnection) (commands []string) { commands = []string{} for i := 0; i < connection.CliCommandCallCount(); i++ { args := connection.CliCommandArgsForCall(i) commands = append(commands, strings.Join(args, " ")) } return }
var ( cliConn *fakes.FakeCliConnection repo *ApplicationRepo ) BeforeEach(func() { cliConn = &fakes.FakeCliConnection{} repo = NewApplicationRepo(cliConn) }) Describe("RenameApplication", func() { It("renames the application", func() { err := repo.RenameApplication("old-name", "new-name") Ω(err).ShouldNot(HaveOccurred()) Ω(cliConn.CliCommandCallCount()).Should(Equal(1)) args := cliConn.CliCommandArgsForCall(0) Ω(args).Should(Equal([]string{"rename", "old-name", "new-name"})) }) It("returns an error if one occurs", func() { cliConn.CliCommandReturns([]string{}, errors.New("no app")) err := repo.RenameApplication("old-name", "new-name") Ω(err).Should(MatchError("no app")) }) }) Describe("PushApplication", func() { It("pushes an application with both a manifest and a path", func() { err := repo.PushApplication([]string{"push", "myapp", "-f", "/path/to/a/manifest.yml", "-p", "/path/to/the/app"})
BeforeEach(func() { apps = []Application{ {Name: "app-name"}, } appLister := &fakeAppLister{Apps: apps} p.AppLister = appLister }) It("succeeds", func() { p.DeleteAllAppsExceptLiveApp("app-name") Expect(bgdExitsWithErrors).To(HaveLen(0)) }) It("deletes nothing", func() { p.DeleteAllAppsExceptLiveApp("app-name") Expect(connection.CliCommandCallCount()).To(Equal(0)) }) }) }) Describe("deleting apps", func() { Context("when there is an old version deployed", func() { apps := []Application{ {Name: "app-name-old"}, {Name: "app-name-old"}, } It("deletes the apps", func() { p.DeleteAppVersions(apps) cfCommands := getAllCfCommands(connection)