currentTime := time.Now() recentLogs := []*logmessage.LogMessage{ testlogs.NewLogMessage("Log Line 1", app.Guid, "DEA", "1", logmessage.LogMessage_ERR, currentTime), testlogs.NewLogMessage("Log Line 2", app.Guid, "DEA", "1", logmessage.LogMessage_ERR, currentTime), } appLogs := []*logmessage.LogMessage{ testlogs.NewLogMessage("Log Line 1", app.Guid, "DEA", "1", logmessage.LogMessage_ERR, time.Now()), } requirementsFactory.Application = app logsRepo.RecentLogsForReturns(recentLogs, nil) logsRepo.TailLogsForStub = func(appGuid string, onConnect func(), onMessage func(*logmessage.LogMessage)) error { onConnect() for _, log := range appLogs { onMessage(log) } return nil } }) It("shows the recent logs when the --recent flag is provided", func() { runCommand("--recent", "my-app") Expect(requirementsFactory.ApplicationName).To(Equal("my-app")) Expect(app.Guid).To(Equal(logsRepo.RecentLogsForArgsForCall(0))) Expect(ui.Outputs).To(ContainSubstrings( []string{"Connected, dumping recent logs for app", "my-app", "my-org", "my-space", "my-user"}, []string{"Log Line 1"}, []string{"Log Line 2"},
defaultInstanceResponses = [][]models.AppInstanceFields{ []models.AppInstanceFields{instance1, instance2}, []models.AppInstanceFields{instance1, instance2}, []models.AppInstanceFields{instance3, instance4}, } logRepo = &testapi.FakeLogsRepository{} mutex.Lock() logMessages = []*logmessage.LogMessage{} mutex.Unlock() logRepo.TailLogsForStub = func(appGuid string, onConnect func(), onMessage func(*logmessage.LogMessage)) error { onConnect() mutex.Lock() for _, log := range logMessages { onMessage(log) } mutex.Unlock() return nil } }) callStart := func(args []string) bool { updateCommandDependency(logRepo) cmd := command_registry.Commands.FindCommand("start").(*Start) cmd.StagingTimeout = 100 * time.Millisecond cmd.StartupTimeout = 500 * time.Millisecond cmd.PingerThrottle = 50 * time.Millisecond command_registry.Register(cmd) return testcmd.RunCliCommandWithoutDependency("start", args, requirementsFactory)