mirror of
https://github.com/LemmyNet/lemmy.git
synced 2025-09-03 11:43:51 +00:00
Fix lemmy_federate test (again) (#5757)
This commit is contained in:
parent
3aaa52820c
commit
7458a9728d
1 changed files with 19 additions and 13 deletions
|
@ -701,28 +701,34 @@ mod test {
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
// it immediately performs first retry giving us 2 failures
|
// it immediately performs first retry giving us 2 failures
|
||||||
let rcv = data.stats_receiver.recv().await.unwrap();
|
wait_receive(2, &mut data.stats_receiver).await;
|
||||||
assert_eq!(2, rcv.state.fail_count);
|
|
||||||
|
|
||||||
// another automatic retry after short sleep
|
// another automatic retry after short wait
|
||||||
sleep(Duration::try_from_secs_f64(1.25)?).await;
|
wait_receive(3, &mut data.stats_receiver).await;
|
||||||
let rcv = data.stats_receiver.recv().await.unwrap();
|
|
||||||
assert_eq!(3, rcv.state.fail_count);
|
|
||||||
|
|
||||||
// now make sends successful
|
// now make sends successful
|
||||||
*data.respond_with_error.write().unwrap() = false;
|
*data.respond_with_error.write().unwrap() = false;
|
||||||
|
|
||||||
// give it time for retry and to deliver activities
|
// fail count goes back to 0
|
||||||
sleep(Duration::from_secs(2)).await;
|
wait_receive(0, &mut data.stats_receiver).await;
|
||||||
|
|
||||||
// fail count goes back to 0 (need to skip all intermediary stats and get the final one)
|
|
||||||
let mut buffer = vec![];
|
|
||||||
data.stats_receiver.recv_many(&mut buffer, 10).await;
|
|
||||||
assert_eq!(0, buffer.last().unwrap().state.fail_count);
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn wait_receive(
|
||||||
|
expected_fail_count: i32,
|
||||||
|
rec: &mut UnboundedReceiver<FederationQueueStateWithDomain>,
|
||||||
|
) {
|
||||||
|
// loop until we get the latest event
|
||||||
|
for _ in 0..5 {
|
||||||
|
let rcv = rec.recv().await.unwrap();
|
||||||
|
if expected_fail_count == rcv.state.fail_count {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
panic!();
|
||||||
|
}
|
||||||
|
|
||||||
fn listen_activities(
|
fn listen_activities(
|
||||||
inbox_sender: UnboundedSender<String>,
|
inbox_sender: UnboundedSender<String>,
|
||||||
respond_with_error: Arc<RwLock<bool>>,
|
respond_with_error: Arc<RwLock<bool>>,
|
||||||
|
|
Loading…
Reference in a new issue