Skip to content

Commit 5206829

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 54e22f9 commit 5206829

File tree

1 file changed

+62
-61
lines changed

1 file changed

+62
-61
lines changed

lightning/src/util/persist.rs

Lines changed: 62 additions & 61 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

@@ -1193,24 +1193,26 @@ mod tests {
11931193
let persister_0_max_pending_updates = persisters_max_pending_updates.0;
11941194
let persister_1_max_pending_updates = persisters_max_pending_updates.1;
11951195
let chanmon_cfgs = create_chanmon_cfgs(4);
1196-
let persister_0 = MonitorUpdatingPersister {
1197-
kv_store: &TestStore::new(false),
1198-
logger: &TestLogger::new(),
1199-
maximum_pending_updates: persister_0_max_pending_updates,
1200-
entropy_source: &chanmon_cfgs[0].keys_manager,
1201-
signer_provider: &chanmon_cfgs[0].keys_manager,
1202-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1203-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1204-
};
1205-
let persister_1 = MonitorUpdatingPersister {
1206-
kv_store: &TestStore::new(false),
1207-
logger: &TestLogger::new(),
1208-
maximum_pending_updates: persister_1_max_pending_updates,
1209-
entropy_source: &chanmon_cfgs[1].keys_manager,
1210-
signer_provider: &chanmon_cfgs[1].keys_manager,
1211-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1212-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1213-
};
1196+
let kv_store_0 = TestStore::new(false);
1197+
let persister_0 = MonitorUpdatingPersister::new(
1198+
&kv_store_0,
1199+
&chanmon_cfgs[0].logger,
1200+
persister_0_max_pending_updates,
1201+
&chanmon_cfgs[0].keys_manager,
1202+
&chanmon_cfgs[0].keys_manager,
1203+
&chanmon_cfgs[0].tx_broadcaster,
1204+
&chanmon_cfgs[0].fee_estimator,
1205+
);
1206+
let kv_store_1 = TestStore::new(false);
1207+
let persister_1 = MonitorUpdatingPersister::new(
1208+
&kv_store_1,
1209+
&chanmon_cfgs[1].logger,
1210+
persister_1_max_pending_updates,
1211+
&chanmon_cfgs[1].keys_manager,
1212+
&chanmon_cfgs[1].keys_manager,
1213+
&chanmon_cfgs[1].tx_broadcaster,
1214+
&chanmon_cfgs[1].fee_estimator,
1215+
);
12141216
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
12151217
let chain_mon_0 = test_utils::TestChainMonitor::new(
12161218
Some(&chanmon_cfgs[0].chain_source),
@@ -1260,8 +1262,7 @@ mod tests {
12601262
mon.get_latest_update_id() % persister_0_max_pending_updates
12611263
};
12621264
assert_eq!(
1263-
persister_0
1264-
.kv_store
1265+
kv_store_0
12651266
.list(
12661267
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
12671268
&monitor_name.to_string()
@@ -1284,8 +1285,7 @@ mod tests {
12841285
mon.get_latest_update_id() % persister_1_max_pending_updates
12851286
};
12861287
assert_eq!(
1287-
persister_1
1288-
.kv_store
1288+
kv_store_1
12891289
.list(
12901290
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
12911291
&monitor_name.to_string()
@@ -1395,15 +1395,16 @@ mod tests {
13951395
let cmu_map = nodes[1].chain_monitor.monitor_updates.lock().unwrap();
13961396
let cmu = &cmu_map.get(&added_monitors[0].1.channel_id()).unwrap()[0];
13971397

1398-
let ro_persister = MonitorUpdatingPersister {
1399-
kv_store: &TestStore::new(true),
1400-
logger: &TestLogger::new(),
1401-
maximum_pending_updates: 11,
1402-
entropy_source: node_cfgs[0].keys_manager,
1403-
signer_provider: node_cfgs[0].keys_manager,
1404-
broadcaster: node_cfgs[0].tx_broadcaster,
1405-
fee_estimator: node_cfgs[0].fee_estimator,
1406-
};
1398+
let store = TestStore::new(true);
1399+
let ro_persister = MonitorUpdatingPersister::new(
1400+
&store,
1401+
node_cfgs[0].logger,
1402+
11,
1403+
node_cfgs[0].keys_manager,
1404+
node_cfgs[0].keys_manager,
1405+
node_cfgs[0].tx_broadcaster,
1406+
node_cfgs[0].fee_estimator,
1407+
);
14071408
let monitor_name = added_monitors[0].1.persistence_key();
14081409
match ro_persister.persist_new_channel(monitor_name, &added_monitors[0].1) {
14091410
ChannelMonitorUpdateStatus::UnrecoverableError => {
@@ -1441,24 +1442,26 @@ mod tests {
14411442
fn clean_stale_updates_works() {
14421443
let test_max_pending_updates = 7;
14431444
let chanmon_cfgs = create_chanmon_cfgs(3);
1444-
let persister_0 = MonitorUpdatingPersister {
1445-
kv_store: &TestStore::new(false),
1446-
logger: &TestLogger::new(),
1447-
maximum_pending_updates: test_max_pending_updates,
1448-
entropy_source: &chanmon_cfgs[0].keys_manager,
1449-
signer_provider: &chanmon_cfgs[0].keys_manager,
1450-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1451-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1452-
};
1453-
let persister_1 = MonitorUpdatingPersister {
1454-
kv_store: &TestStore::new(false),
1455-
logger: &TestLogger::new(),
1456-
maximum_pending_updates: test_max_pending_updates,
1457-
entropy_source: &chanmon_cfgs[1].keys_manager,
1458-
signer_provider: &chanmon_cfgs[1].keys_manager,
1459-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1460-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1461-
};
1445+
let kv_store_0 = TestStore::new(false);
1446+
let persister_0 = MonitorUpdatingPersister::new(
1447+
&kv_store_0,
1448+
&chanmon_cfgs[0].logger,
1449+
test_max_pending_updates,
1450+
&chanmon_cfgs[0].keys_manager,
1451+
&chanmon_cfgs[0].keys_manager,
1452+
&chanmon_cfgs[0].tx_broadcaster,
1453+
&chanmon_cfgs[0].fee_estimator,
1454+
);
1455+
let kv_store_1 = TestStore::new(false);
1456+
let persister_1 = MonitorUpdatingPersister::new(
1457+
&kv_store_1,
1458+
&chanmon_cfgs[1].logger,
1459+
test_max_pending_updates,
1460+
&chanmon_cfgs[1].keys_manager,
1461+
&chanmon_cfgs[1].keys_manager,
1462+
&chanmon_cfgs[1].tx_broadcaster,
1463+
&chanmon_cfgs[1].fee_estimator,
1464+
);
14621465
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
14631466
let chain_mon_0 = test_utils::TestChainMonitor::new(
14641467
Some(&chanmon_cfgs[0].chain_source),
@@ -1497,22 +1500,20 @@ mod tests {
14971500
let persisted_chan_data = persister_0.read_all_channel_monitors_with_updates().unwrap();
14981501
let (_, monitor) = &persisted_chan_data[0];
14991502
let monitor_name = monitor.persistence_key();
1500-
persister_0
1501-
.kv_store
1502-
.write(
1503-
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
1504-
&monitor_name.to_string(),
1505-
UpdateName::from(1).as_str(),
1506-
vec![0u8; 1],
1507-
)
1508-
.unwrap();
1503+
KVStoreSync::write(
1504+
&kv_store_0,
1505+
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
1506+
&monitor_name.to_string(),
1507+
UpdateName::from(1).as_str(),
1508+
vec![0u8; 1],
1509+
)
1510+
.unwrap();
15091511

15101512
// Do the stale update cleanup
15111513
persister_0.cleanup_stale_updates(false).unwrap();
15121514

15131515
// Confirm the stale update is unreadable/gone
1514-
assert!(persister_0
1515-
.kv_store
1516+
assert!(kv_store_0
15161517
.read(
15171518
CHANNEL_MONITOR_UPDATE_PERSISTENCE_PRIMARY_NAMESPACE,
15181519
&monitor_name.to_string(),

0 commit comments

Comments
 (0)