Fix unit and integration tests
parent
bab500d3f8
commit
9288a12f1d
|
@ -1,4 +1,4 @@
|
||||||
// build unittest
|
// +build unittest
|
||||||
|
|
||||||
package eth
|
package eth
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ func TestErc20_erc20GetTransfersFromLog(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
args []*rpcLog
|
args []*rpcLog
|
||||||
want []Erc20Transfer
|
want []bchain.Erc20Transfer
|
||||||
wantErr bool
|
wantErr bool
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,7 @@ func TestErc20_erc20GetTransfersFromLog(t *testing.T) {
|
||||||
Data: "0x0000000000000000000000000000000000000000000000000000000000000123",
|
Data: "0x0000000000000000000000000000000000000000000000000000000000000123",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: []Erc20Transfer{
|
want: []bchain.Erc20Transfer{
|
||||||
{
|
{
|
||||||
Contract: "0x76a45e8976499ab9ae223cc584019341d5a84e96",
|
Contract: "0x76a45e8976499ab9ae223cc584019341d5a84e96",
|
||||||
From: "0x2aacf811ac1a60081ea39f7783c0d26c500871a8",
|
From: "0x2aacf811ac1a60081ea39f7783c0d26c500871a8",
|
||||||
|
@ -81,7 +81,7 @@ func TestErc20_erc20GetTransfersFromLog(t *testing.T) {
|
||||||
Data: "0x0000000000000000000000004bda106325c335df99eab7fe363cac8a0ba2a24d000000000000000000000000c778417e063141139fce010982780140aa0cd5ab0000000000000000000000000d0f936ee4c93e25944694d6c121de94d9760f1100000000000000000000000000000000000000000000000000031855667df7a80000000000000000000000000000000000000000000000006a8313d60b1f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
Data: "0x0000000000000000000000004bda106325c335df99eab7fe363cac8a0ba2a24d000000000000000000000000c778417e063141139fce010982780140aa0cd5ab0000000000000000000000000d0f936ee4c93e25944694d6c121de94d9760f1100000000000000000000000000000000000000000000000000031855667df7a80000000000000000000000000000000000000000000000006a8313d60b1f800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: []Erc20Transfer{
|
want: []bchain.Erc20Transfer{
|
||||||
{
|
{
|
||||||
Contract: "0x0d0f936ee4c93e25944694d6c121de94d9760f11",
|
Contract: "0x0d0f936ee4c93e25944694d6c121de94d9760f11",
|
||||||
From: "0x6f44cceb49b4a5812d54b6f494fc2febf25511ed",
|
From: "0x6f44cceb49b4a5812d54b6f494fc2febf25511ed",
|
||||||
|
|
|
@ -220,7 +220,7 @@ func testMempoolSync(t *testing.T, h *TestHandler) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("address %q: %s", a, err)
|
t.Fatalf("address %q: %s", a, err)
|
||||||
}
|
}
|
||||||
if !containsString(got, txid) {
|
if !containsTx(got, txid) {
|
||||||
t.Errorf("ResyncMempool() - for address %s, transaction %s wasn't found in mempool", a, txid)
|
t.Errorf("ResyncMempool() - for address %s, transaction %s wasn't found in mempool", a, txid)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -401,9 +401,9 @@ func intersect(a, b []string) []string {
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
func containsString(slice []string, s string) bool {
|
func containsTx(o []bchain.Outpoint, tx string) bool {
|
||||||
for i := range slice {
|
for i := range o {
|
||||||
if slice[i] == s {
|
if o[i].Txid == tx {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,7 @@ func verifyBlockInfo(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
|
||||||
func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
|
func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range) {
|
||||||
type txInfo struct {
|
type txInfo struct {
|
||||||
txid string
|
txid string
|
||||||
vout uint32
|
vout int32
|
||||||
isOutput bool
|
isOutput bool
|
||||||
}
|
}
|
||||||
addr2txs := make(map[string][]txInfo)
|
addr2txs := make(map[string][]txInfo)
|
||||||
|
@ -122,13 +122,13 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range)
|
||||||
for _, tx := range block.TxDetails {
|
for _, tx := range block.TxDetails {
|
||||||
for _, vin := range tx.Vin {
|
for _, vin := range tx.Vin {
|
||||||
for _, a := range vin.Addresses {
|
for _, a := range vin.Addresses {
|
||||||
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, vin.Vout, false})
|
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vin.Vout), false})
|
||||||
checkMap[a] = append(checkMap[a], false)
|
checkMap[a] = append(checkMap[a], false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, vout := range tx.Vout {
|
for _, vout := range tx.Vout {
|
||||||
for _, a := range vout.ScriptPubKey.Addresses {
|
for _, a := range vout.ScriptPubKey.Addresses {
|
||||||
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, vout.N, true})
|
addr2txs[a] = append(addr2txs[a], txInfo{tx.Txid, int32(vout.N), true})
|
||||||
checkMap[a] = append(checkMap[a], false)
|
checkMap[a] = append(checkMap[a], false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ func verifyTransactions(t *testing.T, d *db.RocksDB, h *TestHandler, rng Range)
|
||||||
}
|
}
|
||||||
|
|
||||||
for addr, txs := range addr2txs {
|
for addr, txs := range addr2txs {
|
||||||
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout uint32, isOutput bool) error {
|
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error {
|
||||||
for i, tx := range txs {
|
for i, tx := range txs {
|
||||||
if txid == tx.txid && vout == tx.vout && isOutput == tx.isOutput {
|
if txid == tx.txid && vout == tx.vout && isOutput == tx.isOutput {
|
||||||
checkMap[addr][i] = true
|
checkMap[addr][i] = true
|
||||||
|
|
|
@ -129,7 +129,7 @@ func verifyTransactions2(t *testing.T, d *db.RocksDB, rng Range, addr2txs map[st
|
||||||
checkMap[txid] = false
|
checkMap[txid] = false
|
||||||
}
|
}
|
||||||
|
|
||||||
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout uint32, isOutput bool) error {
|
err := d.GetTransactions(addr, rng.Lower, rng.Upper, func(txid string, vout int32, isOutput bool) error {
|
||||||
if isOutput {
|
if isOutput {
|
||||||
checkMap[txid] = true
|
checkMap[txid] = true
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue