@@ -122,13 +122,15 @@ fn get_auth() -> bitcoincore_rpc::Auth {
122
122
} ;
123
123
}
124
124
125
+ fn new_wallet_client ( wallet_name : & str ) -> Client {
126
+ let url = format ! ( "{}{}{}" , get_rpc_url( ) , "/wallet/" , wallet_name) ;
127
+ Client :: new ( & url, get_auth ( ) ) . unwrap ( )
128
+ }
129
+
125
130
fn main ( ) {
126
131
log:: set_logger ( & LOGGER ) . map ( |( ) | log:: set_max_level ( log:: LevelFilter :: max ( ) ) ) . unwrap ( ) ;
127
132
128
- let rpc_url = format ! ( "{}/wallet/testwallet" , get_rpc_url( ) ) ;
129
- let auth = get_auth ( ) ;
130
-
131
- let cl = Client :: new ( & rpc_url, auth) . unwrap ( ) ;
133
+ let cl = new_wallet_client ( "testwallet" ) ;
132
134
133
135
test_get_network_info ( & cl) ;
134
136
unsafe { VERSION = cl. version ( ) . unwrap ( ) } ;
@@ -200,6 +202,7 @@ fn main() {
200
202
test_get_network_hash_ps ( & cl) ;
201
203
test_uptime ( & cl) ;
202
204
test_getblocktemplate ( & cl) ;
205
+ test_unloadwallet ( & cl) ;
203
206
//TODO import_multi(
204
207
//TODO verify_message(
205
208
//TODO wait_for_new_block(&self, timeout: u64) -> Result<json::BlockRef> {
@@ -210,7 +213,6 @@ fn main() {
210
213
//TODO get_by_id<T: queryable::Queryable<Self>>(
211
214
//TODO add_multisig_address(
212
215
//TODO load_wallet(&self, wallet: &str) -> Result<json::LoadWalletResult> {
213
- //TODO unload_wallet(&self, wallet: Option<&str>) -> Result<()> {
214
216
//TODO backup_wallet(&self, destination: Option<&str>) -> Result<()> {
215
217
test_add_node ( & cl) ;
216
218
test_get_added_node_info ( & cl) ;
@@ -1130,8 +1132,7 @@ fn test_create_wallet(cl: &Client) {
1130
1132
} ;
1131
1133
assert_eq ! ( result. warning, expected_warning) ;
1132
1134
1133
- let wallet_client_url = format ! ( "{}{}{}" , get_rpc_url( ) , "/wallet/" , wallet_param. name) ;
1134
- let wallet_client = Client :: new ( & wallet_client_url, get_auth ( ) ) . unwrap ( ) ;
1135
+ let wallet_client = new_wallet_client ( wallet_param. name ) ;
1135
1136
let wallet_info = wallet_client. get_wallet_info ( ) . unwrap ( ) ;
1136
1137
1137
1138
assert_eq ! ( wallet_info. wallet_name, wallet_param. name) ;
@@ -1267,6 +1268,20 @@ fn test_getblocktemplate(cl: &Client) {
1267
1268
cl. generate_to_address ( 2 , & RANDOM_ADDRESS ) . unwrap ( ) ;
1268
1269
}
1269
1270
1271
+ fn test_unloadwallet ( cl : & Client ) {
1272
+ cl. create_wallet ( "testunloadwallet" , None , None , None , None ) . unwrap ( ) ;
1273
+
1274
+ let res = new_wallet_client ( "testunloadwallet" )
1275
+ . unload_wallet ( None )
1276
+ . unwrap ( ) ;
1277
+
1278
+ if version ( ) >= 210000 {
1279
+ assert ! ( res. is_some( ) ) ;
1280
+ } else {
1281
+ assert ! ( res. is_none( ) ) ;
1282
+ }
1283
+ }
1284
+
1270
1285
fn test_get_index_info ( cl : & Client ) {
1271
1286
if version ( ) >= 210000 {
1272
1287
let gii = cl. get_index_info ( ) . unwrap ( ) ;
0 commit comments