Files
notarius/internal/modules/integration/config_test.go

44 lines
1.1 KiB
Go

package integration_test
import (
"os"
"path/filepath"
"testing"
"gitea.maximumdirect.net/eric/notarius/internal/core/config"
)
func loadIntegrationConfig(t *testing.T, path string) config.Config {
t.Helper()
loaded, err := config.Load(path, config.LoadOptions{})
if err != nil {
t.Fatalf("load configuration %q: %v", path, err)
}
return loaded.RuntimeConfig()
}
func loadIntegrationConfigText(t *testing.T, content string) config.Config {
t.Helper()
path := filepath.Join(t.TempDir(), "config.yml")
if err := os.WriteFile(path, []byte(content), 0o600); err != nil {
t.Fatal(err)
}
return loadIntegrationConfig(t, path)
}
func configFromYAML(content string) (config.Config, error) {
directory, err := os.MkdirTemp("", "notarius-integration-config-")
if err != nil {
return config.Config{}, err
}
path := filepath.Join(directory, "config.yml")
if err := os.WriteFile(path, []byte(content), 0o600); err != nil {
return config.Config{}, err
}
loaded, err := config.Load(path, config.LoadOptions{})
if err != nil {
return config.Config{}, err
}
return loaded.RuntimeConfig(), nil
}