github.com/lingyao2333/mo-zero@v1.4.1/zrpc/internal/rpclogger_test.go (about) 1 package internal 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/lingyao2333/mo-zero/core/logx" 8 "github.com/stretchr/testify/assert" 9 ) 10 11 const content = "foo" 12 13 func TestLoggerError(t *testing.T) { 14 w, restore := injectLog() 15 defer restore() 16 17 logger := new(Logger) 18 logger.Error(content) 19 assert.Contains(t, w.String(), content) 20 } 21 22 func TestLoggerErrorf(t *testing.T) { 23 w, restore := injectLog() 24 defer restore() 25 26 logger := new(Logger) 27 logger.Errorf(content) 28 assert.Contains(t, w.String(), content) 29 } 30 31 func TestLoggerErrorln(t *testing.T) { 32 w, restore := injectLog() 33 defer restore() 34 35 logger := new(Logger) 36 logger.Errorln(content) 37 assert.Contains(t, w.String(), content) 38 } 39 40 func TestLoggerFatal(t *testing.T) { 41 w, restore := injectLog() 42 defer restore() 43 44 logger := new(Logger) 45 logger.Fatal(content) 46 assert.Contains(t, w.String(), content) 47 } 48 49 func TestLoggerFatalf(t *testing.T) { 50 w, restore := injectLog() 51 defer restore() 52 53 logger := new(Logger) 54 logger.Fatalf(content) 55 assert.Contains(t, w.String(), content) 56 } 57 58 func TestLoggerFatalln(t *testing.T) { 59 w, restore := injectLog() 60 defer restore() 61 62 logger := new(Logger) 63 logger.Fatalln(content) 64 assert.Contains(t, w.String(), content) 65 } 66 67 func TestLoggerInfo(t *testing.T) { 68 w, restore := injectLog() 69 defer restore() 70 71 logger := new(Logger) 72 logger.Info(content) 73 assert.Empty(t, w.String()) 74 } 75 76 func TestLoggerInfof(t *testing.T) { 77 w, restore := injectLog() 78 defer restore() 79 80 logger := new(Logger) 81 logger.Infof(content) 82 assert.Empty(t, w.String()) 83 } 84 85 func TestLoggerWarning(t *testing.T) { 86 w, restore := injectLog() 87 defer restore() 88 89 logger := new(Logger) 90 logger.Warning(content) 91 assert.Empty(t, w.String()) 92 } 93 94 func TestLoggerInfoln(t *testing.T) { 95 w, restore := injectLog() 96 defer restore() 97 98 logger := new(Logger) 99 logger.Infoln(content) 100 assert.Empty(t, w.String()) 101 } 102 103 func TestLoggerWarningf(t *testing.T) { 104 w, restore := injectLog() 105 defer restore() 106 107 logger := new(Logger) 108 logger.Warningf(content) 109 assert.Empty(t, w.String()) 110 } 111 112 func TestLoggerWarningln(t *testing.T) { 113 w, restore := injectLog() 114 defer restore() 115 116 logger := new(Logger) 117 logger.Warningln(content) 118 assert.Empty(t, w.String()) 119 } 120 121 func TestLogger_V(t *testing.T) { 122 logger := new(Logger) 123 // grpclog.fatalLog 124 assert.True(t, logger.V(3)) 125 // grpclog.infoLog 126 assert.False(t, logger.V(0)) 127 } 128 129 func injectLog() (r *strings.Builder, restore func()) { 130 var buf strings.Builder 131 w := logx.NewWriter(&buf) 132 o := logx.Reset() 133 logx.SetWriter(w) 134 135 return &buf, func() { 136 logx.Reset() 137 logx.SetWriter(o) 138 } 139 }