package logger import ( "io/ioutil" "os" "strings" "testing" "time" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" "gitlab.com/gitlab-org/gitlab-shell/internal/config" ) func TestConfigure(t *testing.T) { tmpFile, err := ioutil.TempFile(os.TempDir(), "logtest-") require.NoError(t, err) defer tmpFile.Close() config := config.Config{ LogFile: tmpFile.Name(), LogFormat: "json", } err = Configure(&config) require.NoError(t, err) log.Info("this is a test") tmpFile.Close() data, err := ioutil.ReadFile(tmpFile.Name()) require.NoError(t, err) require.True(t, strings.Contains(string(data), `msg":"this is a test"`)) } func TestElapsedTime(t *testing.T) { start := time.Now() start = start.Add(1234567800 * time.Nanosecond) require.InDelta(t, -1234.568, ElapsedTime(start), 0.01) }