local-server/vendor/github.com/cloudflare/cfssl/log/log_test.go
Mikaël Cluseau 4d889632f6 vendor
2018-06-17 18:32:44 +11:00

187 lines
3.4 KiB
Go

package log
import (
"bytes"
"log"
"strings"
"testing"
)
const teststring = "asdf123"
func TestOutputf(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Level = LevelDebug
outputf(LevelDebug, teststring, nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
return
}
func TestOutput(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Level = LevelDebug
output(LevelDebug, nil)
// outputf correctly prints string with proper Debug prefix
if !strings.Contains(buf.String(), levelPrefix[LevelDebug]) {
t.Fail()
}
return
}
func TestCriticalf(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Criticalf(teststring, nil)
// outputf correctly prints string
// should never fail because critical > debug
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
return
}
func TestCritical(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Critical(nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), levelPrefix[LevelCritical]) {
t.Fail()
}
return
}
func TestWarningf(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Warningf(teststring, nil)
// outputf correctly prints string
// should never fail because fatal critical > debug
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
return
}
func TestWarning(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Warning(nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), levelPrefix[LevelWarning]) {
t.Fail()
}
return
}
func TestInfof(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Infof(teststring, nil)
// outputf correctly prints string
// should never fail because fatal info > debug
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
return
}
func TestInfo(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Info(nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), levelPrefix[LevelInfo]) {
t.Fail()
}
return
}
func TestDebugf(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Level = LevelDebug
Debugf(teststring, nil)
// outputf correctly prints string
// should never fail because fatal debug >= debug
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
return
}
func TestDebug(t *testing.T) {
buf := new(bytes.Buffer)
log.SetOutput(buf)
Level = LevelDebug
Debug(nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), levelPrefix[LevelDebug]) {
t.Fail()
}
return
}
type testSyslogger struct {
*bytes.Buffer
}
func (l testSyslogger) Debug(s string) {
l.WriteString("[DEBUG] ")
_, _ = l.WriteString(s)
}
func (l testSyslogger) Info(s string) {
l.WriteString("[INFO] ")
_, _ = l.WriteString(s)
}
func (l testSyslogger) Warning(s string) {
l.WriteString("[WARN] ")
_, _ = l.WriteString(s)
}
func (l testSyslogger) Err(s string) {
l.WriteString("[ERROR] ")
_, _ = l.WriteString(s)
}
func (l testSyslogger) Crit(s string) {
l.WriteString("[CRIT] ")
_, _ = l.WriteString(s)
}
func (l testSyslogger) Emerg(s string) {
l.WriteString("[FATAL] ")
_, _ = l.WriteString(s)
}
func TestSetLogger(t *testing.T) {
buf := new(bytes.Buffer)
SetLogger(testSyslogger{buf})
Level = LevelDebug
outputf(LevelDebug, teststring, nil)
// outputf correctly prints string
if !strings.Contains(buf.String(), teststring) {
t.Fail()
}
SetLogger(nil)
return
}