mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 02:34:02 +03:00
FILE / ScuroNeko/mtg
internal/utils/read_config_test.go
Исходный файл и его история в репозитории.
56 lines
1.4 KiB
Go
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{})
|
|
}
|