61 lines
1.3 KiB
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)
|
|
})
|
|
}
|