Skip to content

Commit f664315

Browse files
authored
Merge pull request #296 from LimpSquid/master
Add loadwallet and backupwallet integration tests.
2 parents c0d6b38 + 69de1aa commit f664315

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

integration_test/run.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ sleep 5
4242

4343
RPC_URL=http://localhost:12349 \
4444
RPC_COOKIE=${TESTDIR}/2/regtest/.cookie \
45+
TESTDIR=${TESTDIR} \
4546
cargo run
4647

4748
RESULT=$?

integration_test/src/main.rs

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ fn sbtc<F: Into<f64>>(btc: F) -> SignedAmount {
108108
SignedAmount::from_btc(btc.into()).unwrap()
109109
}
110110

111+
fn get_testdir() -> String {
112+
return std::env::var("TESTDIR").expect("TESTDIR must be set");
113+
}
114+
111115
fn get_rpc_url() -> String {
112116
return std::env::var("RPC_URL").expect("RPC_URL must be set");
113117
}
@@ -203,6 +207,8 @@ fn main() {
203207
test_uptime(&cl);
204208
test_getblocktemplate(&cl);
205209
test_unloadwallet(&cl);
210+
test_loadwallet(&cl);
211+
test_backupwallet(&cl);
206212
//TODO import_multi(
207213
//TODO verify_message(
208214
//TODO wait_for_new_block(&self, timeout: u64) -> Result<json::BlockRef> {
@@ -212,8 +218,6 @@ fn main() {
212218
//TODO encrypt_wallet(&self, passphrase: &str) -> Result<()> {
213219
//TODO get_by_id<T: queryable::Queryable<Self>>(
214220
//TODO add_multisig_address(
215-
//TODO load_wallet(&self, wallet: &str) -> Result<json::LoadWalletResult> {
216-
//TODO backup_wallet(&self, destination: Option<&str>) -> Result<()> {
217221
test_add_node(&cl);
218222
test_get_added_node_info(&cl);
219223
test_get_node_addresses(&cl);
@@ -1282,6 +1286,31 @@ fn test_unloadwallet(cl: &Client) {
12821286
}
12831287
}
12841288

1289+
fn test_loadwallet(_: &Client) {
1290+
let wallet_name = "testloadwallet";
1291+
let wallet_client = new_wallet_client(wallet_name);
1292+
1293+
assert!(wallet_client.load_wallet(wallet_name).is_err());
1294+
wallet_client.create_wallet(wallet_name, None, None, None, None).unwrap();
1295+
assert!(wallet_client.load_wallet(wallet_name).is_err());
1296+
wallet_client.unload_wallet(None).unwrap();
1297+
1298+
let res = wallet_client.load_wallet(wallet_name).unwrap();
1299+
assert_eq!(res.name, wallet_name);
1300+
assert_eq!(res.warning, Some("".into()));
1301+
}
1302+
1303+
fn test_backupwallet(_: &Client) {
1304+
let wallet_client = new_wallet_client("testbackupwallet");
1305+
let backup_path = format!("{}/testbackupwallet.dat", get_testdir());
1306+
1307+
assert!(wallet_client.backup_wallet(None).is_err());
1308+
assert!(wallet_client.backup_wallet(Some(&backup_path)).is_err());
1309+
wallet_client.create_wallet("testbackupwallet", None, None, None, None).unwrap();
1310+
assert!(wallet_client.backup_wallet(None).is_err());
1311+
assert!(wallet_client.backup_wallet(Some(&backup_path)).is_ok());
1312+
}
1313+
12851314
fn test_get_index_info(cl: &Client) {
12861315
if version() >= 210000 {
12871316
let gii = cl.get_index_info().unwrap();

0 commit comments

Comments
 (0)