Added tests for SendRawTransaction, EstimateSmartFee and EstimateFee

This commit is contained in:
Jakub Matys 2018-06-21 11:18:02 +02:00
parent ae8058f269
commit 12cca393c6
3 changed files with 60 additions and 12 deletions

View File

@ -56,3 +56,15 @@ func TestBitcoinRPC_TestMempoolSync(t *testing.T) {
func TestBitcoinRPC_GetMempoolEntry(t *testing.T) {
rpcTest.TestGetMempoolEntry(t)
}
func TestBitcoinRPC_SendRawTransaction(t *testing.T) {
rpcTest.TestSendRawTransaction(t)
}
func TestBitcoinRPC_EstimateSmartFee(t *testing.T) {
rpcTest.TestEstimateSmartFee(t)
}
func TestBitcoinRPC_EstimateFee(t *testing.T) {
rpcTest.TestEstimateFee(t)
}

View File

@ -284,3 +284,39 @@ func (rt *Test) TestGetMempoolEntry(t *testing.T) {
}
t.Skip("Skipping test, all attempts to get mempool entry failed due to network state changes")
}
func (rt *Test) TestSendRawTransaction(t *testing.T) {
for txid, tx := range rt.TestData.TxDetails {
_, err := rt.Client.SendRawTransaction(tx.Hex)
if err != nil {
if err, ok := err.(*bchain.RPCError); ok && err.Code == -27 {
continue
}
}
t.Errorf("SendRawTransaction() for %s returned unexpected error: %#v", txid, err)
}
}
func (rt *Test) TestEstimateSmartFee(t *testing.T) {
for _, blocks := range []int{1, 2, 3, 5, 10} {
fee, err := rt.Client.EstimateSmartFee(blocks, true)
if err != nil {
t.Error(err)
}
if fee != -1 && (fee < 0 || fee > 1) {
t.Errorf("EstimateSmartFee() returned unexpected fee rate: %f", fee)
}
}
}
func (rt *Test) TestEstimateFee(t *testing.T) {
for _, blocks := range []int{1, 2, 3, 5, 10} {
fee, err := rt.Client.EstimateFee(blocks)
if err != nil {
t.Error(err)
}
if fee != -1 && (fee < 0 || fee > 1) {
t.Errorf("EstimateFee() returned unexpected fee rate: %f", fee)
}
}
}

View File

@ -78,43 +78,43 @@
}
]
},
"5bef621ad6d0970939ae36270a3228d3c315f8008fb04eebffab5f7a3589d114": {
"hex": "01000000025b0551bd0fffcf55881e285e15b364ab9a831d2494d2eb7a163a4bbd6f551151000000006b483045022100dff500e8c060a9c8810483d4ada8f91c0b844e92778cc762300040870109c0be02207029fa781ec37ddeb0ffbfa7160e625afdd126f30ec11fb9bc25f4d2164933bb0121023c6017ab9f471a69157180c5e30b9aef2ff73ea2a1a774c53a975e2557536314ffffffffd49a58913818610b0aa065d4f32995863d216c44040a49d454f6b7eeb65c9adc010000006b483045022100dce24b819b70f920d0bb60fa1241fa14f2500412a60aceeaae2610e1593b5e3c022041fdc5a02dc26af043bea27713f1245340b98bd47aa283e23b96ecc4aae157a4012102d18a88bcf5f65d937de7d9bc24d2f492a55216087262bf4683d0055dd0521a56feffffff02da869800000000001976a914b4f1349ec3e7c751c6720e2c0783e3449e21e36888ac80fe210a000000001976a914b4f1349ec3e7c751c6720e2c0783e3449e21e36888ac00000000",
"txid": "5bef621ad6d0970939ae36270a3228d3c315f8008fb04eebffab5f7a3589d114",
"3005378ee85fc905a1812bdfae4b2e0e9bb09f5867a53fd73237bb319a1774aa": {
"hex": "01000000000102c997f74e9ad52a44446302381e0fa6de080dadadf55842588bde1be8a47b438000000000171600147edbcdda98080eeb6e8a63c63da135498295c3cdffffffff563c9674a40bf1aa1063f767a50d2288146116fe869012ad3dad03d71e74a8800100000017160014af97d082fd5de049bce2991d9dcaa5d3035a1b04ffffffff0290f4f700000000001976a914abba3808b854c70b63ff038fcddfbafcb707713988ac74b77b030100000017a914fb1e0f36e2d8e91a43c7faba7dae18a610070c4a87024730440220538fcd8fbbf39b813372a7ff6251f1d22c9e940f54272ab525e1d1dc5f03049b022066cc5a1c445573e7e069fdaf3aa33d6665ef5f7936cb155cfd9093e888ca9461012102b45e239d96f8504ae45a32af7c80f6164f7b9658166e318521ee822192fee3ef0248304502210089e579ce52f765c8de6033e1cee93c94aa9a5ef3a194fec12885ed163dc60688022050aadd6aa170c6cfb58f406497949b0140327b4889ca7e082bdcfa8cc03d487f012103fb1a838f38d587dea0532f4a15a39b96e411cdb37c5160ba576a4cb0072db01900000000",
"txid": "3005378ee85fc905a1812bdfae4b2e0e9bb09f5867a53fd73237bb319a1774aa",
"blocktime": 1528788394,
"time": 1528788394,
"locktime": 0,
"vin": [
{
"txid": "5111556fbd4b3a167aebd294241d839aab64b3155e281e8855cfff0fbd51055b",
"txid": "80437ba4e81bde8b584258f5adad0d08dea60f1e38026344442ad59a4ef797c9",
"vout": 0,
"sequence": 4294967295,
"scriptSig": {
"hex": "483045022100dff500e8c060a9c8810483d4ada8f91c0b844e92778cc762300040870109c0be02207029fa781ec37ddeb0ffbfa7160e625afdd126f30ec11fb9bc25f4d2164933bb0121023c6017ab9f471a69157180c5e30b9aef2ff73ea2a1a774c53a975e2557536314"
"hex": "1600147edbcdda98080eeb6e8a63c63da135498295c3cd"
}
},
{
"txid": "dc9a5cb6eeb7f654d4490a04446c213d869529f3d465a00a0b61183891589ad4",
"txid": "80a8741ed703ad3dad129086fe16611488220da567f76310aaf10ba474963c56",
"vout": 1,
"sequence": 4294967294,
"sequence": 4294967295,
"scriptSig": {
"hex": "483045022100dce24b819b70f920d0bb60fa1241fa14f2500412a60aceeaae2610e1593b5e3c022041fdc5a02dc26af043bea27713f1245340b98bd47aa283e23b96ecc4aae157a4012102d18a88bcf5f65d937de7d9bc24d2f492a55216087262bf4683d0055dd0521a56"
"hex": "160014af97d082fd5de049bce2991d9dcaa5d3035a1b04"
}
}
],
"vout": [
{
"value": 0.09995994,
"value": 0.16250000,
"n": 0,
"scriptPubKey": {
"hex": "76a914b4f1349ec3e7c751c6720e2c0783e3449e21e36888ac"
"hex": "76a914abba3808b854c70b63ff038fcddfbafcb707713988ac"
}
},
{
"value": 1.7,
"value": 43.53406836,
"n": 1,
"scriptPubKey": {
"hex": "76a914b4f1349ec3e7c751c6720e2c0783e3449e21e36888ac"
"hex": "a914fb1e0f36e2d8e91a43c7faba7dae18a610070c4a87"
}
}
]