79 lines
2.1 KiB
Go
79 lines
2.1 KiB
Go
package genesis
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
cmn "github.com/tendermint/tmlibs/common"
|
|
)
|
|
|
|
const genesisFilepath = "./testdata/genesis.json"
|
|
|
|
func TestParseList(t *testing.T) {
|
|
assert, require := assert.New(t), require.New(t)
|
|
|
|
bytes, err := cmn.ReadFile(genesisFilepath)
|
|
require.Nil(err, "loading genesis file %+v", err)
|
|
|
|
// the basecoin genesis go-wire/data :)
|
|
genDoc := new(FullDoc)
|
|
err = json.Unmarshal(bytes, genDoc)
|
|
require.Nil(err, "unmarshaling genesis file %+v", err)
|
|
|
|
pluginOpts, err := parseList(genDoc.AppOptions.PluginOptions)
|
|
require.Nil(err, "%+v", err)
|
|
genDoc.AppOptions.pluginOptions = pluginOpts
|
|
|
|
assert.Equal(genDoc.AppOptions.pluginOptions[0].Key, "plugin1/key1")
|
|
assert.Equal(genDoc.AppOptions.pluginOptions[1].Key, "plugin1/key2")
|
|
assert.Equal(genDoc.AppOptions.pluginOptions[0].Value, "value1")
|
|
assert.Equal(genDoc.AppOptions.pluginOptions[1].Value, "value2")
|
|
}
|
|
|
|
func TestGetOptions(t *testing.T) {
|
|
assert, require := assert.New(t), require.New(t)
|
|
|
|
opts, err := GetOptions(genesisFilepath)
|
|
require.Nil(err, "loading genesis file %+v", err)
|
|
|
|
require.Equal(4, len(opts))
|
|
chain := opts[0]
|
|
assert.Equal(sdk.ModuleNameBase, chain.Module)
|
|
assert.Equal(sdk.ChainKey, chain.Key)
|
|
assert.Equal("foo_bar_chain", chain.Value)
|
|
|
|
acct := opts[1]
|
|
assert.Equal("coin", acct.Module)
|
|
assert.Equal("account", acct.Key)
|
|
|
|
p1 := opts[2]
|
|
assert.Equal("plugin1", p1.Module)
|
|
assert.Equal("key1", p1.Key)
|
|
assert.Equal("value1", p1.Value)
|
|
|
|
p2 := opts[3]
|
|
assert.Equal("plugin1", p2.Module)
|
|
assert.Equal("key2", p2.Key)
|
|
assert.Equal("value2", p2.Value)
|
|
}
|
|
|
|
func TestSplitKey(t *testing.T) {
|
|
assert := assert.New(t)
|
|
prefix, suffix := splitKey("foo/bar")
|
|
assert.EqualValues("foo", prefix)
|
|
assert.EqualValues("bar", suffix)
|
|
|
|
prefix, suffix = splitKey("foobar")
|
|
assert.EqualValues("base", prefix)
|
|
assert.EqualValues("foobar", suffix)
|
|
|
|
prefix, suffix = splitKey("some/complex/issue")
|
|
assert.EqualValues("some", prefix)
|
|
assert.EqualValues("complex/issue", suffix)
|
|
|
|
}
|