Commit 15118e90 authored by QM's avatar QM Committed by mdj33

fix autonomy unit test

parent a1c9a915
...@@ -86,24 +86,24 @@ func testPropChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm ...@@ -86,24 +86,24 @@ func testPropChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm
assert.NoError(t, err) assert.NoError(t, err)
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, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
// local // local
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(pbtx, receiptData, int(1)) set, err := exec.ExecLocal(pbtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
...@@ -115,8 +115,8 @@ func testPropChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm ...@@ -115,8 +115,8 @@ func testPropChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Frozen) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Frozen)
} }
func propChangeTx(parm *auty.ProposalChange) (*types.Transaction, error) { func propChangeTx(parm *auty.ProposalChange) (*types.Transaction, error) {
...@@ -140,33 +140,33 @@ func revokeProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, state ...@@ -140,33 +140,33 @@ func revokeProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, state
rtx, err = signTx(rtx, PrivKeyA) rtx, err = signTx(rtx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty) exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(rtx, int(1)) receipt, err := exec.Exec(rtx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(rtx, receiptData, int(1)) set, err := exec.ExecLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(rtx, receiptData, int(1)) set, err = exec.ExecDelLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
} }
func revokeProposalChangeTx(parm *auty.RevokeProposalChange) (*types.Transaction, error) { func revokeProposalChangeTx(parm *auty.RevokeProposalChange) (*types.Transaction, error) {
...@@ -182,6 +182,11 @@ func revokeProposalChangeTx(parm *auty.RevokeProposalChange) (*types.Transaction ...@@ -182,6 +182,11 @@ func revokeProposalChangeTx(parm *auty.RevokeProposalChange) (*types.Transaction
func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) { func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) {
api := new(apimock.QueueProtocolAPI) api := new(apimock.QueueProtocolAPI)
//chainCfg := types.NewChain33Config(cfgstring)
//chainCfg.SetDappFork("autonomy","Enable",1)
//chainCfg.SetDappFork("autonomy","ForkAutonomyDelRule",100)
//api.On("GetConfig", mock.Anything).Return(chainCfg, nil)
api.On("GetConfig", mock.Anything).Return(chainTestCfg, nil)
api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil) api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil)
api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil) api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil)
hear := &types.Header{StateHash: []byte("")} hear := &types.Header{StateHash: []byte("")}
...@@ -233,7 +238,12 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB ...@@ -233,7 +238,12 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB
for _, record := range records { for _, record := range records {
opt := &auty.VoteProposalChange{ opt := &auty.VoteProposalChange{
ProposalID: proposalID, ProposalID: proposalID,
Approve: record.appr, //Approve: record.appr,
}
if record.appr {
opt.Vote = auty.AutonomyVoteOption_APPROVE
} else {
opt.Vote = auty.AutonomyVoteOption_OPPOSE
} }
tx, err := voteProposalChangeTx(opt) tx, err := voteProposalChangeTx(opt)
assert.NoError(t, err) assert.NoError(t, err)
...@@ -242,25 +252,25 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB ...@@ -242,25 +252,25 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB
// 设定当前高度为投票高度 // 设定当前高度为投票高度
exec.SetEnv(env.startHeight, env.blockTime, env.difficulty) exec.SetEnv(env.startHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
...@@ -278,10 +288,10 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB ...@@ -278,10 +288,10 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB
// balance // balance
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
// status // status
value, err := stateDB.Get(propChangeID(proposalID)) value, err := stateDB.Get(propChangeID(proposalID))
assert.NoError(t, err) assert.NoError(t, err)
...@@ -297,12 +307,13 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB ...@@ -297,12 +307,13 @@ func voteProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB
act := &auty.ActiveBoard{} act := &auty.ActiveBoard{}
err = types.Decode(value, act) err = types.Decode(value, act)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, act.Revboards[0], AddrA) assert.Equal(t, act.Revboards[0], Addr18)
assert.Equal(t, len(act.Boards), len(boards)) assert.Equal(t, len(act.Boards), len(boards))
} }
func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) { func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) {
api := new(apimock.QueueProtocolAPI) api := new(apimock.QueueProtocolAPI)
api.On("GetConfig", mock.Anything).Return(chainTestCfg, nil)
api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil) api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil)
api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil) api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil)
hear := &types.Header{StateHash: []byte("")} hear := &types.Header{StateHash: []byte("")}
...@@ -356,7 +367,12 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -356,7 +367,12 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
for i, record := range records { for i, record := range records {
opt := &auty.VoteProposalChange{ opt := &auty.VoteProposalChange{
ProposalID: proposalID, ProposalID: proposalID,
Approve: record.appr, //Approve: record.appr,
}
if record.appr {
opt.Vote = auty.AutonomyVoteOption_APPROVE
} else {
opt.Vote = auty.AutonomyVoteOption_OPPOSE
} }
tx, err := voteProposalChangeTx(opt) tx, err := voteProposalChangeTx(opt)
assert.NoError(t, err) assert.NoError(t, err)
...@@ -365,7 +381,7 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -365,7 +381,7 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
// 设定当前高度为投票高度 // 设定当前高度为投票高度
exec.SetEnv(env.startHeight, env.blockTime, env.difficulty) exec.SetEnv(env.startHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
if i < 2 { if i < 2 {
assert.Equal(t, err, auty.ErrNoActiveBoard) assert.Equal(t, err, auty.ErrNoActiveBoard)
} else { } else {
...@@ -373,20 +389,20 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -373,20 +389,20 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
...@@ -405,10 +421,10 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -405,10 +421,10 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
// balance // balance
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
// status // status
value, err := stateDB.Get(propChangeID(proposalID)) value, err := stateDB.Get(propChangeID(proposalID))
assert.NoError(t, err) assert.NoError(t, err)
...@@ -424,7 +440,7 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -424,7 +440,7 @@ func voteErrorProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
act := &auty.ActiveBoard{} act := &auty.ActiveBoard{}
err = types.Decode(value, act) err = types.Decode(value, act)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, act.Revboards[0], AddrA) assert.Equal(t, act.Revboards[0], Addr18)
assert.Equal(t, len(act.Boards), len(boards)) assert.Equal(t, len(act.Boards), len(boards))
} }
...@@ -465,35 +481,35 @@ func terminateProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st ...@@ -465,35 +481,35 @@ func terminateProposalChange(t *testing.T, env *ExecEnv, exec drivers.Driver, st
tx, err = signTx(tx, PrivKeyA) tx, err = signTx(tx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty) exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
} }
func terminateProposalChangeTx(parm *auty.TerminateProposalChange) (*types.Transaction, error) { func terminateProposalChangeTx(parm *auty.TerminateProposalChange) (*types.Transaction, error) {
......
...@@ -20,8 +20,8 @@ import ( ...@@ -20,8 +20,8 @@ import (
) )
const ( const (
testProjectAmount int64 = types.DefaultCoinPrecision * 100 // 工程需要资金 testProjectAmount = types.DefaultCoinPrecision * 100 // 工程需要资金
testFundAmount int64 = types.DefaultCoinPrecision * 1000 // 工程需要资金 testFundAmount = types.DefaultCoinPrecision * 1000 // 工程需要资金
) )
func InitBoard(stateDB dbm.KV) { func InitBoard(stateDB dbm.KV) {
...@@ -29,7 +29,7 @@ func InitBoard(stateDB dbm.KV) { ...@@ -29,7 +29,7 @@ func InitBoard(stateDB dbm.KV) {
act := &auty.ActiveBoard{ act := &auty.ActiveBoard{
Boards: boards, Boards: boards,
} }
stateDB.Set(activeBoardID(), types.Encode(act)) _ = stateDB.Set(activeBoardID(), types.Encode(act))
} }
func InitRule(stateDB dbm.KV) { func InitRule(stateDB dbm.KV) {
...@@ -41,7 +41,7 @@ func InitRule(stateDB dbm.KV) { ...@@ -41,7 +41,7 @@ func InitRule(stateDB dbm.KV) {
LargeProjectAmount: 100 * types.DefaultCoinPrecision, LargeProjectAmount: 100 * types.DefaultCoinPrecision,
PublicPeriod: publicPeriod, PublicPeriod: publicPeriod,
} }
stateDB.Set(activeRuleID(), types.Encode(rule)) _ = stateDB.Set(activeRuleID(), types.Encode(rule))
} }
func InitFund(stateDB dbm.KV, amount int64) { func InitFund(stateDB dbm.KV, amount int64) {
...@@ -175,7 +175,7 @@ func TestBoardPeriodAmount(t *testing.T) { ...@@ -175,7 +175,7 @@ func TestBoardPeriodAmount(t *testing.T) {
Amount: maxBoardPeriodAmount*types.DefaultCoinPrecision - 100, Amount: maxBoardPeriodAmount*types.DefaultCoinPrecision - 100,
StartHeight: 10, StartHeight: 10,
} }
stateDB.Set(activeBoardID(), types.Encode(act)) _ = stateDB.Set(activeBoardID(), types.Encode(act))
opt1 := &auty.ProposalProject{ opt1 := &auty.ProposalProject{
Year: 2019, Year: 2019,
...@@ -192,19 +192,19 @@ func TestBoardPeriodAmount(t *testing.T) { ...@@ -192,19 +192,19 @@ func TestBoardPeriodAmount(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.blockHeight+boardPeriod+1, env.blockTime, env.difficulty) exec.SetEnv(env.blockHeight+boardPeriod+1, env.blockTime, env.difficulty)
receipt, err := exec.Exec(pbtx, int(1)) receipt, err := exec.Exec(pbtx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
// check // check
value, err := stateDB.Get(activeBoardID()) value, err := stateDB.Get(activeBoardID())
assert.NoError(t, err) assert.NoError(t, err)
nact := &auty.ActiveBoard{} nact := &auty.ActiveBoard{}
types.Decode(value, nact) _ = types.Decode(value, nact)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, int64(0), nact.Amount) assert.Equal(t, int64(0), nact.Amount)
} }
...@@ -225,23 +225,23 @@ func testPropProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB db ...@@ -225,23 +225,23 @@ func testPropProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB db
assert.NoError(t, err) assert.NoError(t, err)
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, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(pbtx, receiptData, int(1)) set, err := exec.ExecLocal(pbtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
...@@ -253,8 +253,8 @@ func testPropProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB db ...@@ -253,8 +253,8 @@ func testPropProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB db
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Frozen) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Frozen)
} }
func propProjectTx(parm *auty.ProposalProject) (*types.Transaction, error) { func propProjectTx(parm *auty.ProposalProject) (*types.Transaction, error) {
...@@ -278,34 +278,34 @@ func revokeProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stat ...@@ -278,34 +278,34 @@ func revokeProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stat
rtx, err = signTx(rtx, PrivKeyA) rtx, err = signTx(rtx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty) exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(rtx, int(1)) receipt, err := exec.Exec(rtx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(rtx, receiptData, int(1)) set, err := exec.ExecLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(rtx, receiptData, int(1)) set, err = exec.ExecDelLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
} }
func revokeProposalProjectTx(parm *auty.RevokeProposalProject) (*types.Transaction, error) { func revokeProposalProjectTx(parm *auty.RevokeProposalProject) (*types.Transaction, error) {
...@@ -321,6 +321,7 @@ func revokeProposalProjectTx(parm *auty.RevokeProposalProject) (*types.Transacti ...@@ -321,6 +321,7 @@ func revokeProposalProjectTx(parm *auty.RevokeProposalProject) (*types.Transacti
func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) { func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.KV, kvdb dbm.KVDB, save bool) {
api := new(apimock.QueueProtocolAPI) api := new(apimock.QueueProtocolAPI)
api.On("GetConfig", mock.Anything).Return(chainTestCfg, nil)
api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil) api.On("StoreList", mock.Anything).Return(&types.StoreListReply{}, nil)
api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil) api.On("GetLastHeader", mock.Anything).Return(&types.Header{StateHash: []byte("")}, nil)
hear := &types.Header{StateHash: []byte("")} hear := &types.Header{StateHash: []byte("")}
...@@ -371,7 +372,12 @@ func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateD ...@@ -371,7 +372,12 @@ func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateD
for _, record := range records { for _, record := range records {
opt := &auty.VoteProposalProject{ opt := &auty.VoteProposalProject{
ProposalID: proposalID, ProposalID: proposalID,
Approve: record.appr, //Approve: record.appr,
}
if record.appr {
opt.Vote = auty.AutonomyVoteOption_APPROVE
} else {
opt.Vote = auty.AutonomyVoteOption_OPPOSE
} }
tx, err := voteProposalProjectTx(opt) tx, err := voteProposalProjectTx(opt)
assert.NoError(t, err) assert.NoError(t, err)
...@@ -380,25 +386,25 @@ func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateD ...@@ -380,25 +386,25 @@ func voteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, stateD
// 设定当前高度为投票高度 // 设定当前高度为投票高度
exec.SetEnv(env.startHeight, env.blockTime, env.difficulty) exec.SetEnv(env.startHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
...@@ -438,12 +444,12 @@ func checkVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID str ...@@ -438,12 +444,12 @@ func checkVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID str
// balance // balance
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
account = accCoin.LoadExecAccount(AddrD, autonomyAddr) accountAddr = accCoin.LoadExecAccount(AddrD, autonomyAddr)
assert.Equal(t, testProjectAmount, account.Balance) assert.Equal(t, testProjectAmount, accountAddr.Balance)
// 更新董事会累计审批金 // 更新董事会累计审批金
value, err = stateDB.Get(activeBoardID()) value, err = stateDB.Get(activeBoardID())
assert.NoError(t, err) assert.NoError(t, err)
...@@ -505,25 +511,25 @@ func pubVoteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, sta ...@@ -505,25 +511,25 @@ func pubVoteProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, sta
// 设定当前高度为投票高度 // 设定当前高度为投票高度
exec.SetEnv(env.startHeight, env.blockTime, env.difficulty) exec.SetEnv(env.startHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
...@@ -556,12 +562,12 @@ func checkPubVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID ...@@ -556,12 +562,12 @@ func checkPubVoteProposalProjectResult(t *testing.T, stateDB dbm.KV, proposalID
// balance // balance
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(AddrD, autonomyAddr) accountAddr = accCoin.LoadExecAccount(AddrD, autonomyAddr)
assert.Equal(t, int64(0), account.Balance) assert.Equal(t, int64(0), accountAddr.Balance)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
// 更新董事会累计审批金 // 更新董事会累计审批金
value, err = stateDB.Get(activeBoardID()) value, err = stateDB.Get(activeBoardID())
...@@ -610,33 +616,33 @@ func terminateProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, s ...@@ -610,33 +616,33 @@ func terminateProposalProject(t *testing.T, env *ExecEnv, exec drivers.Driver, s
tx, err = signTx(tx, PrivKeyA) tx, err = signTx(tx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty) exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
} }
func terminateProposalProjectTx(parm *auty.TerminateProposalProject) (*types.Transaction, error) { func terminateProposalProjectTx(parm *auty.TerminateProposalProject) (*types.Transaction, error) {
......
...@@ -157,23 +157,23 @@ func testPropRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.K ...@@ -157,23 +157,23 @@ func testPropRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.K
assert.NoError(t, err) assert.NoError(t, err)
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, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(pbtx, receiptData, int(1)) set, err := exec.ExecLocal(pbtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
...@@ -185,8 +185,8 @@ func testPropRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.K ...@@ -185,8 +185,8 @@ func testPropRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB dbm.K
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Frozen) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Frozen)
} }
func propRuleTx(parm *auty.ProposalRule) (*types.Transaction, error) { func propRuleTx(parm *auty.ProposalRule) (*types.Transaction, error) {
...@@ -210,33 +210,33 @@ func revokeProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB ...@@ -210,33 +210,33 @@ func revokeProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB
rtx, err = signTx(rtx, PrivKeyA) rtx, err = signTx(rtx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty) exec.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(rtx, int(1)) receipt, err := exec.Exec(rtx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(rtx, receiptData, int(1)) set, err := exec.ExecLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(rtx, receiptData, int(1)) set, err = exec.ExecDelLocal(rtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
// check rule // check rule
au := newTestAutonomy() au := newTestAutonomy()
au.SetStateDB(stateDB) au.SetStateDB(stateDB)
...@@ -304,9 +304,14 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d ...@@ -304,9 +304,14 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d
for i, record := range records { for i, record := range records {
opt := &auty.VoteProposalRule{ opt := &auty.VoteProposalRule{
ProposalID: proposalID, ProposalID: proposalID,
Approve: record.appr, //Approve: record.appr,
OriginAddr: record.origin, OriginAddr: record.origin,
} }
if record.appr {
opt.Vote = auty.AutonomyVoteOption_APPROVE
} else {
opt.Vote = auty.AutonomyVoteOption_OPPOSE
}
tx, err := voteProposalRuleTx(opt) tx, err := voteProposalRuleTx(opt)
assert.NoError(t, err) assert.NoError(t, err)
tx, err = signTx(tx, record.priv) tx, err = signTx(tx, record.priv)
...@@ -314,25 +319,25 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d ...@@ -314,25 +319,25 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d
// 设定当前高度为投票高度 // 设定当前高度为投票高度
exec.SetEnv(env.startHeight, env.blockTime, env.difficulty) exec.SetEnv(env.startHeight, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
...@@ -354,10 +359,10 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d ...@@ -354,10 +359,10 @@ func voteProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stateDB d
// balance // balance
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
// status // status
value, err := stateDB.Get(propRuleID(proposalID)) value, err := stateDB.Get(propRuleID(proposalID))
assert.NoError(t, err) assert.NoError(t, err)
...@@ -419,35 +424,35 @@ func terminateProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stat ...@@ -419,35 +424,35 @@ func terminateProposalRule(t *testing.T, env *ExecEnv, exec drivers.Driver, stat
tx, err = signTx(tx, PrivKeyA) tx, err = signTx(tx, PrivKeyA)
assert.NoError(t, err) assert.NoError(t, err)
exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty) exec.SetEnv(env.endHeight+1, env.blockTime, env.difficulty)
receipt, err := exec.Exec(tx, int(1)) receipt, err := exec.Exec(tx, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
if save { if save {
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(tx, receiptData, int(1)) set, err := exec.ExecLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
if save { if save {
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
} }
// del // del
set, err = exec.ExecDelLocal(tx, receiptData, int(1)) set, err = exec.ExecDelLocal(tx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, int64(0), account.Frozen) assert.Equal(t, int64(0), accountAddr.Frozen)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, account.Balance) assert.Equal(t, proposalAmount*types.DefaultCoinPrecision, accountAddr.Balance)
// check rule // check rule
au := newTestAutonomy() au := newTestAutonomy()
...@@ -524,8 +529,8 @@ func TestCopyAutonomyProposalRule(t *testing.T) { ...@@ -524,8 +529,8 @@ func TestCopyAutonomyProposalRule(t *testing.T) {
} }
func TestUpgradeRule(t *testing.T) { func TestUpgradeRule(t *testing.T) {
new := upgradeRule(nil, &auty.RuleConfig{}) newRule := upgradeRule(nil, &auty.RuleConfig{})
assert.Nil(t, new) assert.Nil(t, newRule)
cur := &auty.RuleConfig{ cur := &auty.RuleConfig{
BoardApproveRatio: 2, BoardApproveRatio: 2,
PubOpposeRatio: 3, PubOpposeRatio: 3,
...@@ -540,13 +545,13 @@ func TestUpgradeRule(t *testing.T) { ...@@ -540,13 +545,13 @@ func TestUpgradeRule(t *testing.T) {
LargeProjectAmount: 0, LargeProjectAmount: 0,
PublicPeriod: 0, PublicPeriod: 0,
} }
new = upgradeRule(cur, modify) newRule = upgradeRule(cur, modify)
assert.NotNil(t, new) assert.NotNil(t, newRule)
assert.Equal(t, new.BoardApproveRatio, cur.BoardApproveRatio) assert.Equal(t, newRule.BoardApproveRatio, cur.BoardApproveRatio)
assert.Equal(t, new.PubOpposeRatio, cur.PubOpposeRatio) assert.Equal(t, newRule.PubOpposeRatio, cur.PubOpposeRatio)
assert.Equal(t, new.ProposalAmount, cur.ProposalAmount) assert.Equal(t, newRule.ProposalAmount, cur.ProposalAmount)
assert.Equal(t, new.LargeProjectAmount, cur.LargeProjectAmount) assert.Equal(t, newRule.LargeProjectAmount, cur.LargeProjectAmount)
assert.Equal(t, new.PublicPeriod, cur.PublicPeriod) assert.Equal(t, newRule.PublicPeriod, cur.PublicPeriod)
modify = &auty.RuleConfig{ modify = &auty.RuleConfig{
BoardApproveRatio: 20, BoardApproveRatio: 20,
...@@ -555,13 +560,13 @@ func TestUpgradeRule(t *testing.T) { ...@@ -555,13 +560,13 @@ func TestUpgradeRule(t *testing.T) {
LargeProjectAmount: 50, LargeProjectAmount: 50,
PublicPeriod: 60, PublicPeriod: 60,
} }
new = upgradeRule(cur, modify) newRule = upgradeRule(cur, modify)
assert.NotNil(t, new) assert.NotNil(t, newRule)
assert.Equal(t, new.BoardApproveRatio, modify.BoardApproveRatio) assert.Equal(t, newRule.BoardApproveRatio, modify.BoardApproveRatio)
assert.Equal(t, new.PubOpposeRatio, modify.PubOpposeRatio) assert.Equal(t, newRule.PubOpposeRatio, modify.PubOpposeRatio)
assert.Equal(t, new.ProposalAmount, modify.ProposalAmount) assert.Equal(t, newRule.ProposalAmount, modify.ProposalAmount)
assert.Equal(t, new.LargeProjectAmount, modify.LargeProjectAmount) assert.Equal(t, newRule.LargeProjectAmount, modify.LargeProjectAmount)
assert.Equal(t, new.PublicPeriod, modify.PublicPeriod) assert.Equal(t, newRule.PublicPeriod, modify.PublicPeriod)
} }
func TestTransfer(t *testing.T) { func TestTransfer(t *testing.T) {
...@@ -576,20 +581,20 @@ func TestTransfer(t *testing.T) { ...@@ -576,20 +581,20 @@ func TestTransfer(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
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, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
// check // check
accCoin := account.NewCoinsAccount(chainTestCfg) accCoin := account.NewCoinsAccount(chainTestCfg)
accCoin.SetDB(stateDB) accCoin.SetDB(stateDB)
account := accCoin.LoadExecAccount(AddrA, autonomyAddr) accountAddr := accCoin.LoadExecAccount(AddrA, autonomyAddr)
assert.Equal(t, total-types.DefaultCoinPrecision*190, account.Balance) assert.Equal(t, total-types.DefaultCoinPrecision*190, accountAddr.Balance)
account = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr) accountAddr = accCoin.LoadExecAccount(autonomyAddr, autonomyAddr)
assert.Equal(t, types.DefaultCoinPrecision*190, account.Balance) assert.Equal(t, types.DefaultCoinPrecision*190, accountAddr.Balance)
} }
func transferFundTx(parm *auty.TransferFund) (*types.Transaction, error) { func transferFundTx(parm *auty.TransferFund) (*types.Transaction, error) {
...@@ -620,20 +625,20 @@ func TestComment(t *testing.T) { ...@@ -620,20 +625,20 @@ func TestComment(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
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, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, receipt) assert.NotNil(t, receipt)
for _, kv := range receipt.KV { for _, kv := range receipt.KV {
stateDB.Set(kv.Key, kv.Value) _ = stateDB.Set(kv.Key, kv.Value)
} }
receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs} receiptData := &types.ReceiptData{Ty: receipt.Ty, Logs: receipt.Logs}
set, err := exec.ExecLocal(pbtx, receiptData, int(1)) set, err := exec.ExecLocal(pbtx, receiptData, 1)
assert.NoError(t, err) assert.NoError(t, err)
assert.NotNil(t, set) assert.NotNil(t, set)
for _, kv := range set.KV { for _, kv := range set.KV {
kvdb.Set(kv.Key, kv.Value) _ = kvdb.Set(kv.Key, kv.Value)
} }
// check // check
......
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