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  }