Skip to content

Commit 357ce4b

Browse files
committed
update existing tests to use contructors
1 parent c6ad41b commit 357ce4b

File tree

1 file changed

+60
-40
lines changed

1 file changed

+60
-40
lines changed

lightning/src/util/persist.rs

Lines changed: 60 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,26 +1419,36 @@ mod tests {
14191419
fn clean_stale_updates_works() {
14201420
let test_max_pending_updates = 7;
14211421
let chanmon_cfgs = create_chanmon_cfgs(3);
1422-
let persister_0 = MonitorUpdatingPersister {
1423-
kv_store: &TestStore::new(false),
1424-
logger: &TestLogger::new(),
1425-
maximum_pending_updates: test_max_pending_updates,
1426-
min_monitor_size_for_updates_bytes: 0,
1427-
entropy_source: &chanmon_cfgs[0].keys_manager,
1428-
signer_provider: &chanmon_cfgs[0].keys_manager,
1429-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1430-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1431-
};
1432-
let persister_1 = MonitorUpdatingPersister {
1433-
kv_store: &TestStore::new(false),
1434-
logger: &TestLogger::new(),
1435-
maximum_pending_updates: test_max_pending_updates,
1436-
min_monitor_size_for_updates_bytes: 0,
1437-
entropy_source: &chanmon_cfgs[1].keys_manager,
1438-
signer_provider: &chanmon_cfgs[1].keys_manager,
1439-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1440-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1441-
};
1422+
let store_0 = TestStore::new(false);
1423+
let logger_0 = TestLogger::new();
1424+
let store_1 = TestStore::new(false);
1425+
let logger_1 = TestLogger::new();
1426+
1427+
// Test the default new() constructor (uses 4096 byte threshold)
1428+
let persister_0 = MonitorUpdatingPersister::new(
1429+
&store_0,
1430+
&logger_0,
1431+
test_max_pending_updates,
1432+
&chanmon_cfgs[0].keys_manager,
1433+
&chanmon_cfgs[0].keys_manager,
1434+
&chanmon_cfgs[0].tx_broadcaster,
1435+
&chanmon_cfgs[0].fee_estimator,
1436+
);
1437+
// Test the custom threshold constructor with zero threshold
1438+
let persister_1 = MonitorUpdatingPersister::new_with_monitor_size_threshold(
1439+
&store_1,
1440+
&logger_1,
1441+
test_max_pending_updates,
1442+
0, // 0 byte threshold for maximum update usage
1443+
&chanmon_cfgs[1].keys_manager,
1444+
&chanmon_cfgs[1].keys_manager,
1445+
&chanmon_cfgs[1].tx_broadcaster,
1446+
&chanmon_cfgs[1].fee_estimator,
1447+
);
1448+
1449+
// Verify the constructors set the thresholds correctly
1450+
assert_eq!(persister_0.min_monitor_size_for_updates_bytes, 4096);
1451+
assert_eq!(persister_1.min_monitor_size_for_updates_bytes, 0);
14421452
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
14431453
let chain_mon_0 = test_utils::TestChainMonitor::new(
14441454
Some(&chanmon_cfgs[0].chain_source),
@@ -1505,32 +1515,42 @@ mod tests {
15051515
#[test]
15061516
fn test_size_based_optimization() {
15071517
let chanmon_cfgs = create_chanmon_cfgs(2);
1518+
let store_0 = TestStore::new(false);
1519+
let logger_0 = TestLogger::new();
1520+
let store_1 = TestStore::new(false);
1521+
let logger_1 = TestLogger::new();
15081522

15091523
// Create a persister with a huge minimum size threshold (100KB)
15101524
// This should force all monitors to use full persistence instead of updates
1511-
let large_threshold_persister = MonitorUpdatingPersister {
1512-
kv_store: &TestStore::new(false),
1513-
logger: &TestLogger::new(),
1514-
maximum_pending_updates: 5,
1515-
min_monitor_size_for_updates_bytes: 100_000, // 100KB threshold - way larger than any monitor
1516-
entropy_source: &chanmon_cfgs[0].keys_manager,
1517-
signer_provider: &chanmon_cfgs[0].keys_manager,
1518-
broadcaster: &chanmon_cfgs[0].tx_broadcaster,
1519-
fee_estimator: &chanmon_cfgs[0].fee_estimator,
1520-
};
1525+
// Test the new_with_monitor_size_threshold constructor with large threshold
1526+
let large_threshold_persister = MonitorUpdatingPersister::new_with_monitor_size_threshold(
1527+
&store_0,
1528+
&logger_0,
1529+
5,
1530+
100_000, // 100KB threshold - way larger than any monitor
1531+
&chanmon_cfgs[0].keys_manager,
1532+
&chanmon_cfgs[0].keys_manager,
1533+
&chanmon_cfgs[0].tx_broadcaster,
1534+
&chanmon_cfgs[0].fee_estimator,
1535+
);
15211536

15221537
// Create a persister with zero minimum size threshold
15231538
// This should allow all monitors to use update-based persistence
1524-
let small_threshold_persister = MonitorUpdatingPersister {
1525-
kv_store: &TestStore::new(false),
1526-
logger: &TestLogger::new(),
1527-
maximum_pending_updates: 5,
1528-
min_monitor_size_for_updates_bytes: 0, // 0 byte threshold - allows all monitors to use updates
1529-
entropy_source: &chanmon_cfgs[1].keys_manager,
1530-
signer_provider: &chanmon_cfgs[1].keys_manager,
1531-
broadcaster: &chanmon_cfgs[1].tx_broadcaster,
1532-
fee_estimator: &chanmon_cfgs[1].fee_estimator,
1533-
};
1539+
// Test the new_with_monitor_size_threshold constructor with zero threshold
1540+
let small_threshold_persister = MonitorUpdatingPersister::new_with_monitor_size_threshold(
1541+
&store_1,
1542+
&logger_1,
1543+
5,
1544+
0, // 0 byte threshold - allows all monitors to use updates
1545+
&chanmon_cfgs[1].keys_manager,
1546+
&chanmon_cfgs[1].keys_manager,
1547+
&chanmon_cfgs[1].tx_broadcaster,
1548+
&chanmon_cfgs[1].fee_estimator,
1549+
);
1550+
1551+
// Verify the constructors set the thresholds correctly
1552+
assert_eq!(large_threshold_persister.min_monitor_size_for_updates_bytes, 100_000);
1553+
assert_eq!(small_threshold_persister.min_monitor_size_for_updates_bytes, 0);
15341554

15351555
let mut node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
15361556
let chain_mon_0 = test_utils::TestChainMonitor::new(

0 commit comments

Comments
 (0)