diff --git a/bchain/coins/dash/dashrpc_test.go b/bchain/coins/dash/dashrpc_test.go index ed3b35e6..b406d21a 100644 --- a/bchain/coins/dash/dashrpc_test.go +++ b/bchain/coins/dash/dashrpc_test.go @@ -11,59 +11,103 @@ import ( "testing" ) -func getRPCClient(cfg json.RawMessage) (bchain.BlockChain, error) { - c, err := NewDashRPC(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 := NewDashRPC(cfg, nil) + if err != nil { + return nil, err + } + cli := c.(*DashRPC) + cli.Parser = NewDashParser(GetChainParams(chain), cli.ChainConfig) + cli.Mempool = bchain.NewUTXOMempool(cli, cli.ChainConfig.MempoolWorkers, cli.ChainConfig.MempoolSubWorkers) + return cli, nil } - cli := c.(*DashRPC) - cli.Parser = NewDashParser(GetChainParams("test"), cli.ChainConfig) - 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("Dash Testnet", getRPCClient) + t, err := rpc.NewTest("Dash", getRPCClient("main")) if err != nil { panic(err) } - rpcTest = t + tests.mainnet = t + + t, err = rpc.NewTest("Dash Testnet", getRPCClient("test")) + if err != nil { + panic(err) + } + + tests.testnet = t os.Exit(m.Run()) } func TestDashRPC_GetBlockHash(t *testing.T) { - rpcTest.TestGetBlockHash(t) + tests.mainnet.TestGetBlockHash(t) } func TestDashRPC_GetBlock(t *testing.T) { - rpcTest.TestGetBlock(t) + tests.mainnet.TestGetBlock(t) } func TestDashRPC_GetTransaction(t *testing.T) { - rpcTest.TestGetTransaction(t) + tests.mainnet.TestGetTransaction(t) } func TestDashRPC_GetTransactionForMempool(t *testing.T) { - rpcTest.TestGetTransactionForMempool(t) + tests.mainnet.TestGetTransactionForMempool(t) } func TestDashRPC_MempoolSync(t *testing.T) { - rpcTest.TestMempoolSync(t) + tests.mainnet.TestMempoolSync(t) } func TestDashRPC_SendRawTransaction(t *testing.T) { - rpcTest.TestSendRawTransaction(t) + tests.mainnet.TestSendRawTransaction(t) } func TestDashRPC_EstimateSmartFee(t *testing.T) { - rpcTest.TestEstimateSmartFee(t) + tests.mainnet.TestEstimateSmartFee(t) } func TestDashRPC_EstimateFee(t *testing.T) { - rpcTest.TestEstimateFee(t) + tests.mainnet.TestEstimateFee(t) +} + +func TestDashTestnetRPC_GetBlockHash(t *testing.T) { + tests.testnet.TestGetBlockHash(t) +} + +func TestDashTestnetRPC_GetBlock(t *testing.T) { + tests.testnet.TestGetBlock(t) +} + +func TestDashTestnetRPC_GetTransaction(t *testing.T) { + tests.testnet.TestGetTransaction(t) +} + +func TestDashTestnetRPC_GetTransactionForMempool(t *testing.T) { + tests.testnet.TestGetTransactionForMempool(t) +} + +func TestDashTestnetRPC_MempoolSync(t *testing.T) { + tests.testnet.TestMempoolSync(t) +} + +func TestDashTestnetRPC_SendRawTransaction(t *testing.T) { + tests.testnet.TestSendRawTransaction(t) +} + +func TestDashTestnetRPC_EstimateSmartFee(t *testing.T) { + tests.testnet.TestEstimateSmartFee(t) +} + +func TestDashTestnetRPC_EstimateFee(t *testing.T) { + tests.testnet.TestEstimateFee(t) } diff --git a/bchain/tests/rpc/testdata/Dash.json b/bchain/tests/rpc/testdata/Dash.json new file mode 100644 index 00000000..150e7d51 --- /dev/null +++ b/bchain/tests/rpc/testdata/Dash.json @@ -0,0 +1,58 @@ +{ + "blockHeight": 894503, + "blockHash": "0000000000000026e2b7c7bb478f0ee846dd976ac6b97c3f3f7c8c65beab88a4", + "blockTxs": [ + "6ea3a7fee4c40170d8782719d6fbeafd4cabb830f880d91bcf34811ad79e57bb", + "c269940d8e46d94ff61a4adec8aa6dfb13803723a95a5b61c7831d3aea308cbc", + "311d88d267dc099aacaeefba86770918d1f64c2b3f0db740336c48443d76930a", + "8fb04b7aa96faf585395160165b8aca332033b8eded505092aaca0e06805ba10", + "e28b7241432cc9ed3ec57136b662b354a6b32a08b8c2b265aebc08e8cc3578a5", + "677a619d342262fee2ade09a03318322c15b40878583975794d39c63a1e8584f", + "5f2aeacf8a93a7f8410839270eb6a94f659e5eef66e757b4e9ffe58c49cad0b9", + "b56c423e9a84abb50c145591788f1e2539aa6f7dde52ab700b45149546a78670", + "37478c09354bcdd650505e325699732d4c6aaec87f6bd696a59f1336b153a3d7", + "8be9dc7f41aa982f70ba90281564265e1f92f7bcfc9c75c1e2c9abbbd1a81e87", + "b85d5809e16100937072c88fc888206079c7105e1acc752159b6fe795332eb83", + "ad2488e0604eb39ffac7ae0eee32ab4e2e97d2f25547d25d25865f512236e683", + "62d1a3634b10512d1df5282d785bbcc765af3bbdf21490927f2881293d01636f", + "5608945bf9bb1ed422b3eb03719aa9a067238d60b2e832ee107e63a9baba5045", + "173badd5c5eedf889868b27e627d301d7e47dcbf3ced3f9caafa958d0c29bc3e", + "452237bb02aee6dbca4952e2d9f51ba475a7c1b09ab01bf649b72735610fbf2a", + "e7186be218879aea9ea32dc8e2ae63f390c7fcb9b755de1218935919f9377626" + ], + "txDetails": { + "311d88d267dc099aacaeefba86770918d1f64c2b3f0db740336c48443d76930a": { + "hex": "010000000123bd8250d890b3150559a2cc761e50e62440453ca3e24f34a19e088ca82488a7010000006b483045022100b1aa32099a83bfb0c2d0b081eac5ecc8b6e49fac08aebdce025ef43c74615ca002203105c02194805f00c8ac746f1b19e71b4fc4c8ddf214a61e0db543da7099e6d3012103c064d95430c38e9db6d9305075c32dbc22c24a108d8e5be47a74e0b67845debcfeffffff0264d5fb00000000001976a91456354204e7505cb7f4de7c37ffb32ff25b41cd6c88acd4205a03000000001976a914f32332d32e254176014b41872dadd0f1e6d8378688ac00000000", + "txid": "311d88d267dc099aacaeefba86770918d1f64c2b3f0db740336c48443d76930a", + "blocktime": 1530189699, + "time": 1530189699, + "locktime": 0, + "vin": [ + { + "txid": "a78824a88c089ea1344fe2a33c454024e6501e76cca2590515b390d85082bd23", + "vout": 1, + "sequence": 4294967294, + "scriptSig": { + "hex": "483045022100b1aa32099a83bfb0c2d0b081eac5ecc8b6e49fac08aebdce025ef43c74615ca002203105c02194805f00c8ac746f1b19e71b4fc4c8ddf214a61e0db543da7099e6d3012103c064d95430c38e9db6d9305075c32dbc22c24a108d8e5be47a74e0b67845debc" + } + } + ], + "vout": [ + { + "value": 0.16504164, + "n": 0, + "scriptPubKey": { + "hex": "76a91456354204e7505cb7f4de7c37ffb32ff25b41cd6c88ac" + } + }, + { + "value": 0.56238292, + "n": 1, + "scriptPubKey": { + "hex": "76a914f32332d32e254176014b41872dadd0f1e6d8378688ac" + } + } + ] + } + } +}