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  }