Added RPC tests for Namecoin

This commit is contained in:
Jakub Matys 2018-06-27 10:08:46 +02:00
parent 5aa354b2ca
commit 8d0a31927a
3 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,72 @@
// +build integration
package namecoin
import (
"blockbook/bchain"
"blockbook/bchain/tests/rpc"
"encoding/json"
"testing"
)
func getRPCClient(cfg json.RawMessage) (bchain.BlockChain, error) {
c, err := NewNamecoinRPC(cfg, nil)
if err != nil {
return nil, err
}
cli := c.(*NamecoinRPC)
cli.Parser = NewNamecoinParser(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 init() {
t, err := rpc.NewTest("Namecoin", getRPCClient)
if err != nil {
panic(err)
}
rpcTest = t
}
func TestNamecoinRPC_GetBlockHash(t *testing.T) {
rpcTest.TestGetBlockHash(t)
}
func TestNamecoinRPC_GetBlock(t *testing.T) {
rpcTest.TestGetBlock(t)
}
func TestNamecoinRPC_GetTransaction(t *testing.T) {
rpcTest.TestGetTransaction(t)
}
func TestNamecoinRPC_TestGetTransactionForMempool(t *testing.T) {
// extra opcodes (name_new, name_firstupdate, name_update) aren't supported, so some transactions
// in mempool can't be parsed correctly
t.Skipf("Skipped because of instability")
}
func TestNamecoinRPC_TestMempoolSync(t *testing.T) {
rpcTest.TestMempoolSync(t)
}
func TestNamecoinRPC_GetMempoolEntry(t *testing.T) {
rpcTest.TestGetMempoolEntry(t)
}
func TestNamecoinRPC_SendRawTransaction(t *testing.T) {
rpcTest.TestSendRawTransaction(t)
}
func TestNamecoinRPC_EstimateSmartFee(t *testing.T) {
rpcTest.TestEstimateSmartFee(t)
}
func TestNamecoinRPC_EstimateFee(t *testing.T) {
rpcTest.TestEstimateFee(t)
}

View File

@ -28,5 +28,10 @@
"url": "http://localhost:8040",
"user": "rpc",
"pass": "rpc"
},
"Namecoin": {
"url": "http://localhost:8039",
"user": "rpc",
"pass": "rpc"
}
}

70
bchain/tests/rpc/testdata/Namecoin.json vendored Normal file
View File

