mukan-ignite/ignite/pkg/chaincmd/runner/runner_test.go
Mukan Erkin Törük 26b204bd04
Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
feat: fork Ignite CLI v29 as Mukan Ignite — remove cosmos-sdk restrictions
2026-05-11 03:31:37 +03:00

72 lines
1.9 KiB
Go

package chaincmdrunner
import (
"context"
"testing"
"github.com/stretchr/testify/require"
)
func TestNewKV(t *testing.T) {
kv := NewKV("k", "v")
require.Equal(t, "k", kv.key)
require.Equal(t, "v", kv.value)
}
func TestFindMatchingCloseBracket(t *testing.T) {
data := []byte(`{"a":{"b":1}} trailing`)
idx := findMatchingCloseBracket(data, '{', '}')
require.Equal(t, 12, idx)
require.Equal(t, -1, findMatchingCloseBracket([]byte(`{"a":1`), '{', '}'))
}
func TestCleanAndValidateJSON(t *testing.T) {
raw := []byte("logs...\n{\"code\":0,\"raw_log\":\"ok\",\"txhash\":\"ABC\"}\nmore")
got, err := cleanAndValidateJSON(raw)
require.NoError(t, err)
require.Equal(t, `{"code":0,"raw_log":"ok","txhash":"ABC"}`, string(got))
}
func TestFallbackFormatDetectionConvertsYAML(t *testing.T) {
raw := []byte("code: 0\nraw_log: ok\ntxhash: ABC\n")
got, err := fallbackFormatDetection(raw)
require.NoError(t, err)
require.JSONEq(t, `{"code":0,"raw_log":"ok","txhash":"ABC"}`, string(got))
}
func TestJSONEnsuredBytes(t *testing.T) {
b := newBuffer()
_, err := b.WriteString("noise\n{\"k\":\"v\"}\n")
require.NoError(t, err)
got, err := b.JSONEnsuredBytes()
require.NoError(t, err)
require.JSONEq(t, `{"k":"v"}`, string(got))
}
func TestDecodeTxResult(t *testing.T) {
b := newBuffer()
_, err := b.WriteString("code: 0\nraw_log: ok\ntxhash: HASH\n")
require.NoError(t, err)
got, err := decodeTxResult(b)
require.NoError(t, err)
require.Equal(t, 0, got.Code)
require.Equal(t, "ok", got.RawLog)
require.Equal(t, "HASH", got.TxHash)
}
func TestQueryTxByEventsRequiresSelectors(t *testing.T) {
r := Runner{}
events, err := r.QueryTxByEvents(context.Background())
require.Error(t, err)
require.Nil(t, events)
}
func TestQueryTxByQueryRequiresSelectors(t *testing.T) {
r := Runner{}
events, err := r.QueryTxByQuery(context.Background())
require.Error(t, err)
require.Nil(t, events)
}