FILE / ScuroNeko/mtg

config/config_test.go

Исходный файл и его история в репозитории.
FILE e3b7472239e5e9eadc447e66db5b02c8d944c3fc
Files
mtg/config/config_test.go
T

49 lines
1.1 KiB
Go

package config_test
import (
"os"
"path/filepath"
"testing"
"github.com/9seconds/mtg/v2/config"
"github.com/stretchr/testify/suite"
)
type ConfigTestSuite struct {
suite.Suite
}
func (suite *ConfigTestSuite) ReadConfig(filename string) []byte {
data, err := os.ReadFile(filepath.Join("testdata", filename))
suite.NoError(err)
return data
}
func (suite *ConfigTestSuite) TestParseEmpty() {
_, err := config.Parse([]byte{})
suite.Error(err)
}
func (suite *ConfigTestSuite) TestParseBrokenToml() {
_, err := config.Parse(suite.ReadConfig("broken.toml"))
suite.Error(err)
}
func (suite *ConfigTestSuite) TestParseOnlySecret() {
_, err := config.Parse(suite.ReadConfig("only_secret.toml"))
suite.Error(err)
}
func (suite *ConfigTestSuite) TestParseMinimalConfig() {
conf, err := config.Parse(suite.ReadConfig("minimal.toml"))
suite.NoError(err)
suite.Equal("7oe1GqLy6TBc38CV3jx7q09nb29nbGUuY29t", conf.Secret.Base64())
suite.Equal("0.0.0.0:3128", conf.BindTo.String())
}
func TestConfig(t *testing.T) {
t.Parallel()
suite.Run(t, &ConfigTestSuite{})
}