Add additional z_mergetoaddress parameter tests

This commit is contained in:
Eirik Ogilvie-Wigley 2018-10-31 00:59:48 -06:00
parent 12040363ad
commit 88d134c251
1 changed files with 16 additions and 0 deletions

View File

@ -1688,6 +1688,9 @@ BOOST_AUTO_TEST_CASE(rpc_z_mergetoaddress_parameters)
LOCK(pwalletMain->cs_wallet);
CheckRPCThrows("z_mergetoaddress 1 2",
"Error: z_mergetoaddress is disabled.");
// Set global state required for z_mergetoaddress
fExperimentalMode = true;
mapArgs["-zmergetoaddress"] = "1";
@ -1699,6 +1702,10 @@ BOOST_AUTO_TEST_CASE(rpc_z_mergetoaddress_parameters)
std::string taddr1 = "tmRr6yJonqGK23UVhrKuyvTpF8qxQQjKigJ";
std::string taddr2 = "tmYmhvdKqEte49iohoB9utgL1kPbGgWSdNc";
std::string aSproutAddr = "ztVtBC7vJFXPsZC8S3hXRu51rZysoJkSe6r1t9wk56bELrV9xTK6dx5TgSCH6RTw1dRD7HuApmcY1nhuQW9QfvE4MQXRRYU";
std::string aSaplingAddr = "ztestsapling19rnyu293v44f0kvtmszhx35lpdug574twc0lwyf4s7w0umtkrdq5nfcauxrxcyfmh3m7slemqsj";
CheckRPCThrows("z_mergetoaddress [] " + taddr1,
"Invalid parameter, fromaddresses array is empty.");
// bad from address
CheckRPCThrows("z_mergetoaddress [\"INVALID" + taddr1 + "\"] " + taddr2,
@ -1744,6 +1751,15 @@ BOOST_AUTO_TEST_CASE(rpc_z_mergetoaddress_parameters)
CheckRPCThrows("z_mergetoaddress [\"" + taddr1 + "\"] " + taddr2 + " 0.0001 100 -1",
"Limit on maximum number of notes cannot be negative");
CheckRPCThrows("z_mergetoaddress [\"ANY_TADDR\",\"" + taddr1 + "\"] " + taddr2,
"Cannot specify specific t-addrs when using \"ANY_TADDR\"");
CheckRPCThrows("z_mergetoaddress [\"ANY_SPROUT\",\"" + aSproutAddr + "\"] " + taddr2,
"Cannot specify specific z-addrs when using \"ANY_SPROUT\" or \"ANY_SAPLING\"");
CheckRPCThrows("z_mergetoaddress [\"ANY_SAPLING\",\"" + aSaplingAddr + "\"] " + taddr2,
"Cannot specify specific z-addrs when using \"ANY_SPROUT\" or \"ANY_SAPLING\"");
// memo bigger than allowed length of ZC_MEMO_SIZE
std::vector<char> v (2 * (ZC_MEMO_SIZE+1)); // x2 for hexadecimal string format
std::fill(v.begin(),v.end(), 'A');