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  }