From e883ffef91285bed01405006315fe7f5bbbe119a Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 7 Sep 2016 23:01:32 -0700 Subject: [PATCH] Add test for calling RPC z_getbalance, z_gettotalbalance, z_listreceivedbyaddress with invalid parameters. --- src/test/rpc_wallet_tests.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/test/rpc_wallet_tests.cpp b/src/test/rpc_wallet_tests.cpp index bcbdd508..4fd1f8c4 100644 --- a/src/test/rpc_wallet_tests.cpp +++ b/src/test/rpc_wallet_tests.cpp @@ -252,6 +252,35 @@ BOOST_AUTO_TEST_CASE(rpc_wallet) BOOST_CHECK(find_value(obj, "founders") == 0.0); } +BOOST_AUTO_TEST_CASE(rpc_wallet_getbalance) +{ + SelectParams(CBaseChainParams::TESTNET); + + LOCK(pwalletMain->cs_wallet); + + + BOOST_CHECK_THROW(CallRPC("z_getbalance too many args"), runtime_error); + BOOST_CHECK_THROW(CallRPC("z_getbalance invalidaddress"), runtime_error); + BOOST_CHECK_NO_THROW(CallRPC("z_getbalance mhu9XfNv9o9JfTmEoTA6xKJHBfH2BVF8qG")); + BOOST_CHECK_THROW(CallRPC("z_getbalance mhu9XfNv9o9JfTmEoTA6xKJHBfH2BVF8qG -1"), runtime_error); + BOOST_CHECK_NO_THROW(CallRPC("z_getbalance mhu9XfNv9o9JfTmEoTA6xKJHBfH2BVF8qG 0")); + BOOST_CHECK_THROW(CallRPC("z_getbalance tnRZ8bPq2pff3xBWhTJhNkVUkm2uhzksDeW5PvEa7aFKGT9Qi3YgTALZfjaY4jU3HLVKBtHdSXxoPoLA3naMPcHBcY88FcF 1"), runtime_error); + + + BOOST_CHECK_THROW(CallRPC("z_gettotalbalance too manyargs"), runtime_error); + BOOST_CHECK_THROW(CallRPC("z_gettotalbalance -1"), runtime_error); + BOOST_CHECK_NO_THROW(CallRPC("z_gettotalbalance 0")); + + + BOOST_CHECK_THROW(CallRPC("z_listreceivedbyaddress too many args"), runtime_error); + // negative minconf not allowed + BOOST_CHECK_THROW(CallRPC("z_listreceivedbyaddress mhu9XfNv9o9JfTmEoTA6xKJHBfH2BVF8qG -1"), runtime_error); + // invalid zaddr, taddr not allowed + BOOST_CHECK_THROW(CallRPC("z_listreceivedbyaddress mhu9XfNv9o9JfTmEoTA6xKJHBfH2BVF8qG 0"), runtime_error); + // don't have the spending key + BOOST_CHECK_THROW(CallRPC("z_listreceivedbyaddress tnRZ8bPq2pff3xBWhTJhNkVUkm2uhzksDeW5PvEa7aFKGT9Qi3YgTALZfjaY4jU3HLVKBtHdSXxoPoLA3naMPcHBcY88FcF 1"), runtime_error); +} + /* * This test covers RPC command z_exportwallet */