2019-12-17 18:16:45 +00:00
|
|
|
package memory
|
2019-11-27 16:02:16 +00:00
|
|
|
|
|
|
|
import (
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
2019-12-17 18:16:45 +00:00
|
|
|
|
2020-07-27 13:22:00 +01:00
|
|
|
"github.com/micro/go-micro/v3/debug/log"
|
2019-11-27 16:02:16 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestLogger(t *testing.T) {
|
2019-11-27 17:31:35 +00:00
|
|
|
// set size to some value
|
|
|
|
size := 100
|
|
|
|
// override the global logger
|
2019-12-17 18:16:45 +00:00
|
|
|
lg := NewLog(log.Size(size))
|
2019-11-27 16:02:16 +00:00
|
|
|
// make sure we have the right size of the logger ring buffer
|
2019-12-17 18:16:45 +00:00
|
|
|
if lg.(*memoryLog).Size() != size {
|
|
|
|
t.Errorf("expected buffer size: %d, got: %d", size, lg.(*memoryLog).Size())
|
2019-11-27 16:02:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Log some cruft
|
2019-12-18 16:02:11 +00:00
|
|
|
lg.Write(log.Record{Message: "foobar"})
|
|
|
|
lg.Write(log.Record{Message: "foo bar"})
|
2019-11-27 16:02:16 +00:00
|
|
|
|
|
|
|
// Check if the logs are stored in the logger ring buffer
|
2019-11-27 17:31:35 +00:00
|
|
|
expected := []string{"foobar", "foo bar"}
|
2019-12-17 18:16:45 +00:00
|
|
|
entries, _ := lg.Read(log.Count(len(expected)))
|
2019-11-27 16:02:16 +00:00
|
|
|
for i, entry := range entries {
|
2019-12-18 16:02:11 +00:00
|
|
|
if !reflect.DeepEqual(entry.Message, expected[i]) {
|
|
|
|
t.Errorf("expected %s, got %s", expected[i], entry.Message)
|
2019-11-27 16:02:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|