OSDN Git Service

Hulk did something
[bytom/vapor.git] / asset / asset_test.go
index f0127ee..844e074 100644 (file)
@@ -9,13 +9,11 @@ import (
        "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"
 )
@@ -23,7 +21,7 @@ import (
 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)
        }
@@ -35,7 +33,7 @@ func TestDefineAssetWithLowercase(t *testing.T) {
 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)
        }
@@ -47,24 +45,32 @@ func TestDefineAssetWithSpaceTrimed(t *testing.T) {
 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)
        }
@@ -74,7 +80,7 @@ func TestFindAssetByID(t *testing.T) {
        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)
 
@@ -95,7 +101,7 @@ func TestUpdateAssetAlias(t *testing.T) {
        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)
        }
@@ -129,12 +135,12 @@ func TestListAssets(t *testing.T) {
        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)
        }
@@ -153,8 +159,9 @@ func TestListAssets(t *testing.T) {
 }
 
 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
@@ -163,17 +170,6 @@ func mockChain(testDB dbm.DB) (*protocol.Chain, error) {
 }
 
 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)