github.com/blend/go-sdk@v1.20240719.1/logger/message_event_test.go (about) 1 /* 2 3 Copyright (c) 2024 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package logger 9 10 import ( 11 "bytes" 12 "encoding/json" 13 "testing" 14 "time" 15 16 "github.com/blend/go-sdk/assert" 17 ) 18 19 func TestMessageEvent(t *testing.T) { 20 assert := assert.New(t) 21 22 me := NewMessageEvent("flag", "an-message", 23 OptMessageText("event-message"), 24 OptMessageElapsed(time.Second), 25 OptMessageRestricted(true), 26 ) 27 assert.Equal("flag", me.Flag) 28 assert.Equal("event-message", me.Text) 29 assert.Equal(time.Second, me.Elapsed) 30 assert.Equal(true, me.Restricted) 31 32 buf := new(bytes.Buffer) 33 noColor := TextOutputFormatter{ 34 NoColor: true, 35 } 36 37 me.WriteText(noColor, buf) 38 assert.Equal("event-message (1s)", buf.String()) 39 40 contents, err := json.Marshal(me) 41 assert.Nil(err) 42 assert.Contains(string(contents), "event-message") 43 44 me = NewMessageEvent("flag", "an-message", 45 OptMessageText("event-message"), 46 OptMessageElapsed(time.Second), 47 ) 48 assert.Equal("flag", me.Flag) 49 assert.Equal("event-message", me.Text) 50 assert.Equal(time.Second, me.Elapsed) 51 assert.Equal(false, me.Restricted) 52 }