github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+incompatible/cf/api/apifakes/old_fake_loggregator_consumer.go (about) 1 package apifakes 2 3 import ( 4 "github.com/cloudfoundry/loggregator_consumer" 5 "github.com/cloudfoundry/loggregatorlib/logmessage" 6 ) 7 8 type OldFakeLoggregatorConsumer struct { 9 RecentCalledWith struct { 10 AppGUID string 11 AuthToken string 12 } 13 14 RecentReturns struct { 15 Messages []*logmessage.LogMessage 16 Err []error 17 callIndex int 18 } 19 20 TailFunc func(appGUID, token string) (<-chan *logmessage.LogMessage, error) 21 22 IsClosed bool 23 24 OnConnectCallback func() 25 26 closeChan chan bool 27 } 28 29 func NewFakeLoggregatorConsumer() *OldFakeLoggregatorConsumer { 30 return &OldFakeLoggregatorConsumer{ 31 closeChan: make(chan bool, 1), 32 } 33 } 34 35 func (c *OldFakeLoggregatorConsumer) Recent(appGUID string, authToken string) ([]*logmessage.LogMessage, error) { 36 c.RecentCalledWith.AppGUID = appGUID 37 c.RecentCalledWith.AuthToken = authToken 38 39 var err error 40 if c.RecentReturns.callIndex < len(c.RecentReturns.Err) { 41 err = c.RecentReturns.Err[c.RecentReturns.callIndex] 42 c.RecentReturns.callIndex++ 43 } 44 45 return c.RecentReturns.Messages, err 46 } 47 48 func (c *OldFakeLoggregatorConsumer) Close() error { 49 c.IsClosed = true 50 c.closeChan <- true 51 return nil 52 } 53 54 func (c *OldFakeLoggregatorConsumer) SetOnConnectCallback(cb func()) { 55 c.OnConnectCallback = cb 56 } 57 58 func (c *OldFakeLoggregatorConsumer) Tail(appGUID string, authToken string) (<-chan *logmessage.LogMessage, error) { 59 return c.TailFunc(appGUID, authToken) 60 } 61 62 func (c *OldFakeLoggregatorConsumer) WaitForClose() { 63 <-c.closeChan 64 } 65 66 func (c *OldFakeLoggregatorConsumer) SetDebugPrinter(debugPrinter loggregator_consumer.DebugPrinter) { 67 <-c.closeChan 68 }