Commit 43b37845 authored by liuyuhang's avatar liuyuhang Committed by 33cn

add test

parent 894cc1eb
...@@ -87,14 +87,14 @@ func (a *action) rvkPropBoard(rvkProb *auty.RevokeProposalBoard) (*types.Receipt ...@@ -87,14 +87,14 @@ func (a *action) rvkPropBoard(rvkProb *auty.RevokeProposalBoard) (*types.Receipt
// 获取GameID // 获取GameID
value, err := a.db.Get(propBoardID(rvkProb.ProposalID)) value, err := a.db.Get(propBoardID(rvkProb.ProposalID))
if err != nil { if err != nil {
alog.Error("rvkPropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "get round failed", alog.Error("rvkPropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "get ProposalBoard) failed",
rvkProb.ProposalID, "err", err) rvkProb.ProposalID, "err", err)
return nil, err return nil, err
} }
var cur auty.AutonomyProposalBoard var cur auty.AutonomyProposalBoard
err = types.Decode(value, &cur) err = types.Decode(value, &cur)
if err != nil { if err != nil {
alog.Error("rvkPropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "decode round failed", alog.Error("rvkPropBoard ", "addr", a.fromaddr, "execaddr", a.execaddr, "decode ProposalBoard failed",
rvkProb.ProposalID, "err", err) rvkProb.ProposalID, "err", err)
return nil, err return nil, err
} }
......
...@@ -20,6 +20,7 @@ import ( ...@@ -20,6 +20,7 @@ import (
_ "github.com/33cn/chain33/system" _ "github.com/33cn/chain33/system"
"github.com/stretchr/testify/mock" "github.com/stretchr/testify/mock"
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
"github.com/33cn/chain33/util"
) )
type execEnv struct { type execEnv struct {
...@@ -60,7 +61,6 @@ var ( ...@@ -60,7 +61,6 @@ var (
func init() { func init() {
commonlog.SetLogLevel("error") commonlog.SetLogLevel("error")
//types.AllowUserExec = append(types.AllowUserExec, []byte("coins"))
} }
func TestProposalBoard(t *testing.T) { func TestProposalBoard(t *testing.T) {
...@@ -98,7 +98,7 @@ func TestProposalBoard(t *testing.T) { ...@@ -98,7 +98,7 @@ func TestProposalBoard(t *testing.T) {
} }
stateDB, _ := dbm.NewGoMemDB("state", "state", 100) stateDB, _ := dbm.NewGoMemDB("state", "state", 100)
localDB := new(dbmock.KVDB) _, _, kvdb := util.CreateTestDB()
api := new(apimock.QueueProtocolAPI) api := new(apimock.QueueProtocolAPI)
accCoin := account.NewCoinsAccount() accCoin := account.NewCoinsAccount()
...@@ -109,13 +109,13 @@ func TestProposalBoard(t *testing.T) { ...@@ -109,13 +109,13 @@ func TestProposalBoard(t *testing.T) {
accCoin.SaveAccount(&accountC) accCoin.SaveAccount(&accountC)
accCoin.SaveAccount(&accountD) accCoin.SaveAccount(&accountD)
driver := newAutonomy() exec := newAutonomy()
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty) exec.SetStateDB(stateDB)
driver.SetStateDB(stateDB) exec.SetLocalDB(kvdb)
driver.SetLocalDB(localDB) exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
driver.SetAPI(api) exec.SetAPI(api)
// PropBoardTx // PropBoard
opt1 := &auty.ProposalBoard{ opt1 := &auty.ProposalBoard{
Year: 2019, Year: 2019,
Month: 7, Month: 7,
...@@ -128,14 +128,38 @@ func TestProposalBoard(t *testing.T) { ...@@ -128,14 +128,38 @@ func TestProposalBoard(t *testing.T) {
require.NoError(t, err) require.NoError(t, err)
pbtx, err = signTx(pbtx, PrivKeyA) pbtx, err = signTx(pbtx, PrivKeyA)
require.NoError(t, err) require.NoError(t, err)
exec := newAutonomy()
exec.SetStateDB(stateDB)
exec.SetLocalDB(localDB)
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty) exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(pbtx, int(1)) receipt, err := exec.Exec(pbtx, int(1))
require.NoError(t, err) require.NoError(t, err)
require.NotNil(t, receipt) require.NotNil(t, receipt)
for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value)
}
receiptDate := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(pbtx, receiptDate, int(1))
require.NoError(t, err)
require.NotNil(t, set)
for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value)
}
//RevokeProposalBoard
proposalID := common.ToHex(pbtx.Hash())
opt2 := &auty.RevokeProposalBoard{
ProposalID:proposalID,
}
rtx, err := revokeProposalBoardTx(opt2)
require.NoError(t, err)
rtx, err = signTx(rtx, PrivKeyA)
require.NoError(t, err)
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
receipt, err = exec.Exec(rtx, int(1))
require.NoError(t, err)
require.NotNil(t, receipt)
} }
func propBoardTx(parm *auty.ProposalBoard) (*types.Transaction, error) { func propBoardTx(parm *auty.ProposalBoard) (*types.Transaction, error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment