"strings"
"testing"
- dbm "github.com/tendermint/tmlibs/db"
-
- "github.com/vapor/common"
- "github.com/vapor/config"
"github.com/vapor/consensus"
"github.com/vapor/crypto/ed25519/chainkd"
- "github.com/vapor/database/leveldb"
+ "github.com/vapor/database"
+ dbm "github.com/vapor/database/leveldb"
+ "github.com/vapor/event"
"github.com/vapor/protocol"
"github.com/vapor/testutil"
)
func TestDefineAssetWithLowercase(t *testing.T) {
reg := mockNewRegistry(t)
alias := "lower"
- asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, alias, nil)
+ asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, alias, nil)
if err != nil {
t.Fatal(err)
}
func TestDefineAssetWithSpaceTrimed(t *testing.T) {
reg := mockNewRegistry(t)
alias := " WITH SPACE "
- asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, alias, nil)
+ asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, alias, nil)
if err != nil {
t.Fatal(err)
}
func TestDefineAsset(t *testing.T) {
ctx := context.Background()
reg := mockNewRegistry(t)
- asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, "asset-alias", nil)
+ asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, "asset-alias", nil)
if err != nil {
testutil.FatalErr(t, err)
}
- found, err := reg.FindByID(ctx, &asset.AssetID)
+ limitAsset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 100, "limit-asset", nil)
if err != nil {
- t.Errorf("unexpected error %v", err)
+ testutil.FatalErr(t, err)
}
- if !testutil.DeepEqual(asset, found) {
- t.Errorf("expected asset %v to be recorded as %v", asset, found)
+ assets := []*Asset{asset, limitAsset}
+ for _, ass := range assets {
+ found, err := reg.FindByID(ctx, &ass.AssetID)
+ if err != nil {
+ t.Errorf("unexpected error %v", err)
+ }
+
+ if !testutil.DeepEqual(ass, found) {
+ t.Errorf("expected asset %v to be recorded as %v", ass, found)
+ }
}
}
func TestDefineBtmAsset(t *testing.T) {
reg := mockNewRegistry(t)
- _, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, consensus.BTMAlias, nil)
+ _, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, consensus.BTMAlias, nil)
if err == nil {
testutil.FatalErr(t, err)
}
ctx := context.Background()
reg := mockNewRegistry(t)
keys := []chainkd.XPub{testutil.TestXPub}
- asset, err := reg.Define(keys, 1, nil, "TESTASSET", nil)
+ asset, err := reg.Define(keys, 1, nil, 0, "TESTASSET", nil)
if err != nil {
testutil.FatalErr(t, err)
oldAlias := "OLD_ALIAS"
newAlias := "NEW_ALIAS"
- asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, oldAlias, nil)
+ asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, oldAlias, nil)
if err != nil {
testutil.FatalErr(t, err)
}
firstAlias := "FIRST_ALIAS"
secondAlias := "SECOND_ALIAS"
- firstAsset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, firstAlias, nil)
+ firstAsset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, firstAlias, nil)
if err != nil {
testutil.FatalErr(t, err)
}
- secondAsset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, secondAlias, nil)
+ secondAsset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, 0, secondAlias, nil)
if err != nil {
testutil.FatalErr(t, err)
}
}
func mockChain(testDB dbm.DB) (*protocol.Chain, error) {
- store := leveldb.NewStore(testDB)
- txPool := protocol.NewTxPool(store)
+ store := database.NewStore(testDB)
+ dispatcher := event.NewDispatcher()
+ txPool := protocol.NewTxPool(store, dispatcher)
chain, err := protocol.NewChain(store, txPool)
if err != nil {
return nil, err
}
func mockNewRegistry(t *testing.T) *Registry {
- config.CommonConfig = config.DefaultConfig()
- consensus.SoloNetParams.Signer = "78673764e0ba91a4c5ba9ec0c8c23c69e3d73bf27970e05e0a977e81e13bde475264d3b177a96646bc0ce517ae7fd63504c183ab6d330dea184331a4cf5912d5"
- config.CommonConfig.Consensus.Dpos.SelfVoteSigners = append(config.CommonConfig.Consensus.Dpos.SelfVoteSigners, "vsm1qkm743xmgnvh84pmjchq2s4tnfpgu9ae2f9slep")
- config.CommonConfig.Consensus.Dpos.XPrv = "a8e281b615809046698fb0b0f2804a36d824d48fa443350f10f1b80649d39e5f1e85cf9855548915e36137345910606cbc8e7dd8497c831dce899ee6ac112445"
- for _, v := range config.CommonConfig.Consensus.Dpos.SelfVoteSigners {
- address, err := common.DecodeAddress(v, &consensus.SoloNetParams)
- if err != nil {
- t.Fatal(err)
- }
- config.CommonConfig.Consensus.Dpos.Signers = append(config.CommonConfig.Consensus.Dpos.Signers, address)
- }
dirPath, err := ioutil.TempDir(".", "")
if err != nil {
t.Fatal(err)