Simplify TestClient implementation (#3096)

This commit is contained in:
Tobias Bieniek 2024-12-23 22:21:00 +01:00 committed by GitHub
parent 8af2f27877
commit f476b313ad
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,10 +1,8 @@
use super::{serve, Request, Response};
use bytes::Bytes;
use futures_util::future::BoxFuture;
use http::{
header::{HeaderName, HeaderValue},
StatusCode,
};
use http::header::{HeaderName, HeaderValue};
use std::ops::Deref;
use std::{convert::Infallible, future::IntoFuture, net::SocketAddr};
use tokio::net::TcpListener;
use tower::make::Shared;
@ -144,6 +142,14 @@ pub(crate) struct TestResponse {
response: reqwest::Response,
}
impl Deref for TestResponse {
type Target = reqwest::Response;
fn deref(&self) -> &Self::Target {
&self.response
}
}
impl TestResponse {
#[allow(dead_code)]
pub(crate) async fn bytes(self) -> Bytes {
@ -162,14 +168,6 @@ impl TestResponse {
self.response.json().await.unwrap()
}
pub(crate) fn status(&self) -> StatusCode {
StatusCode::from_u16(self.response.status().as_u16()).unwrap()
}
pub(crate) fn headers(&self) -> http::HeaderMap {
self.response.headers().clone()
}
pub(crate) async fn chunk(&mut self) -> Option<Bytes> {
self.response.chunk().await.unwrap()
}