mukan-ignite/integration/chain/config_test.go
Mukan Erkin Törük c32551b6f7
Some checks failed
Docs Deploy / build_and_deploy (push) Has been cancelled
Generate Docs / cli (push) Has been cancelled
Generate Config Doc / cli (push) Has been cancelled
Go formatting / go-formatting (push) Has been cancelled
Check links / markdown-link-check (push) Has been cancelled
Integration / pre-test (push) Has been cancelled
Integration / test on (push) Has been cancelled
Integration / status (push) Has been cancelled
Lint / Lint Go code (push) Has been cancelled
Test / test (ubuntu-latest) (push) Has been cancelled
refactor: replace all github.com upstream refs with git.cw.tr/mukan-network
2026-05-11 03:36:24 +03:00

68 lines
1.9 KiB
Go

//go:build !relayer
package chain_test
import (
"context"
"fmt"
"path/filepath"
"testing"
"github.com/stretchr/testify/require"
chainconfig "git.cw.tr/mukan-network/mukan-ignite/ignite/config/chain"
"git.cw.tr/mukan-network/mukan-ignite/ignite/pkg/confile"
"git.cw.tr/mukan-network/mukan-ignite/ignite/pkg/randstr"
envtest "git.cw.tr/mukan-network/mukan-ignite/integration"
)
func TestOverwriteSDKConfigsAndChainID(t *testing.T) {
var (
env = envtest.New(t)
appname = randstr.Runes(10)
app = env.ScaffoldApp(fmt.Sprintf("github.com/test/%s", appname))
servers = app.RandomizeServerPorts()
ctx, cancel = context.WithCancel(env.Ctx())
isBackendAliveErr error
)
var cfg chainconfig.Config
cf := confile.New(confile.DefaultYAMLEncodingCreator, filepath.Join(app.SourcePath(), "config.yml"))
require.NoError(t, cf.Load(&cfg))
cfg.Genesis = map[string]interface{}{"chain_id": "cosmos"}
cfg.Validators[0].App["hello"] = "cosmos"
cfg.Validators[0].Config["log_format"] = "json"
require.NoError(t, cf.Save(cfg))
go func() {
defer cancel()
isBackendAliveErr = env.IsAppServed(ctx, servers.API)
}()
app.MustServe(ctx)
require.NoError(t, isBackendAliveErr, "app cannot get online in time")
cases := []struct {
ec confile.EncodingCreator
relpath string
key string
want interface{}
}{
{confile.DefaultJSONEncodingCreator, "config/genesis.json", "chain_id", "cosmos"},
{confile.DefaultTOMLEncodingCreator, "config/app.toml", "hello", "cosmos"},
{confile.DefaultTOMLEncodingCreator, "config/config.toml", "log_format", "json"},
}
for _, tt := range cases {
t.Run("test "+tt.relpath, func(t *testing.T) {
var conf map[string]interface{}
path := filepath.Join(env.AppHome(appname), tt.relpath)
c := confile.New(tt.ec, path)
require.NoError(t, c.Load(&conf))
require.Equalf(t, tt.want, conf[tt.key], "unexpected value for %s", tt.relpath)
})
}
}