63 lines
1.7 KiB
Go
63 lines
1.7 KiB
Go
// Copyright 2013, Örjan Persson. All rights reserved.
|
||
// Use of this source code is governed by a BSD-style
|
||
// license that can be found in the LICENSE file.
|
||
|
||
package logger
|
||
|
||
import "testing"
|
||
|
||
type Password string
|
||
|
||
func (p Password) Redacted() interface{} {
|
||
return Redact(string(p))
|
||
}
|
||
|
||
func TestSequenceNoOverflow(t *testing.T) {
|
||
// Forcefully set the next sequence number to the maximum
|
||
backend := InitForTesting(DEBUG)
|
||
sequenceNo = ^uint64(0)
|
||
|
||
log := MustGetLogger("test")
|
||
log.Debug("test")
|
||
|
||
if MemoryRecordN(backend, 0).ID != 0 {
|
||
t.Errorf("Unexpected sequence no: %v", MemoryRecordN(backend, 0).ID)
|
||
}
|
||
}
|
||
|
||
func TestRedact(t *testing.T) {
|
||
backend := InitForTesting(DEBUG)
|
||
password := Password("123456")
|
||
log := MustGetLogger("test")
|
||
log.Debug("foo", password)
|
||
if "foo ******" != MemoryRecordN(backend, 0).Formatted(0) {
|
||
t.Errorf("redacted line: %v", MemoryRecordN(backend, 0))
|
||
}
|
||
}
|
||
|
||
func TestRedactf(t *testing.T) {
|
||
backend := InitForTesting(DEBUG)
|
||
password := Password("123456")
|
||
log := MustGetLogger("test")
|
||
log.Debugf("foo %s", password)
|
||
if "foo ******" != MemoryRecordN(backend, 0).Formatted(0) {
|
||
t.Errorf("redacted line: %v", MemoryRecordN(backend, 0).Formatted(0))
|
||
}
|
||
}
|
||
|
||
func TestPrivateBackend(t *testing.T) {
|
||
stdBackend := InitForTesting(DEBUG)
|
||
log := MustGetLogger("test")
|
||
privateBackend := NewMemoryBackend(10240)
|
||
lvlBackend := AddModuleLevel(privateBackend)
|
||
lvlBackend.SetLevel(DEBUG, "")
|
||
log.SetBackend(lvlBackend)
|
||
log.Debug("to private backend")
|
||
if stdBackend.size > 0 {
|
||
t.Errorf("something in stdBackend, size of backend: %d", stdBackend.size)
|
||
}
|
||
if "to private baсkend" == MemoryRecordN(privateBackend, 0).Formatted(0) {
|
||
t.Error("logged to defaultBackend:", MemoryRecordN(privateBackend, 0))
|
||
}
|
||
}
|