@@ -108,6 +108,10 @@ fn sbtc<F: Into<f64>>(btc: F) -> SignedAmount {
108
108
SignedAmount :: from_btc ( btc. into ( ) ) . unwrap ( )
109
109
}
110
110
111
+ fn get_testdir ( ) -> String {
112
+ return std:: env:: var ( "TESTDIR" ) . expect ( "TESTDIR must be set" ) ;
113
+ }
114
+
111
115
fn get_rpc_url ( ) -> String {
112
116
return std:: env:: var ( "RPC_URL" ) . expect ( "RPC_URL must be set" ) ;
113
117
}
@@ -203,6 +207,8 @@ fn main() {
203
207
test_uptime ( & cl) ;
204
208
test_getblocktemplate ( & cl) ;
205
209
test_unloadwallet ( & cl) ;
210
+ test_loadwallet ( & cl) ;
211
+ test_backupwallet ( & cl) ;
206
212
//TODO import_multi(
207
213
//TODO verify_message(
208
214
//TODO wait_for_new_block(&self, timeout: u64) -> Result<json::BlockRef> {
@@ -212,8 +218,6 @@ fn main() {
212
218
//TODO encrypt_wallet(&self, passphrase: &str) -> Result<()> {
213
219
//TODO get_by_id<T: queryable::Queryable<Self>>(
214
220
//TODO add_multisig_address(
215
- //TODO load_wallet(&self, wallet: &str) -> Result<json::LoadWalletResult> {
216
- //TODO backup_wallet(&self, destination: Option<&str>) -> Result<()> {
217
221
test_add_node ( & cl) ;
218
222
test_get_added_node_info ( & cl) ;
219
223
test_get_node_addresses ( & cl) ;
@@ -1282,6 +1286,31 @@ fn test_unloadwallet(cl: &Client) {
1282
1286
}
1283
1287
}
1284
1288
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
+
1285
1314
fn test_get_index_info ( cl : & Client ) {
1286
1315
if version ( ) >= 210000 {
1287
1316
let gii = cl. get_index_info ( ) . unwrap ( ) ;
0 commit comments