Skip to content

Commit 9d6324b

Browse files
committed
Add basic testing of EventQueue
1 parent 8ca13c2 commit 9d6324b

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

src/event.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ pub(crate) const EVENTS_PERSISTENCE_KEY: &str = "events";
2828
/// An event emitted by [`LdkLite`] that should be handled by the user.
2929
///
3030
/// [`LdkLite`]: [`crate::LdkLite`]
31-
#[derive(Debug, Clone)]
32-
pub enum LdkLiteEvent {
31+
#[derive(Debug, Clone, PartialEq)]
32+
pub enum Event {
3333
/// A payment we sent was successful.
3434
PaymentSuccessful {
3535
/// The hash of the payment.
@@ -368,6 +368,9 @@ where
368368

369369
if let Some(preimage) = payment_preimage {
370370
self.channel_manager.claim_funds(preimage);
371+
self.event_queue
372+
.add_event(Event::PaymentReceived { payment_hash, amount_msat })
373+
.expect("Failed to push to event queue");
371374
} else {
372375
log_error!(
373376
self.logger,
@@ -406,9 +409,6 @@ where
406409
});
407410
}
408411
}
409-
self.event_queue
410-
.add_event(Event::PaymentReceived { payment_hash, amount_msat })
411-
.expect("Failed to push to event queue");
412412
}
413413
LdkEvent::PaymentSent { payment_preimage, payment_hash, fee_paid_msat, .. } => {
414414
let mut payments = self.outbound_payments.lock().unwrap();

src/test_utils.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
use lightning::util::persist::KVStorePersister;
2+
use lightning::util::ser::Writeable;
3+
4+
use std::sync::atomic::{AtomicBool, Ordering};
5+
6+
pub(crate) struct TestPersister {
7+
pending_persist: AtomicBool,
8+
}
9+
10+
impl TestPersister {
11+
pub fn new() -> Self {
12+
let pending_persist = AtomicBool::new(false);
13+
Self { pending_persist }
14+
}
15+
16+
pub fn get_and_clear_pending_persist(&self) -> bool {
17+
self.pending_persist.swap(false, Ordering::SeqCst)
18+
}
19+
}
20+
21+
impl KVStorePersister for TestPersister {
22+
fn persist<W: Writeable>(&self, _key: &str, _object: &W) -> std::io::Result<()> {
23+
self.pending_persist.store(true, Ordering::SeqCst);
24+
Ok(())
25+
}
26+
}

0 commit comments

Comments
 (0)