v0.34.0_6
This commit is contained in:
1 parent
5910e6e901
commit
47ce1f18c2
18 files changed
+364
-69
No files matched your search
@@ -46,6 +46,36 @@ mod tests {
|
||||
});
|
||||
(exchange, slots)
|
||||
}
|
||||
#[tokio::test]
|
||||
async fn optimized_empty_request_keeps_exchange_until_response() {
|
||||
let (exchange, slots) = observation().await;
|
||||
let metrics = exchange.metrics.clone();
|
||||
let body = super::super::wrap_observed_request(
|
||||
Body::empty(), &exchange, Duration::from_secs(1),
|
||||
);
|
||||
assert!(body.is_end_stream());
|
||||
drop(body);
|
||||
assert_eq!(slots.available_permits(), 0);
|
||||
drop(exchange);
|
||||
assert_eq!(slots.available_permits(), 1);
|
||||
assert_eq!(metrics.completed.load(Ordering::Relaxed), 1);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn optimized_nonempty_request_still_meters_data_and_holds_capacity() {
|
||||
let (exchange, slots) = observation().await;
|
||||
let metrics = exchange.metrics.clone();
|
||||
let body = super::super::wrap_observed_request(
|
||||
Body::from("payload"), &exchange, Duration::from_secs(1),
|
||||
);
|
||||
assert!(!body.is_end_stream());
|
||||
drop(exchange);
|
||||
assert_eq!(slots.available_permits(), 0);
|
||||
assert_eq!(body.collect().await.unwrap().to_bytes().len(), 7);
|
||||
assert_eq!(slots.available_permits(), 1);
|
||||
assert_eq!(metrics.bytes_in.load(Ordering::Relaxed), 7);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn permit_and_metrics_cover_both_bodies() {
|
||||
let (exchange, slots) = observation().await;
|
||||
|
||||
Reference in new issue
Block a user