diff options
author | 2022-05-30 13:41:24 +0100 | |
---|---|---|
committer | 2022-05-30 14:41:24 +0200 | |
commit | 43ac0cdb9c4eea9d3c5eceb2c11b9e5b98b87b00 (patch) | |
tree | f0d5967d0ce639b6bc82aaf607f62e228fdf4559 /testrig/config.go | |
parent | [chore] Mastodon api fixups (#617) (diff) | |
download | gotosocial-43ac0cdb9c4eea9d3c5eceb2c11b9e5b98b87b00.tar.xz |
[chore] Global server configuration overhaul (#575)
* move config flag names and usage to config package, rewrite config package to use global Configuration{} struct
Signed-off-by: kim <grufwub@gmail.com>
* improved code comment
Signed-off-by: kim <grufwub@gmail.com>
* linter
Signed-off-by: kim <grufwub@gmail.com>
* fix unmarshaling
Signed-off-by: kim <grufwub@gmail.com>
* remove kim's custom go compiler changes
Signed-off-by: kim <grufwub@gmail.com>
* generate setter and flag-name functions, implement these in codebase
Signed-off-by: kim <grufwub@gmail.com>
* update deps
Signed-off-by: kim <grufwub@gmail.com>
* small change
Signed-off-by: kim <grufwub@gmail.com>
* appease the linter...
Signed-off-by: kim <grufwub@gmail.com>
* move configuration into ConfigState structure, ensure reloading to/from viper settings to keep in sync
Signed-off-by: kim <grufwub@gmail.com>
* lint
Signed-off-by: kim <grufwub@gmail.com>
* update code comments
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* fix merge issue
Signed-off-by: kim <grufwub@gmail.com>
* improved version string (removes time + go version)
Signed-off-by: kim <grufwub@gmail.com>
* fix version string build to pass test script + consolidate logic in func
Signed-off-by: kim <grufwub@gmail.com>
* add license text, update config.Defaults comment
Signed-off-by: kim <grufwub@gmail.com>
* add license text to generated config helpers file
Signed-off-by: kim <grufwub@gmail.com>
* defer unlock on config.Set___(), to ensure unlocked on panic
Signed-off-by: kim <grufwub@gmail.com>
* make it more obvious which cmd flags are being attached
Signed-off-by: kim <grufwub@gmail.com>
Diffstat (limited to 'testrig/config.go')
-rw-r--r-- | testrig/config.go | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/testrig/config.go b/testrig/config.go index ccc28d17c..64b8649aa 100644 --- a/testrig/config.go +++ b/testrig/config.go @@ -19,45 +19,19 @@ package testrig import ( - "reflect" - "github.com/coreos/go-oidc/v3/oidc" - "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/config" ) -// InitTestConfig resets + initializes the viper configuration with test defaults. +// InitTestConfig initializes viper configuration with test defaults. func InitTestConfig() { - // reset viper to an empty state - viper.Reset() - - // get the field names of config.Keys - keyFields := reflect.VisibleFields(reflect.TypeOf(config.Keys)) - - // get the field values of config.Keys - keyValues := reflect.ValueOf(config.Keys) - - // get the field values of TestDefaults - testDefaults := reflect.ValueOf(TestDefaults) - - // for each config field... - for _, field := range keyFields { - // the viper config key should be the value of the key - key, ok := keyValues.FieldByName(field.Name).Interface().(string) - if !ok { - panic("could not convert config.Keys value to string") - } - - // the value should be the test default corresponding to the given fieldName - value := testDefaults.FieldByName(field.Name).Interface() - - // actually set the value in viper -- this will override everything - viper.Set(key, value) - } + config.Config(func(cfg *config.Configuration) { + *cfg = TestDefaults + }) } // TestDefaults returns a Values struct with values set that are suitable for local testing. -var TestDefaults = config.Values{ +var TestDefaults = config.Configuration{ LogLevel: "trace", LogDbQueries: true, ApplicationName: "gotosocial", |