github.com/Kong/go-pdk@v0.11.0/log/log_test.go (about) 1 package log 2 3 import ( 4 "testing" 5 6 "github.com/Kong/go-pdk/bridge" 7 "github.com/Kong/go-pdk/bridge/bridgetest" 8 "github.com/stretchr/testify/assert" 9 "google.golang.org/protobuf/types/known/structpb" 10 ) 11 12 func mockLog(t *testing.T, s []bridgetest.MockStep) Log { 13 return Log{bridge.New(bridgetest.Mock(t, s))} 14 } 15 16 func TestMessages(t *testing.T) { 17 v, err := structpb.NewList([]interface{}{"Alo"}) 18 assert.NoError(t, err) 19 20 log := mockLog(t, []bridgetest.MockStep{ 21 {"kong.log.alert", v, nil}, 22 {"kong.log.crit", v, nil}, 23 {"kong.log.err", v, nil}, 24 {"kong.log.warn", v, nil}, 25 {"kong.log.notice", v, nil}, 26 {"kong.log.info", v, nil}, 27 {"kong.log.debug", v, nil}, 28 }) 29 30 assert.NoError(t, log.Alert("Alo")) 31 assert.NoError(t, log.Crit("Alo")) 32 assert.NoError(t, log.Err("Alo")) 33 assert.NoError(t, log.Warn("Alo")) 34 assert.NoError(t, log.Notice("Alo")) 35 assert.NoError(t, log.Info("Alo")) 36 assert.NoError(t, log.Debug("Alo")) 37 } 38 39 func TestSerialize(t *testing.T) { 40 log := mockLog(t, []bridgetest.MockStep{ 41 {"kong.log.serialize", nil, bridge.WrapString("{data...}")}, 42 }) 43 44 ret, err := log.Serialize() 45 assert.NoError(t, err) 46 assert.Equal(t, "{data...}", ret) 47 }