nexo/services/push-proxy/server/logger_test.go

61 lines
1.3 KiB
Go

// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package server
import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"os"
"testing"
)
func TestNewMlogLogger(t *testing.T) {
t.Run("Instancing logger with implicit plain console", func(t *testing.T) {
cfg := &ConfigPushProxy{
EnableFileLog: false,
}
logger, err := NewLogger(cfg)
assert.NoError(t, err)
assert.NotNil(t, logger)
})
t.Run("Instancing logger with json file", func(t *testing.T) {
log, err := os.CreateTemp("", "log")
require.NoError(t, err)
err = log.Close()
require.NoError(t, err)
defer os.Remove(log.Name())
cfg := &ConfigPushProxy{
EnableFileLog: true,
LogFileLocation: log.Name(),
LogFormat: "json",
}
logger, err := NewLogger(cfg)
assert.NoError(t, err)
assert.NotNil(t, logger)
})
t.Run("Instancing logger with both file and console", func(t *testing.T) {
log, err := os.CreateTemp("", "log")
require.NoError(t, err)
err = log.Close()
require.NoError(t, err)
defer os.Remove(log.Name())
cfg := &ConfigPushProxy{
EnableConsoleLog: true,
EnableFileLog: true,
LogFileLocation: log.Name(),
LogFormat: "json",
}
logger, err := NewLogger(cfg)
assert.NoError(t, err)
assert.NotNil(t, logger)
})
}