10 dbm "github.com/tendermint/tmlibs/db"
12 "github.com/bytom/blockchain/asset"
13 "github.com/bytom/blockchain/txdb"
14 "github.com/bytom/crypto/ed25519/chainkd"
15 "github.com/bytom/protocol"
16 "github.com/bytom/protocol/bc"
17 "github.com/bytom/testutil"
20 func TestUpdateAssetTags(t *testing.T) {
21 dirPath, err := ioutil.TempDir(".", "")
25 defer os.RemoveAll(dirPath)
27 testDB := dbm.NewDB("testdb", "leveldb", "temp")
28 defer os.RemoveAll("temp")
30 store := txdb.NewStore(testDB)
31 txPool := protocol.NewTxPool()
32 chain, err := protocol.NewChain(bc.Hash{}, store, txPool)
37 reg := asset.NewRegistry(testDB, chain)
38 ctx := context.Background()
40 asset, err := reg.Define([]chainkd.XPub{testutil.TestXPub}, 1, nil, "asset-alias",
41 map[string]interface{}{
45 testutil.FatalErr(t, err)
49 wantTags := map[string]interface{}{
53 if reg.UpdateTags(ctx, asset.AssetID.String(), wantTags) != nil {
54 testutil.FatalErr(t, err)
57 asset1, err := reg.FindByAlias(ctx, *asset.Alias)
59 testutil.FatalErr(t, err)
62 gotTags := asset1.Tags
63 if !reflect.DeepEqual(gotTags, wantTags) {
64 t.Fatalf("tags:\ngot: %v\nwant: %v", gotTags, wantTags)
68 wantTags = map[string]interface{}{
72 if reg.UpdateTags(ctx, *asset.Alias, wantTags) != nil {
73 testutil.FatalErr(t, err)
76 asset2, err := reg.FindByAlias(ctx, *asset.Alias)
78 testutil.FatalErr(t, err)
82 if !reflect.DeepEqual(gotTags, wantTags) {
83 t.Fatalf("tags:\ngot: %v\nwant: %v", gotTags, wantTags)