@ -0,0 +1,70 @@
{
"blockHeight": 404680,
"blockHash": "920fe53b840111f7e593d93ba58dc54e043e10f8fa4a678e86a98f5cb5b29614",
"blockTxs": [
"80b8477d10df9ece7d8dde2d30817e2855af1fb66b7a9ac860e592118ae33f5f",
"afcd8e3638b11b1ce52055474dcce78c4129e95ebee3305574acda48deea8a65",
"6ab2278f25fe3ce914fb49ad79679cdb337c0d38211a865db126ca90c6850a60",
"88628abcb7014532daa9a084998e2f770c92e81833f4cc419e8da17bdea29a2e",
"cf04d4d9f1ebcec2d005922628af77dad24d7d735b56befc8b60014259ebfe0f",
"161ea9e2056c86559d5e593554dbe90c8ae8e99b2b38ce4f78866b4d586bddfc",
"89866c18f8effe8f7b15bb2973907ec50d5e2e5d79d9c8054d2f286b66c7a318",
"7269a55d870661d51611e91afd5963a2df69cb7cb70e55a0019128db42c07393",
"e94ff789e7cea0a9935baae202018d41ab238e4536e397d194f307afc126fd54",
"f144f6346a8ce5f5f350753738958b716845fdd76841f2fb691b74206de20099",
"2b4f85cead2f60224deedf8b9a65312221ccd531c3324211a5ab7bd1e4b3592e",
"c1b3ffdae37b61052bd7f7bd14b697402208bc6eeedffd3ef05e3b8eeeccf623",
"25562c32931c4a5b045076609c211c0d9d9f50dd49d669c49cabd50473677fc0",
"1e41bdcb5bc4038cd5ca6fd8fcfa115ce5ed8b4bb26849d8129a8f8cd1493f28",
"5d84a38142d07de023114252ac8efd5172c8334818d95c71b8053544ce57f817",
"7fe0c2a2746c1237a9b1af7a595bf56ce23bf834ac0c2a6d29b480a0a4fbd524",
"784104089ce84977bb235b2509651677a84789c415d60eccc9dbf77be585ad9c",
"f00c1aef90779f58ffe451ce026ab491c1750e7eedecfb65925f46b971507f88",
"3b9c23fd6730cf2e11bc9f009db6f21f35df6b50941a46fc0a83cff423dd0695",
"7c6f996288a7d82df333b897301267519d033d889c8490b30785d526efe3e36d",
"fb8f9c1e3139f389ae7e21fd66bd506ae749cb303a1838b2738a4f8c63096c2b",
"4cdd7b9596862643df7c63a5b0b0e2deaa843e8251bfc60716b94ce0cb656660",
"435880f0d752539150dd828ebe1e4fb2ef92b3269b160278b3b98248c22036fd",
"9a2c3c096d630c1abf2b3fa0da367d954f2213ad5d8136375d42de3cc98132d1",
"cff4f408645e25f3f093d42684449fc51b31e897213bd98ebace7d49acdb5f4b",
"be1370f1e514fbb0d2345ee28d274081d56267bfddc6aa64090e3af4fcce6310",
"e422f60e56f36a03e263d8f812a99dcbc3c790f051a59ee5604e1aff97143b71",
"5082cc9765402eb1ca84273adcd264a9fb44cc427b921e5e776252eca2c6584a",
"08eb38fe093951404debe36ccc0e528dde6ee983c9d6f5d6752bcd160748fb7f"
],
"txDetails": {
"08eb38fe093951404debe36ccc0e528dde6ee983c9d6f5d6752bcd160748fb7f": {
"hex": "010000000101292738408181cc445a937124bad53f0c1bfeff9e7fc6fb3f1713a6f74f3a22020000006b483045022100bc7c33f785866e688e7de7cdf385dd710159e9300e7c2702dcb556433c635e4f02202c9fa4659db2648061a14ef9108424866116695367d9042e7c1234a4556e900c012103fbb34dd0aca298fb23ba79af2c007880e593b6832e75784cdba1661f110f751efeffffff02a0870300000000001976a9145090f77ac9d008d11fe1da3283486b05a15920b688ac2827760c000000001976a91404a56a80df5913d9a65095d2498db77ad3bd690f88acc62c0600",
"txid": "08eb38fe093951404debe36ccc0e528dde6ee983c9d6f5d6752bcd160748fb7f",
"blocktime": 1530003649,
"time": 1530003649,
"locktime": 404678,
"vin": [
{
"txid": "223a4ff7a613173ffbc67f9efffe1b0c3fd5ba2471935a44cc81814038272901",
"vout": 2,
"sequence": 4294967294,
"scriptSig": {
"hex": "483045022100bc7c33f785866e688e7de7cdf385dd710159e9300e7c2702dcb556433c635e4f02202c9fa4659db2648061a14ef9108424866116695367d9042e7c1234a4556e900c012103fbb34dd0aca298fb23ba79af2c007880e593b6832e75784cdba1661f110f751e"
}
}
],
"vout": [
{
"value": 0.00231328,
"n": 0,
"scriptPubKey": {
"hex": "76a9145090f77ac9d008d11fe1da3283486b05a15920b688ac"
}
},
{
"value": 2.09069864,
"n": 1,
"scriptPubKey": {
"hex": "76a91404a56a80df5913d9a65095d2498db77ad3bd690f88ac"
}
}
]
}
}
}