use thenodes::network::peer_manager::PeerManager;
#[tokio::test]
async fn qos_priority_and_bulk_soft_drop() {
let pm = PeerManager::new();
pm.set_binding("fromA", "toHT", true, None, Some("high_throughput".into()))
.await;
pm.set_binding("fromA", "toBulk", true, None, Some("bulk".into()))
.await;
for i in 0..10 {
pm.enqueue_store_forward("toHT", format!("msg-ht-{}", i), None, true, false, None)
.await;
}
for i in 0..1024 {
pm.enqueue_store_forward("toBulk", format!("msg-bulk-{}", i), None, false, true, None)
.await;
}
pm.enqueue_store_forward("toBulk", "msg-bulk-extra".into(), None, false, true, None)
.await;
let ht_q = pm.test_get_queue_for("toHT").await;
assert_eq!(ht_q.first().unwrap().0, "msg-ht-9");
assert_eq!(ht_q.last().unwrap().0, "msg-ht-0");
let bulk_q = pm.test_get_queue_for("toBulk").await;
assert_eq!(bulk_q.len(), 1024);
}