logRepo.TailNoaaLogsForStub = func(appGuid string, onConnect func(), onMessage func(*events.LogMessage)) error { onConnect() onMessage(testlogs.NewLogMessage("Before close", appGuid, LogMessageTypeStaging, time.Now())) <-logRepoClosed time.Sleep(50 * time.Millisecond) onMessage(testlogs.NewLogMessage("After close 1", appGuid, LogMessageTypeStaging, time.Now())) onMessage(testlogs.NewLogMessage("After close 2", appGuid, LogMessageTypeStaging, 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, "", "", ""} ui, _, appInstancesRepo := startAppWithInstancesAndErrors(displayApp, defaultAppForStart, requirementsFactory) Expect(appInstancesRepo.GetInstancesArgsForCall(0)).To(Equal("my-app-guid"))