Implement Cobra CLI tooling, Viper config tooling (#336)

* start pulling out + replacing urfave and config

* replace many many instances of config

* move more stuff => viper

* properly remove urfave

* move some flags to root command

* add testrig commands to root

* alias config file keys

* start adding cli parsing tests

* reorder viper init

* remove config path alias

* fmt

* change config file keys to non-nested

* we're more or less in business now

* tidy up the common func

* go fmt

* get tests passing again

* add note about the cliparsing tests

* reorganize

* update docs with changes

* structure cmd dir better

* rename + move some files around

* fix dangling comma
This commit is contained in:
tobi
2021-12-07 13:31:39 +01:00
committed by GitHub
parent 182b4eea73
commit 0884f89431
487 changed files with 46667 additions and 8831 deletions

View File

@@ -24,6 +24,8 @@ import (
"strconv"
"github.com/sirupsen/logrus"
"github.com/spf13/viper"
"github.com/superseriousbusiness/gotosocial/internal/config"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/db/bundb"
"github.com/superseriousbusiness/gotosocial/internal/gtsmodel"
@@ -66,27 +68,23 @@ var testModels = []interface{}{
// If the environment variable GTS_DB_PORT is set, it will take that
// value as the port instead.
func NewTestDB() db.DB {
config := NewTestConfig()
alternateAddress := os.Getenv("GTS_DB_ADDRESS")
if alternateAddress != "" {
config.DBConfig.Address = alternateAddress
if alternateAddress := os.Getenv("GTS_DB_ADDRESS"); alternateAddress != "" {
viper.Set(config.Keys.DbAddress, alternateAddress)
}
alternateDBType := os.Getenv("GTS_DB_TYPE")
if alternateDBType != "" {
config.DBConfig.Type = alternateDBType
if alternateDBType := os.Getenv("GTS_DB_TYPE"); alternateDBType != "" {
viper.Set(config.Keys.DbType, alternateDBType)
}
alternateDBPort := os.Getenv("GTS_DB_PORT")
if alternateDBPort != "" {
if alternateDBPort := os.Getenv("GTS_DB_PORT"); alternateDBPort != "" {
port, err := strconv.ParseInt(alternateDBPort, 10, 64)
if err != nil {
panic(err)
}
config.DBConfig.Port = int(port)
viper.Set(config.Keys.DbPort, port)
}
testDB, err := bundb.NewBunDBService(context.Background(), config)
testDB, err := bundb.NewBunDBService(context.Background())
if err != nil {
logrus.Panic(err)
}