diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7eecc75..93a2f9b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ image: golang:latest stages: - build + - test compile: stage: build @@ -11,3 +12,13 @@ compile: paths: - bingobot - start.sh + +tests-state-pkg: + stage: test + script: + - go test ./internal/state + +tests-config-pkg: + stage: test + script: + - go test ./internal/config diff --git a/internal/config/config.go b/internal/config/config.go index 90fc69e..e8f7b5c 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -18,10 +18,22 @@ type AppConfig struct { var config *AppConfig +func init() { + setDefaults() + viper.Unmarshal(&config) +} + func Get() *AppConfig { return config } +func GetDefaultConfig() *AppConfig { + var config *AppConfig + setDefaults() + viper.Unmarshal(&config) + return config +} + func Init() error { setDefaults() diff --git a/internal/config/config_test.go b/internal/config/config_test.go index eb9f022..9fef00f 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -25,12 +25,9 @@ log_compression: false func TestDefaultConfigs(t *testing.T) { k := "testdefaultkey" v := "testdefaultval" - viper.SetDefault(k, v) - _, err := Parse() - - if err != nil { + if err := Init(); err != nil { t.Error(err) } diff --git a/internal/state/state_test.go b/internal/state/state_test.go index 3d98b1c..e775e74 100644 --- a/internal/state/state_test.go +++ b/internal/state/state_test.go @@ -4,6 +4,8 @@ import ( "fmt" "testing" "time" + + "gitlab.com/whom/bingobot/internal/logging" ) /* WARNING: @@ -12,8 +14,15 @@ import ( */ const TestTok = "TEST_NAME" +var loggingInitialized = false func SetupTest(t *testing.T) { + // have to set up logger + if !loggingInitialized { + logging.Init() + loggingInitialized = true + } + old, _ := time.Parse( time.RFC3339, VeryOldVote,