pkg/platform/mock_logger.go (41 lines of code) (raw):
package platform
import "github.com/go-logr/logr"
func NewLoggerMock() logr.Logger {
return logr.New(&LoggerMock{})
}
type LoggerMock struct {
errors []error
infoMessages map[string][]interface{}
}
// Init implements logr.LogSink.
func (log *LoggerMock) Init(logr.RuntimeInfo) {
}
// Info implements logr.InfoLogger.
func (log *LoggerMock) Info(level int, msg string, keysAndValues ...interface{}) {
if log.infoMessages == nil {
log.infoMessages = make(map[string][]interface{})
}
log.infoMessages[msg] = keysAndValues
}
func (log *LoggerMock) InfoMessages() map[string][]interface{} {
return log.infoMessages
}
func (log *LoggerMock) ClearInfoMessages() {
log.infoMessages = nil
}
// Enabled implements logr.InfoLogger.
func (log *LoggerMock) Enabled(level int) bool {
return true
}
func (log *LoggerMock) Error(err error, msg string, keysAndValues ...interface{}) {
log.errors = append(log.errors, err)
}
func (log LoggerMock) LastError() error {
if len(log.errors) == 0 {
return nil
}
return log.errors[len(log.errors)-1]
}
// WithName implements logr.Logger.
func (log *LoggerMock) WithName(_ string) logr.LogSink {
return log
}
// WithValues implements logr.Logger.
func (log *LoggerMock) WithValues(_ ...interface{}) logr.LogSink {
return log
}