44 lines
1.1 KiB
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
|
|
}
|