FILE / ScuroNeko/mtg

internal/utils/read_config_test.go

Исходный файл и его история в репозитории.
FILE 79f54a4e67504fd47763a9a10fe4cd907588a603
Files
mtg/internal/utils/read_config_test.go
T
2021-07-30 15:07:35 +03:00

56 lines
1.4 KiB
Go

package utils_test
import (
"path/filepath"
"testing"
"github.com/9seconds/mtg/v2/internal/utils"
"github.com/stretchr/testify/suite"
)
type ReadConfigTestSuite struct {
suite.Suite
}
func (suite *ReadConfigTestSuite) GetConfigPath(filename string) string {
return filepath.Join("testdata", filename)
}
func (suite *ReadConfigTestSuite) TestReadMinimal() {
conf, err := utils.ReadConfig(suite.GetConfigPath("minimal.toml"))
suite.NoError(err)
suite.NoError(conf.Validate())
suite.Equal("0.0.0.0:80", conf.BindTo.Get(""))
suite.Equal("7mqFMMq3P2Tvvt_rPx5qhmFnb29nbGUuY29t", conf.Secret.Base64())
}
func (suite *ReadConfigTestSuite) TestReadAbsentFile() {
_, err := utils.ReadConfig(suite.GetConfigPath("unknown.file"))
suite.Error(err)
}
func (suite *ReadConfigTestSuite) TestBrokenFile() {
_, err := utils.ReadConfig(suite.GetConfigPath("broken.toml"))
suite.Error(err)
}
func (suite *ReadConfigTestSuite) TestMissedBindTo() {
_, err := utils.ReadConfig(suite.GetConfigPath("missed-bindto.toml"))
suite.Error(err)
}
func (suite *ReadConfigTestSuite) TestMissedSecret() {
_, err := utils.ReadConfig(suite.GetConfigPath("missed-secret.toml"))
suite.Error(err)
}
func (suite *ReadConfigTestSuite) TestEmpty() {
_, err := utils.ReadConfig(suite.GetConfigPath("empty.toml"))
suite.Error(err)
}
func TestReadConfig(t *testing.T) {
t.Parallel()
suite.Run(t, &ReadConfigTestSuite{})
}