add json provider
Some checks failed
continuous-integration/drone/pr Build was killed
continuous-integration/drone/push Build is passing

This commit is contained in:
2024-01-25 21:14:06 +03:00
parent b9af510e71
commit 59f97e1681
7 changed files with 211 additions and 1 deletions

View File

@@ -0,0 +1,33 @@
package json_test
import (
"embed"
"testing"
"time"
"gitoa.ru/go-4devs/config/provider/json"
"gitoa.ru/go-4devs/config/test"
"gitoa.ru/go-4devs/config/test/require"
)
//go:embed fixture/*
var fixture embed.FS
func TestProvider(t *testing.T) {
t.Parallel()
js, err := fixture.ReadFile("fixture/config.json")
require.NoError(t, err)
prov := json.New(js)
sl := []string{}
read := []test.Read{
test.NewRead("config title", "app.name.title"),
test.NewRead(time.Minute, "app.name.timeout"),
test.NewReadUnmarshal(&[]string{"name"}, &sl, "app.name.var"),
test.NewReadConfig("cfg"),
test.NewRead(true, "app", "name", "success"),
}
test.Run(t, prov, read)
}