41 lines
709 B
Go
41 lines
709 B
Go
package config
|
|
|
|
import (
|
|
"bytes"
|
|
"log/slog"
|
|
"reflect"
|
|
"testing"
|
|
|
|
"example.com/golang-base/internal/log"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func slogToBuffer() (*bytes.Buffer, *slog.Logger) {
|
|
buf := new(bytes.Buffer)
|
|
return buf, slog.New(
|
|
slog.NewTextHandler(
|
|
buf,
|
|
&slog.HandlerOptions{
|
|
Level: log.LevelTrace,
|
|
},
|
|
),
|
|
)
|
|
}
|
|
|
|
func TestPrintRunningConfig(t *testing.T) {
|
|
buf, l := slogToBuffer()
|
|
log.L.Log = l
|
|
|
|
c := New()
|
|
cfgInfo, err := getStructInfo(&c)
|
|
assert.NoError(t, err)
|
|
printRunningConfig(&c, cfgInfo)
|
|
|
|
assert.Contains(t, buf.String(), "Running Configuration")
|
|
}
|
|
|
|
func TestNew(t *testing.T) {
|
|
c := New()
|
|
assert.Equal(t, "config.Config", reflect.TypeOf(c).String())
|
|
}
|