logRepo.TailLogsForStub = func(appGuid string, onConnect func(), onMessage func(*logmessage.LogMessage)) error { onConnect() onMessage(testlogs.NewLogMessage("Before close", appGuid, LogMessageTypeStaging, "1", logmessage.LogMessage_ERR, time.Now())) <-logRepoClosed time.Sleep(50 * time.Millisecond) onMessage(testlogs.NewLogMessage("After close 1", appGuid, LogMessageTypeStaging, "1", logmessage.LogMessage_ERR, time.Now())) onMessage(testlogs.NewLogMessage("After close 2", appGuid, LogMessageTypeStaging, "1", logmessage.LogMessage_ERR, time.Now())) return nil } logRepo.CloseStub = func() { close(logRepoClosed) } defaultInstanceResponses = [][]models.AppInstanceFields{ []models.AppInstanceFields{}, []models.AppInstanceFields{}, []models.AppInstanceFields{{State: models.InstanceDown}, {State: models.InstanceStarting}}, []models.AppInstanceFields{{State: models.InstanceStarting}, {State: models.InstanceStarting}}, []models.AppInstanceFields{{State: models.InstanceRunning}, {State: models.InstanceRunning}}, } defaultInstanceErrorCodes = []string{errors.APP_NOT_STAGED, errors.APP_NOT_STAGED, "", "", ""} defaultAppForStart.PackageState = "PENDING" ui, appRepo, _ := startAppWithInstancesAndErrors(displayApp, defaultAppForStart, requirementsFactory) Expect(appRepo.GetAppArgsForCall(0)).To(Equal("my-app-guid"))