Added RPC test for BCash mainnet

This commit is contained in:
Jakub Matys 2018-06-29 12:12:47 +02:00
parent 257a9f0f4d
commit e0a5c44314
2 changed files with 147 additions and 23 deletions

View File

@ -11,66 +11,115 @@ import (
"testing"
)
func getRPCClient(cfg json.RawMessage) (bchain.BlockChain, error) {
c, err := NewBCashRPC(cfg, nil)
if err != nil {
return nil, err
func getRPCClient(chain string) func(json.RawMessage) (bchain.BlockChain, error) {
return func(cfg json.RawMessage) (bchain.BlockChain, error) {
c, err := NewBCashRPC(cfg, nil)
if err != nil {
return nil, err
}
cli := c.(*BCashRPC)
cli.Parser, err = NewBCashParser(GetChainParams(chain), cli.ChainConfig)
if err != nil {
return nil, err
}
cli.Mempool = bchain.NewUTXOMempool(cli, cli.ChainConfig.MempoolWorkers, cli.ChainConfig.MempoolSubWorkers)
return cli, nil
}
cli := c.(*BCashRPC)
cli.Parser, err = NewBCashParser(GetChainParams("test"), cli.ChainConfig)
if err != nil {
return nil, err
}
cli.Mempool = bchain.NewUTXOMempool(cli, cli.ChainConfig.MempoolWorkers, cli.ChainConfig.MempoolSubWorkers)
return cli, nil
}
var rpcTest *rpc.Test
var tests struct {
mainnet *rpc.Test
testnet *rpc.Test
}
func TestMain(m *testing.M) {
flag.Parse()
t, err := rpc.NewTest("Bcash Testnet", getRPCClient)
t, err := rpc.NewTest("Bcash", getRPCClient("main"))
if err != nil {
panic(err)
}
rpcTest = t
tests.mainnet = t
t, err = rpc.NewTest("Bcash Testnet", getRPCClient("test"))
if err != nil {
panic(err)
}
tests.testnet = t
os.Exit(m.Run())
}
func TestBCashRPC_GetBlockHash(t *testing.T) {
rpcTest.TestGetBlockHash(t)
tests.mainnet.TestGetBlockHash(t)
}
func TestBCashRPC_GetBlock(t *testing.T) {
rpcTest.TestGetBlock(t)
tests.mainnet.TestGetBlock(t)
}
func TestBCashRPC_GetTransaction(t *testing.T) {
rpcTest.TestGetTransaction(t)
tests.mainnet.TestGetTransaction(t)
}
func TestBCashRPC_GetTransactionForMempool(t *testing.T) {
rpcTest.TestGetTransactionForMempool(t)
tests.mainnet.TestGetTransactionForMempool(t)
}
func TestBCashRPC_MempoolSync(t *testing.T) {
rpcTest.TestMempoolSync(t)
tests.mainnet.TestMempoolSync(t)
}
func TestBCashRPC_GetMempoolEntry(t *testing.T) {
rpcTest.TestGetMempoolEntry(t)
tests.mainnet.TestGetMempoolEntry(t)
}
func TestBCashRPC_SendRawTransaction(t *testing.T) {
rpcTest.TestSendRawTransaction(t)
tests.mainnet.TestSendRawTransaction(t)
}
func TestBCashRPC_EstimateSmartFee(t *testing.T) {
rpcTest.TestEstimateSmartFee(t)
tests.mainnet.TestEstimateSmartFee(t)
}
func TestBCashRPC_EstimateFee(t *testing.T) {
rpcTest.TestEstimateFee(t)
tests.mainnet.TestEstimateFee(t)
}
func TestBCashTestnetRPC_GetBlockHash(t *testing.T) {
tests.testnet.TestGetBlockHash(t)
}
func TestBCashTestnetRPC_GetBlock(t *testing.T) {
tests.testnet.TestGetBlock(t)
}
func TestBCashTestnetRPC_GetTransaction(t *testing.T) {
tests.testnet.TestGetTransaction(t)
}
func TestBCashTestnetRPC_GetTransactionForMempool(t *testing.T) {
tests.testnet.TestGetTransactionForMempool(t)
}
func TestBCashTestnetRPC_MempoolSync(t *testing.T) {
tests.testnet.TestMempoolSync(t)
}
func TestBCashTestnetRPC_GetMempoolEntry(t *testing.T) {
tests.testnet.TestGetMempoolEntry(t)
}
func TestBCashTestnetRPC_SendRawTransaction(t *testing.T) {
tests.testnet.TestSendRawTransaction(t)
}
func TestBCashTestnetRPC_EstimateSmartFee(t *testing.T) {
tests.testnet.TestEstimateSmartFee(t)
}
func TestBCashTestnetRPC_EstimateFee(t *testing.T) {
tests.testnet.TestEstimateFee(t)
}

75
bchain/tests/rpc/testdata/Bcash.json vendored Normal file
View File

@ -0,0 +1,75 @@
{
"blockHeight": 179921,
"blockHash": "00000000000004e221e0d2adf41b5018cf75395cc83ff9ff70aab0569d21f9dc",
"blockTxs": [
"46655a2258c204e5948245c248e1524222c1f22a9ca7c02de686c6b83f55f55e",
"d59084c6ab21033b29df358e1b23ecd1617d48ffbbb63ba567c769f9d48a2842",
"16296fd663e1bd0a9566534678cc64d6250222a3f03b8a6dbdc0b011003b1f2a",
"e6bcc688c5ba13f2ab9d6fdc39fe6dcdc94dc876d51dfbb1108f5252c515b26c",
"aaff4792985d8825f7365dea1f026aa4ec57d93af47da67b5c6839efe6c098d2",
"61f52169796a2490cf76cc2d68f6ca8d48971ead87b8815307ef53c608cca318",
"995c1ed442f0777adb652b36d1c5038c85663f3e3b6d0e26c819b21d710fadda",
"2eceaa18d1d1529cbbd385df69dbfd684977de4c545e905974afc35afe1fd358",
"c6f3a4a4bed847de0fee0118b43d3854e2b65f20d2319e084fbf448d4bd85c75",
"933cba6c287bdfaa0c7f4ec5f8f35ea51b59df1d539d0a32a28dcc99dce5b721",
"2373109ea6025b0b237aea1193c097cd1197e59e465382105f4d88a8d6ac0152",
"55117cf6c5f384f87cef2b789f36ff6d7b4f7ccbacf84834e1e09227fdce5ac9",
"c2348e1df31f12a61c8fc94542a43dc8feba3e215d01b5dd12251b68f918ceb2",
"01ab8e4d2324c3e466ee4c29863b34967791217aea13c0a12499a4362cd1af18",
"480603369259ea683b53369e9b8faf71f3f0b7de52e3bc6b67702f88a3a8bbf1",
"31c673e559d4b41c617fc197f0d60b6183a30e21d356a5a18ebc78086a32d69c",
"3ef0af7cc977e936eb43caeb1fb029660f3798fffc416695f9af4d7d9cbf9d1a",
"38ed7b5659ead06eeed927f8519e758b55caf3bedcd830f15f6d07166d624f0f",
"5f3d9ea5da6ee49d948d565e64a4d3c49f435b77f8ff10fe74e3536dff0079ea",
"15659d35fafb656804c1e92ff6593339b3103b02c55d8f9b2e6df08cbf150877",
"055254b83fb49387de92905b44da7c680758dd0da8ed5bcd8ee2297175089984",
"5530c68b861f6c202b3a3627b0639f199d92fcc0f6bc8b203ccc14a3e1a1aacd",
"971d2d9537dbc4a76c4026e5591b02b4f297208cbb38de4444da0dffc68273d4",
"5980150c623b9b231507ae0988d53a43d3bae00edbad2590cc27ebec05c6d54e",
"dc2a33f6697f72d7f88b20e381a131be25b244d144bdf578c09b902fc892e6b4",
"2858d0461ba9790c0e4d67e1b235cb9dcf0a06ac470db967f00d8783a141756b",
"2e5d7c5e86b0785d36bed7cae59debdd106372b10cc69243d8deb1cf1b902295",
"43cc4cc98fa121b4d0d9d82233322dd4d3b848c59c891438370b42b170ccea1e",
"3a71dea98514852654b4b6577178afeb836f995f07f2e0a82b6d775b31ff5549",
"198cedc3489dc531fced23477aec5eb5ca230213269a53fea4450e7a4574e773",
"4bd239288219fec9f8fdb0904e757eb4e338c8f04a4cf5302526a4f2a40aab40",
"4bfd6a3da24adf1f0569a89879110feefff35d8a01c8d3f6fddb58d44c740163",
"8e507a4edbeae5fe845b22d42b740186ff40d9152dc1483a8e9d13a7206830f9",
"75c0a8f6bdaf92ae0618e99e934f174a1b9984346ebd10b690767f1911df58fb"
],
"txDetails": {
"61f52169796a2490cf76cc2d68f6ca8d48971ead87b8815307ef53c608cca318": {
"hex": "01000000013a5447f0e0aa71944dac8c5c9f104491a6a1454635821530cfdf11e41cf68156090000008a47304402206d997d39b79d31acfbb9add1af599cc93cb65264bb0324d56a50ffb443b98fca02203577a3fac4563d163c6a3ebb510ef16e873067b93fe3339eaa55dff60e20bffc014104b55697fa74b02962316e19eeb460eeca08be61e64bbe36c43a2c3429fd9dbd277dff78c8ea85b937d76c5f897f8ac0082fbd2d2b469f2dad8bfe480bae050fc9ffffffff02d69ce702000000001976a914b8605be5c0157121a7e5d787e2b2a1addd7a0ead88ac80841e00000000001976a91414d07495bc247fff4db76d3ed6b27b769e0006af88ac00000000",
"txid": "61f52169796a2490cf76cc2d68f6ca8d48971ead87b8815307ef53c608cca318",
"blocktime":1336884140,
"time":1336884140,
"locktime": 0,
"vin": [
{
"txid": "5681f61ce411dfcf301582354645a1a69144109f5c8cac4d9471aae0f047543a",
"vout": 9,
"sequence": 4294967295,
"scriptSig": {
"hex": "47304402206d997d39b79d31acfbb9add1af599cc93cb65264bb0324d56a50ffb443b98fca02203577a3fac4563d163c6a3ebb510ef16e873067b93fe3339eaa55dff60e20bffc014104b55697fa74b02962316e19eeb460eeca08be61e64bbe36c43a2c3429fd9dbd277dff78c8ea85b937d76c5f897f8ac0082fbd2d2b469f2dad8bfe480bae050fc9"
}
}
],
"vout": [
{
"value": 0.48733398,
"n": 0,
"scriptPubKey": {
"hex": "76a914b8605be5c0157121a7e5d787e2b2a1addd7a0ead88ac"
}
},
{
"value": 0.02000000,
"n": 1,
"scriptPubKey": {
"hex": "76a91414d07495bc247fff4db76d3ed6b27b769e0006af88ac"
}
}
]
}
}
}