OSDN Git Service

Unit test (#113)
authorGuanghua Guo <1536310027@qq.com>
Mon, 20 Nov 2017 03:07:42 +0000 (11:07 +0800)
committerGitHub <noreply@github.com>
Mon, 20 Nov 2017 03:07:42 +0000 (11:07 +0800)
* Correct unit test

* fix clean temp files generated by accesstoken test (#114)

blockchain/accesstoken/accesstoken_test.go
blockchain/hsm_test.go

index c81d97c..151005f 100644 (file)
@@ -3,6 +3,7 @@ package accesstoken
 import (
        "context"
        "encoding/hex"
+       "os"
        "strings"
        "testing"
 
@@ -12,7 +13,8 @@ import (
 )
 
 func TestCreate(t *testing.T) {
-       testDB := dbm.NewDB("testdb1", "leveldb", ".data")
+       testDB := dbm.NewDB("testdb", "leveldb", "temp")
+       defer os.RemoveAll("temp")
        cs := NewStore(testDB)
        ctx := context.Background()
 
@@ -37,7 +39,8 @@ func TestCreate(t *testing.T) {
 
 func TestList(t *testing.T) {
        ctx := context.Background()
-       testDB := dbm.NewDB("testdb2", "leveldb", ".data")
+       testDB := dbm.NewDB("testdb", "leveldb", "temp")
+       defer os.RemoveAll("temp")
        cs := NewStore(testDB)
 
        mustCreateToken(ctx, t, cs, "ab", "test")
@@ -64,7 +67,8 @@ func TestList(t *testing.T) {
 
 func TestCheck(t *testing.T) {
        ctx := context.Background()
-       testDB := dbm.NewDB("testdb3", "leveldb", ".data")
+       testDB := dbm.NewDB("testdb", "leveldb", "temp")
+       defer os.RemoveAll("temp")
        cs := NewStore(testDB)
 
        token := mustCreateToken(ctx, t, cs, "x", "client")
@@ -94,7 +98,8 @@ func TestCheck(t *testing.T) {
 
 func TestDelete(t *testing.T) {
        ctx := context.Background()
-       testDB := dbm.NewDB("testdb4", "leveldb", ".data")
+       testDB := dbm.NewDB("testdb", "leveldb", "temp")
+       defer os.RemoveAll("temp")
        cs := NewStore(testDB)
 
        token := mustCreateToken(ctx, t, cs, "Y", "client")
index a3bad8c..f0528a9 100644 (file)
@@ -10,7 +10,6 @@ import (
 
        "github.com/bytom/blockchain/account"
        "github.com/bytom/blockchain/asset"
-       "github.com/bytom/blockchain/pin"
        "github.com/bytom/blockchain/pseudohsm"
        "github.com/bytom/blockchain/txbuilder"
        "github.com/bytom/blockchain/txdb"
@@ -37,8 +36,8 @@ func TestHSM(t *testing.T) {
        store := txdb.NewStore(tc)
 
        var accounts *account.Manager
+       var wallet *account.Wallet
        var assets *asset.Registry
-       var pinStore *pin.Store
 
        genesisBlock := &legacy.Block{
                BlockHeader:  legacy.BlockHeader{},
@@ -61,15 +60,11 @@ func TestHSM(t *testing.T) {
                t.Fatal(err)
        }
 
-       accUTXODB := dbm.NewDB("accountutxos", config.DBBackend, dir)
-       pinStore = pin.NewStore(accUTXODB)
+       walletDB := dbm.NewDB("wallet", config.DBBackend, config.DBDir())
 
-       err = pinStore.LoadAll(ctx)
-       if err != nil {
-               t.Fatal(err)
-       }
        accountsDB := dbm.NewDB("account", config.DBBackend, dir)
-       accounts = account.NewManager(accountsDB, chain, pinStore)
+       wallet = account.NewWallet(walletDB)
+       accounts = account.NewManager(accountsDB, chain, wallet)
        //accounts.IndexAccounts(query.NewIndexer(accountsDB, chain))
 
        assetsDB := dbm.NewDB("asset", config.DBBackend, dir)
@@ -137,59 +132,6 @@ func TestHSM(t *testing.T) {
        if err != nil {
                t.Fatal(err)
        }
-
-       //err = txbuilder.FinalizeTx(ctx, chain, tmpl.Transaction)
-       //if err != nil {
-       //      t.Fatal(err)
-       //}
-       /*
-               // generate block without nouce
-               b, err := mining.NewBlockTemplate(chain, txPool, []byte{})
-               if err != nil {
-                       t.Fatal(err)
-               }
-               //calculate nonce
-               for i := uint64(0); i <= 10000000000000; i++ {
-                       b.Nonce = i
-                       hash := b.Hash()
-                       if consensus.CheckProofOfWork(&hash, b.Bits) {
-                               break
-                       }
-               }
-               //block validation
-               if _, err = chain.ProcessBlock(b); err != nil {
-                       t.Fatal(err)
-               }
-
-               <-pinStore.PinWaiter(account.PinName, chain.Height())
-
-               /*
-                  c := prottest.NewChain(t)
-                  assets := asset.NewRegistry(db, c, pinStore)
-                  accounts å:= account.NewManager(db, c, pinStore)
-                  coretest.CreatePins(ctx, t, pinStore)
-                  accounts.IndexAccounts(query.NewIndexer(db, c, pinStore))
-                  go accounts.ProcessBlocks(ctx)
-
-                  coretest.SignTxTemplate(t, ctx, tmpl, &testutil.TestXPrv)
-                  err = txbuilder.FinalizeTx(ctx, c, g, tmpl.Transaction)
-                  if err != nil {
-                      t.Fatal(err)
-                  }
-
-                  // Make a block so that UTXOs from the above tx are available to spend.
-                  prottest.MakeBlock(t, c, g.PendingTxs())
-                  <-pinStore.PinWaiter(account.PinName, c.Height())
-
-                  xferSrc1 := accounts.NewSpendAction(bc.AssetAmount{AssetId: &asset1ID, Amount: 10}, acct1.ID, nil, nil)
-                  xferSrc2 := accounts.NewSpendAction(bc.AssetAmount{AssetId: &asset2ID, Amount: 20}, acct2.ID, nil, nil)
-                  xferDest1 := accounts.NewControlAction(bc.AssetAmount{AssetId: &asset2ID, Amount: 20}, acct1.ID, nil)
-                  xferDest2 := accounts.NewControlAction(bc.AssetAmount{AssetId: &asset1ID, Amount: 10}, acct2.ID, nil)
-                  tmpl, err = txbuilder.Build(ctx, nil, []txbuilder.Action{xferSrc1, xferSrc2, xferDest1, xferDest2}, time.Now().Add(time.Minute))
-                  if err != nil {
-                      t.Fatal(err)
-                  }
-       */
 }
 
 func tmpManager(t *testing.T) string {