46 lines
984 B
Go
46 lines
984 B
Go
package consumers_test
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
|
|
configkit "gitea.maximumdirect.net/eric/ConfigKit"
|
|
)
|
|
|
|
type workingDirectoryPresetConfig struct {
|
|
Name string `yaml:"name"`
|
|
}
|
|
|
|
func Example_workingDirectoryPreset() {
|
|
original, err := os.Getwd()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
defer func() { _ = os.Chdir(original) }()
|
|
root, err := os.MkdirTemp("", "configkit-working-search-")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
defer os.RemoveAll(root)
|
|
if err := os.Chdir(root); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
if err := os.WriteFile(filepath.Join(root, "service.yml"), []byte("name: example\n"), 0o600); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
result, err := configkit.Load[workingDirectoryPresetConfig](
|
|
configkit.SearchConfig("service", configkit.WorkingDirectory()),
|
|
)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Println(result.Config.Name, filepath.Base(result.Sources()[0].Path))
|
|
// Output: example service.yml
|
|
}
|