mirror of
https://github.com/sudosylabs/vnidrop.git
synced 2026-08-05 10:29:58 +02:00
test(core): wait for delivery event visibility
This commit is contained in:
@@ -73,14 +73,23 @@ fn public_share_receives_without_sender_approval() {
|
||||
assert_eq!(deliveries[0].receiver_name.as_deref(), Some("Receiver"));
|
||||
assert_eq!(deliveries[0].status, "completed");
|
||||
assert!(deliveries[0].completed_at.is_some());
|
||||
assert!(
|
||||
sender.sink.events().iter().any(|event| {
|
||||
// The repository commit becomes visible just before the receipt handler
|
||||
// emits its event, so completion and sink observation are not atomic.
|
||||
let started = Instant::now();
|
||||
loop {
|
||||
if sender.sink.events().iter().any(|event| {
|
||||
event.phase == "delivery"
|
||||
&& event.kind == "receiver-completed"
|
||||
&& event.transfer_id == Some(share.transfer_id)
|
||||
}),
|
||||
"delivery receipts must emit a delivery phase event for UI live updates"
|
||||
);
|
||||
}) {
|
||||
break;
|
||||
}
|
||||
assert!(
|
||||
started.elapsed() < Duration::from_secs(5),
|
||||
"delivery receipts must emit a delivery phase event for UI live updates"
|
||||
);
|
||||
std::thread::sleep(Duration::from_millis(10));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user