github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/api/fakes/fake_loggregator_consumer.go (about) 1 package fakes 2 3 import ( 4 "github.com/cloudfoundry/loggregator_consumer" 5 "github.com/cloudfoundry/loggregatorlib/logmessage" 6 ) 7 8 type FakeLoggregatorConsumer 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() *FakeLoggregatorConsumer { 30 return &FakeLoggregatorConsumer{ 31 closeChan: make(chan bool, 1), 32 } 33 } 34 35 func (c *FakeLoggregatorConsumer) 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 *FakeLoggregatorConsumer) Close() error { 49 c.IsClosed = true 50 c.closeChan <- true 51 return nil 52 } 53 54 func (c *FakeLoggregatorConsumer) SetOnConnectCallback(cb func()) { 55 c.OnConnectCallback = cb 56 } 57 58 func (c *FakeLoggregatorConsumer) Tail(appGuid string, authToken string) (<-chan *logmessage.LogMessage, error) { 59 return c.TailFunc(appGuid, authToken) 60 } 61 62 func (c *FakeLoggregatorConsumer) WaitForClose() { 63 <-c.closeChan 64 } 65 66 func (c *FakeLoggregatorConsumer) SetDebugPrinter(debugPrinter loggregator_consumer.DebugPrinter) { 67 <-c.closeChan 68 }