Skip to content

Commit 9d5a177

Browse files
committed
Use public MonitorUpdatingPersister API in tests
In the coming commits `MonitorUpdatingPersister`'s internal state will be reworked. To avoid spurious test diff, we instead use the public API of `MonitorUpdatingPersister` rather than internal bits in tests.
1 parent 8d6ed64 commit 9d5a177

File tree

1 file changed

+55
-50
lines changed

1 file changed

+55
-50
lines changed

lightning/src/util/persist.rs

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,7 +1112,7 @@ mod tests {
11121112
use crate::ln::msgs::BaseMessageHandler;
11131113
use crate::sync::Arc;
11141114
use crate::util::test_channel_signer::TestChannelSigner;
1115-
use crate::util::test_utils::{self, TestLogger, TestStore};
1115+
use crate::util::test_utils::{self, TestStore};
11161116
use crate::{check_added_monitors, check_closed_broadcast};
11171117
use bitcoin::hashes::hex::FromHex;
11181118

@@ -1191,24 +1191,26 @@ mod tests {
11911191
// Exercise the `MonitorUpdatingPersister` with real channels and payments.
11921192
fn do_persister_with_real_monitors(max_pending_updates_0: u64, max_pending_updates_1: u64) {
11931193
let chanmon_cfgs = create_chanmon_cfgs(4);
1194-
let persister_0 = MonitorUpdatingPersister {
1195-
kv_store: &TestStore::new(false),
1196-
logger: &TestLogger::new(),
1197-
maximum_pending_updates: max_pending_updates_0,
1198-
entropy_source: &chanmon_cfgs[0].keys_manager,
1199-
signer_provider: &chanmon_cfgs[0].keys_manager,
1200-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1201-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1202-
};
1203-
let persister_1 = MonitorUpdatingPersister {
1204-
kv_store: &TestStore::new(false),
1205-
logger: &TestLogger::new(),
1206-
maximum_pending_updates: max_pending_updates_1,
1207-
entropy_source: &chanmon_cfgs[1].keys_manager,
1208-
signer_provider: &chanmon_cfgs[1].keys_manager,
1209-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1210-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1211-
};
1194+
let kv_store_0 = TestStore::new(false);
1195+
let persister_0 = MonitorUpdatingPersister::new(
1196+
&kv_store_0,
1197+
&chanmon_cfgs[0].logger,
1198+
max_pending_updates_0,
1199+
&chanmon_cfgs[0].keys_manager,
1200+
&chanmon_cfgs[0].keys_manager,
1201+
&chanmon_cfgs[0].tx_broadcaster,
1202+
&chanmon_cfgs[0].fee_estimator,
1203+
);
1204+
let kv_store_1 = TestStore::new(false);
1205+
let persister_1 = MonitorUpdatingPersister::new(
1206+
&kv_store_1,
1207+
&chanmon_cfgs[1].logger,
1208+
max_pending_updates_1,
1209+
&chanmon_cfgs[1].keys_manager,
1210+
&chanmon_cfgs[1].keys_manager,
1211+
&chanmon_cfgs[1].tx_broadcaster,
1212+
&chanmon_cfgs[1].fee_estimator,
1213+
);
12121214
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
12131215
let chain_mon_0 = test_utils::TestChainMonitor::new(
12141216
Some(&chanmon_cfgs[0].chain_source),
@@ -1258,7 +1260,7 @@ mod tests {
12581260
mon.get_latest_update_id() % max_pending_updates_0
12591261
};
12601262
let update_list = KVStoreSync::list(
1261-
&*persister_0.kv_store,
1263+
&kv_store_0,
12621264
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
12631265
&monitor_name.to_string(),
12641266
);
@@ -1276,7 +1278,7 @@ mod tests {
12761278
mon.get_latest_update_id() % max_pending_updates_1
12771279
};
12781280
let update_list = KVStoreSync::list(
1279-
&*persister_1.kv_store,
1281+
&kv_store_1,
12801282
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
12811283
&monitor_name.to_string(),
12821284
);
@@ -1381,15 +1383,16 @@ mod tests {
13811383
let cmu_map = nodes[1].chain_monitor.monitor_updates.lock().unwrap();
13821384
let cmu = &cmu_map.get(&added_monitors[0].1.channel_id()).unwrap()[0];
13831385

1384-
let ro_persister = MonitorUpdatingPersister {
1385-
kv_store: &TestStore::new(true),
1386-
logger: &TestLogger::new(),
1387-
maximum_pending_updates: 11,
1388-
entropy_source: node_cfgs[0].keys_manager,
1389-
signer_provider: node_cfgs[0].keys_manager,
1390-
broadcaster: node_cfgs[0].tx_broadcaster,
1391-
fee_estimator: node_cfgs[0].fee_estimator,
1392-
};
1386+
let store = TestStore::new(true);
1387+
let ro_persister = MonitorUpdatingPersister::new(
1388+
&store,
1389+
node_cfgs[0].logger,
1390+
11,
1391+
node_cfgs[0].keys_manager,
1392+
node_cfgs[0].keys_manager,
1393+
node_cfgs[0].tx_broadcaster,
1394+
node_cfgs[0].fee_estimator,
1395+
);
13931396
let monitor_name = added_monitors[0].1.persistence_key();
13941397
match ro_persister.persist_new_channel(monitor_name, &added_monitors[0].1) {
13951398
ChannelMonitorUpdateStatus::UnrecoverableError => {
@@ -1427,24 +1430,26 @@ mod tests {
14271430
fn clean_stale_updates_works() {
14281431
let test_max_pending_updates = 7;
14291432
let chanmon_cfgs = create_chanmon_cfgs(3);
1430-
let persister_0 = MonitorUpdatingPersister {
1431-
kv_store: &TestStore::new(false),
1432-
logger: &TestLogger::new(),
1433-
maximum_pending_updates: test_max_pending_updates,
1434-
entropy_source: &chanmon_cfgs[0].keys_manager,
1435-
signer_provider: &chanmon_cfgs[0].keys_manager,
1436-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1437-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1438-
};
1439-
let persister_1 = MonitorUpdatingPersister {
1440-
kv_store: &TestStore::new(false),
1441-
logger: &TestLogger::new(),
1442-
maximum_pending_updates: test_max_pending_updates,
1443-
entropy_source: &chanmon_cfgs[1].keys_manager,
1444-
signer_provider: &chanmon_cfgs[1].keys_manager,
1445-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1446-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1447-
};
1433+
let kv_store_0 = TestStore::new(false);
1434+
let persister_0 = MonitorUpdatingPersister::new(
1435+
&kv_store_0,
1436+
&chanmon_cfgs[0].logger,
1437+
test_max_pending_updates,
1438+
&chanmon_cfgs[0].keys_manager,
1439+
&chanmon_cfgs[0].keys_manager,
1440+
&chanmon_cfgs[0].tx_broadcaster,
1441+
&chanmon_cfgs[0].fee_estimator,
1442+
);
1443+
let kv_store_1 = TestStore::new(false);
1444+
let persister_1 = MonitorUpdatingPersister::new(
1445+
&kv_store_1,
1446+
&chanmon_cfgs[1].logger,
1447+
test_max_pending_updates,
1448+
&chanmon_cfgs[1].keys_manager,
1449+
&chanmon_cfgs[1].keys_manager,
1450+
&chanmon_cfgs[1].tx_broadcaster,
1451+
&chanmon_cfgs[1].fee_estimator,
1452+
);
14481453
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
14491454
let chain_mon_0 = test_utils::TestChainMonitor::new(
14501455
Some(&chanmon_cfgs[0].chain_source),
@@ -1484,7 +1489,7 @@ mod tests {
14841489
let (_, monitor) = &persisted_chan_data[0];
14851490
let monitor_name = monitor.persistence_key();
14861491
KVStoreSync::write(
1487-
&*persister_0.kv_store,
1492+
&kv_store_0,
14881493
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
14891494
&monitor_name.to_string(),
14901495
UpdateName::from(1).as_str(),
@@ -1497,7 +1502,7 @@ mod tests {
14971502

14981503
// Confirm the stale update is unreadable/gone
14991504
assert!(KVStoreSync::read(
1500-
&*persister_0.kv_store,
1505+
&kv_store_0,
15011506
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
15021507
&monitor_name.to_string(),
15031508
UpdateName::from(1).as_str()

0 commit comments

Comments
 (0)