Files
calculate_negative_points/internal/config/config_test.go
Eugene Howe b0957bfa49
Some checks failed
Docker Build and Publish / publish (push) Failing after 1m33s
webapp
2026-02-17 09:47:30 -05:00

42 lines
1.1 KiB
Go

package config_test
import (
"log"
"os"
"clintonambulance.com/calculate_negative_points/internal/config"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
type FakeSicherObject struct{}
func (_ FakeSicherObject) SetEnvStyle(_ string) {}
func (_ FakeSicherObject) LoadEnv(_ string, obj interface{}) error {
var err error
return err
}
var _ = Describe("ConfigTest", func() {
var version config.Version
var logger, _ = config.NewLogger(version, os.Stdout, []string{"cmd", "-e", "testEnvironment"})
shouldNotExit := func(code int) {
// "Fatal" to mimic os.Exit
log.Default().Print("exit called with code", code)
}
BeforeEach(func() {
config.NewSicherObject = func(_ string, _ string) config.SicherObject {
return FakeSicherObject{}
}
version = config.Version{Release: "1.0.0", Commit: "abcdef", Date: "2023-01-01"}
})
It("Errors if the config file is not found", func() {
argv := []string{"cmd", "-c", "config/no-such-file.yml"}
_, err := config.Load(version, shouldNotExit, argv, logger)
Expect(err.Error()).To(Equal("error loading configuration file: open config/no-such-file.yml: no such file or directory"))
})
})