Add dogecoin and litecoin rpc test

This commit is contained in:
Martin Boehm 2018-08-29 21:29:09 +02:00
parent 06ab4fb9f8
commit d3608fb34c
5 changed files with 256 additions and 0 deletions

View File

@ -0,0 +1,72 @@
// +build integration
package dogecoin
import (
"blockbook/bchain"
"blockbook/bchain/tests/rpc"
"encoding/json"
"flag"
"os"
"testing"
)
func getRPCClient(cfg json.RawMessage) (bchain.BlockChain, error) {
c, err := NewDogecoinRPC(cfg, nil)
if err != nil {
return nil, err
}
cli := c.(*DogecoinRPC)
cli.Parser = NewDogecoinParser(GetChainParams("main"), 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
func TestMain(m *testing.M) {
flag.Parse()
t, err := rpc.NewTest("Dogecoin", getRPCClient)
if err != nil {
panic(err)
}
rpcTest = t
os.Exit(m.Run())
}
func TestDogecoinRPC_GetBlockHash(t *testing.T) {
rpcTest.TestGetBlockHash(t)
}
func TestDogecoinRPC_GetBlock(t *testing.T) {
rpcTest.TestGetBlock(t)
}
func TestDogecoinRPC_GetTransaction(t *testing.T) {
rpcTest.TestGetTransaction(t)
}
func TestDogecoinRPC_GetTransactionForMempool(t *testing.T) {
rpcTest.TestGetTransactionForMempool(t)
}
func TestDogecoinRPC_MempoolSync(t *testing.T) {
rpcTest.TestMempoolSync(t)
}
func TestDogecoinRPC_GetMempoolEntry(t *testing.T) {
rpcTest.TestGetMempoolEntry(t)
}
func TestDogecoinRPC_EstimateSmartFee(t *testing.T) {
rpcTest.TestEstimateSmartFee(t)
}
func TestDogecoinRPC_EstimateFee(t *testing.T) {
rpcTest.TestEstimateFee(t)
}

View File

@ -0,0 +1,72 @@
// +build integration
package litecoin
import (
"blockbook/bchain"
"blockbook/bchain/tests/rpc"
"encoding/json"
"flag"
"os"
"testing"
)
func getRPCClient(cfg json.RawMessage) (bchain.BlockChain, error) {
c, err := NewLitecoinRPC(cfg, nil)
if err != nil {
return nil, err
}
cli := c.(*LitecoinRPC)
cli.Parser = NewLitecoinParser(GetChainParams("main"), 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
func TestMain(m *testing.M) {
flag.Parse()
t, err := rpc.NewTest("Litecoin", getRPCClient)
if err != nil {
panic(err)
}
rpcTest = t
os.Exit(m.Run())
}
func TestLitecoinRPC_GetBlockHash(t *testing.T) {
rpcTest.TestGetBlockHash(t)
}
func TestLitecoinRPC_GetBlock(t *testing.T) {
rpcTest.TestGetBlock(t)
}
func TestLitecoinRPC_GetTransaction(t *testing.T) {
rpcTest.TestGetTransaction(t)
}
func TestLitecoinRPC_GetTransactionForMempool(t *testing.T) {
rpcTest.TestGetTransactionForMempool(t)
}
func TestLitecoinRPC_MempoolSync(t *testing.T) {
rpcTest.TestMempoolSync(t)
}
func TestLitecoinRPC_GetMempoolEntry(t *testing.T) {
rpcTest.TestGetMempoolEntry(t)
}
func TestLitecoinRPC_EstimateSmartFee(t *testing.T) {
rpcTest.TestEstimateSmartFee(t)
}
func TestLitecoinRPC_EstimateFee(t *testing.T) {
rpcTest.TestEstimateFee(t)
}

View File

@ -19,11 +19,21 @@
"user": "rpc",
"pass": "rpc"
},
"Litecoin": {
"url": "http://localhost:8034",
"user": "rpc",
"pass": "rpc"
},
"Ethereum": {
"url": "ws://localhost:8036",
"user": null,
"pass": null
},
"Dogecoin": {
"url": "http://localhost:8038",
"user": "rpc",
"pass": "rpcp"
},
"Namecoin": {
"url": "http://localhost:8039",
"user": "rpc",

53
bchain/tests/rpc/testdata/Dogecoin.json vendored Normal file
View File

@ -0,0 +1,53 @@
{
"blockHeight": 2000002,
"blockHash": "6db0b6fc543cacbc4244f5fab23af56792a87eacc3149957a1922fd59d4d03e0",
"blockTime": 1512601001,
"blockTxs": [
"cc3c92a9da8e28f18faf17efe74e96f541f03e3a300c55fef0c4dbc9e5b14c01",
"cb3cb43e34385556c9617699687b15f3dbad57cb0e8548114b66c55512c51a52",
"f6be02faa646a1ad764e4eb49fb6f02cbae69e5bc396a8977e59c7d887aa38b2",
"79883da5f57c942feb922e4bb635af631219aae2e70037459b07840945d6466c",
"23b5caddcb3c1222a0b97ff6f67185266b982465ef1a3546c7fc6ad8414ba7d0",
"82cf9f6822362ecfc0d47cc6b7372862ef0fdd14b259c42c8f2def8589f266f0",
"12a4e4daa6e3b842a2395c315f296f284ac2085e2f2fb4f356f94e08117963ba",
"cc136353be3db35e051e5dd34ff29f9cfe47a7b3f6ab7383fd644bc00ab1e348",
"f2db6749bc5f7e727f9e6c9a5553ad44dc59d9994dcadc24a57cf6042d1d07e7"
],
"txDetails": {
"f6be02faa646a1ad764e4eb49fb6f02cbae69e5bc396a8977e59c7d887aa38b2": {
"hex": "0100000002361742ebea8bdce921359dbe528b23cc8050dc86950fd07011a74258cd0215dde5030000db00483045022100885238254408979e8f44c087c06333376980a73594c4d51c8cdf457934514e34022026287952d554f9f9f24c0a47096cce0db53547099aa700a91fa9046eb5c4960801483045022100a4ce7700bdf654dfe2a4fc5796bd3466be6af3691dc263821d4c71f91f9d9d1e02200b988bea6bf9e7d44e9a4b8cee9e390c72d284e3df1aacf6ab23368560b3e53e0147522102a39a18546545ee2944481953c25b3a5f4942cd8ed533ae2daabb4339c68c599b210349ed7f7284feff2b9d0b3493fde313afcc63b41347592c435f5408852c9ea05d52aeffffffff85f2900e642720043fae056075b48ea83cbd3653797c40fb4e7e512938dcda7573020000da004730440220138a8dd272f3081e54b172fb3e6cf43fe5375369d7e93c310ceba852c22ba16f022050de068f932f6d6db9889a8d4e489ffeda2ed1848cd2a71a06d635e6d1799b8e01483045022100af99d412c97062219ef56c3c8ad99023feab94042d310f792392940c61df9bdd02200b4542395624412260c96c46427509c2b801df33e15da08c6c505594c7c142010147522102a39a18546545ee2944481953c25b3a5f4942cd8ed533ae2daabb4339c68c599b210349ed7f7284feff2b9d0b3493fde313afcc63b41347592c435f5408852c9ea05d52aeffffffff01c0ebf7b90100000017a9147541523df4d0d0875c024e1906b0d195abaf20958700000000",
"txid": "f6be02faa646a1ad764e4eb49fb6f02cbae69e5bc396a8977e59c7d887aa38b2",
"blocktime": 1512601001,
"time": 1512601001,
"locktime": 0,
"version": 1,
"vin": [
{
"txid": "dd1502cd5842a71170d00f9586dc5080cc238b52be9d3521e9dc8beaeb421736",
"vout": 997,
"scriptSig": {
"hex": "00483045022100885238254408979e8f44c087c06333376980a73594c4d51c8cdf457934514e34022026287952d554f9f9f24c0a47096cce0db53547099aa700a91fa9046eb5c4960801483045022100a4ce7700bdf654dfe2a4fc5796bd3466be6af3691dc263821d4c71f91f9d9d1e02200b988bea6bf9e7d44e9a4b8cee9e390c72d284e3df1aacf6ab23368560b3e53e0147522102a39a18546545ee2944481953c25b3a5f4942cd8ed533ae2daabb4339c68c599b210349ed7f7284feff2b9d0b3493fde313afcc63b41347592c435f5408852c9ea05d52ae"
},
"sequence": 4294967295
},
{
"txid": "75dadc3829517e4efb407c795336bd3ca88eb4756005ae3f042027640e90f285",
"vout": 627,
"scriptSig": {
"hex": "004730440220138a8dd272f3081e54b172fb3e6cf43fe5375369d7e93c310ceba852c22ba16f022050de068f932f6d6db9889a8d4e489ffeda2ed1848cd2a71a06d635e6d1799b8e01483045022100af99d412c97062219ef56c3c8ad99023feab94042d310f792392940c61df9bdd02200b4542395624412260c96c46427509c2b801df33e15da08c6c505594c7c142010147522102a39a18546545ee2944481953c25b3a5f4942cd8ed533ae2daabb4339c68c599b210349ed7f7284feff2b9d0b3493fde313afcc63b41347592c435f5408852c9ea05d52ae"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 74.15000000,
"n": 0,
"scriptPubKey": {
"hex": "a9147541523df4d0d0875c024e1906b0d195abaf209587"
}
}
]
}
}
}

49
bchain/tests/rpc/testdata/Litecoin.json vendored Normal file
View File

@ -0,0 +1,49 @@
{
"blockHeight": 1377592,
"blockHash": "bddb1cfbd474e9516399b373e411bd33c1a71cb01aa8469a27d397ef0a891c7d",
"blockTime": 1519947864,
"blockTxs": [
"84e9147bf6e171adbda3b3961e467652286d9d9c2933d19326bf84766d047922",
"8d6e628b891dd17bfe3bb5a24a6c7f02ebc2cf499a85515d0325033aa74ab53a",
"5b77ca9735f65d110b086be410658d0239e1fcee13231942a262b35a5b8d6a91",
"19ad3daa2447be4e000d822f79ce252f274b016dacf1418b433d36c0aaf24f18",
"5bffbf0c8ff66d298d94dc323c3644e21932dfc733603d6637ff46cb8d34466c",
"90d587e35b23905f0125111f41d69bb6c7eed44f0944caad2903aae1f174ac49"
],
"txDetails": {
"19ad3daa2447be4e000d822f79ce252f274b016dacf1418b433d36c0aaf24f18": {
"hex": "010000000001011f9216c16c78386540d7ae7d32657c388ef5f204596f84ea0851dcb78c479a87010000001716001432d094c8e2efd308d2c69affd6712ebbf7a5a286ffffffff0289544a110000000017a91457ca840d6c811dd6808722babe3f88d2fdb2ca14875bb1c9180000000017a91482696a9b4188eda8f93b120315cad4260cbb90db8702483045022100aa256153317133fa719180935017671e33ca77df6f5426554f5b0855f07a392b02202684e8c30623e1c4e753ea23a95bd571e1fda7d15dc0b1e2d54ff5bc50329256012103399a1d98f0733ef400ff8d4f43fe4543065f7f387c863361c77a8826321ca6fb00000000",
"txid": "19ad3daa2447be4e000d822f79ce252f274b016dacf1418b433d36c0aaf24f18",
"blocktime": 1519947864,
"time": 1519947864,
"locktime": 0,
"version": 1,
"vin": [
{
"txid": "879a478cb7dc5108ea846f5904f2f58e387c65327daed7406538786cc116921f",
"vout": 1,
"scriptSig": {
"hex": "16001432d094c8e2efd308d2c69affd6712ebbf7a5a286"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 2.90083977,
"n": 0,
"scriptPubKey": {
"hex": "a91457ca840d6c811dd6808722babe3f88d2fdb2ca1487"
}
},
{
"value": 4.15871323,
"n": 1,
"scriptPubKey": {
"hex": "a91482696a9b4188eda8f93b120315cad4260cbb90db87"
}
}
]
}
}
}