mirror of
https://github.com/tokio-rs/axum.git
synced 2026-08-27 00:00:24 +02:00
Use IntoFuture for test RequestBuilder (#2470)
This commit is contained in:
@@ -135,7 +135,6 @@ mod tests {
|
||||
.post("/")
|
||||
.header(CONTENT_TYPE, "application/x-www-form-urlencoded")
|
||||
.body("value=one&value=two")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
|
||||
@@ -245,7 +245,7 @@ mod tests {
|
||||
let app = Router::new().route("/", post(handler));
|
||||
|
||||
let client = TestClient::new(app);
|
||||
let res = client.post("/").json(&json!({ "foo": "bar" })).send().await;
|
||||
let res = client.post("/").json(&json!({ "foo": "bar" })).await;
|
||||
let body = res.text().await;
|
||||
|
||||
assert_eq!(body, "bar");
|
||||
@@ -277,11 +277,7 @@ mod tests {
|
||||
let client = TestClient::new(app);
|
||||
|
||||
// The escaped characters prevent serde_json from borrowing.
|
||||
let res = client
|
||||
.post("/")
|
||||
.json(&json!({ "foo": "\"bar\"" }))
|
||||
.send()
|
||||
.await;
|
||||
let res = client.post("/").json(&json!({ "foo": "\"bar\"" })).await;
|
||||
|
||||
let body = res.text().await;
|
||||
|
||||
@@ -308,19 +304,11 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client
|
||||
.post("/")
|
||||
.json(&json!({ "foo": "good" }))
|
||||
.send()
|
||||
.await;
|
||||
let res = client.post("/").json(&json!({ "foo": "good" })).await;
|
||||
let body = res.text().await;
|
||||
assert_eq!(body, "good");
|
||||
|
||||
let res = client
|
||||
.post("/")
|
||||
.json(&json!({ "foo": "\"bad\"" }))
|
||||
.send()
|
||||
.await;
|
||||
let res = client.post("/").json(&json!({ "foo": "\"bad\"" })).await;
|
||||
assert_eq!(res.status(), StatusCode::UNPROCESSABLE_ENTITY);
|
||||
let body_text = res.text().await;
|
||||
assert_eq!(
|
||||
@@ -344,7 +332,7 @@ mod tests {
|
||||
let app = Router::new().route("/", post(handler));
|
||||
|
||||
let client = TestClient::new(app);
|
||||
let res = client.post("/").body(r#"{ "foo": "bar" }"#).send().await;
|
||||
let res = client.post("/").body(r#"{ "foo": "bar" }"#).await;
|
||||
|
||||
let status = res.status();
|
||||
|
||||
@@ -366,7 +354,6 @@ mod tests {
|
||||
.post("/")
|
||||
.header("content-type", content_type)
|
||||
.body("{}")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
res.status() == StatusCode::OK
|
||||
@@ -395,7 +382,6 @@ mod tests {
|
||||
.post("/")
|
||||
.body("{")
|
||||
.header("content-type", "application/json")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::BAD_REQUEST);
|
||||
@@ -433,7 +419,6 @@ mod tests {
|
||||
.post("/")
|
||||
.body("{\"a\": 1, \"b\": [{\"x\": 2}]}")
|
||||
.header("content-type", "application/json")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::UNPROCESSABLE_ENTITY);
|
||||
|
||||
@@ -437,7 +437,7 @@ mod tests {
|
||||
.unwrap(),
|
||||
);
|
||||
|
||||
client.post("/").multipart(form).send().await;
|
||||
client.post("/").multipart(form).await;
|
||||
}
|
||||
|
||||
// No need for this to be a #[test], we just want to make sure it compiles
|
||||
@@ -466,7 +466,7 @@ mod tests {
|
||||
let form =
|
||||
reqwest::multipart::Form::new().part("file", reqwest::multipart::Part::bytes(BYTES));
|
||||
|
||||
let res = client.post("/").multipart(form).send().await;
|
||||
let res = client.post("/").multipart(form).await;
|
||||
assert_eq!(res.status(), StatusCode::PAYLOAD_TOO_LARGE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,19 +81,19 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/").send().await;
|
||||
let res = client.get("/").await;
|
||||
assert_eq!(res.text().await, "Success: 0");
|
||||
|
||||
let res = client.get("/1").send().await;
|
||||
let res = client.get("/1").await;
|
||||
assert_eq!(res.text().await, "Success: 1");
|
||||
|
||||
let res = client.get("/0").send().await;
|
||||
let res = client.get("/0").await;
|
||||
assert_eq!(
|
||||
res.text().await,
|
||||
"Invalid URL: invalid value: integer `0`, expected a nonzero u32"
|
||||
);
|
||||
|
||||
let res = client.get("/NaN").send().await;
|
||||
let res = client.get("/NaN").await;
|
||||
assert_eq!(
|
||||
res.text().await,
|
||||
"Invalid URL: Cannot parse `\"NaN\"` to a `u32`"
|
||||
|
||||
@@ -257,7 +257,6 @@ mod tests {
|
||||
.post("/?value=one&value=two")
|
||||
.header(CONTENT_TYPE, "application/x-www-form-urlencoded")
|
||||
.body("")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
@@ -286,7 +285,6 @@ mod tests {
|
||||
.post("/?value=one&value=two")
|
||||
.header(CONTENT_TYPE, "application/x-www-form-urlencoded")
|
||||
.body("")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
@@ -312,7 +310,7 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.post("/").body("").send().await;
|
||||
let res = client.post("/").body("").await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
assert_eq!(res.text().await, "None");
|
||||
@@ -341,7 +339,6 @@ mod tests {
|
||||
.post("/?other=something")
|
||||
.header(CONTENT_TYPE, "application/x-www-form-urlencoded")
|
||||
.body("")
|
||||
.send()
|
||||
.await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::BAD_REQUEST);
|
||||
|
||||
@@ -138,13 +138,13 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/123").send().await;
|
||||
let res = client.get("/123").await;
|
||||
assert_eq!(res.text().await, "123");
|
||||
|
||||
let res = client.get("/foo?a=bar").send().await;
|
||||
let res = client.get("/foo?a=bar").await;
|
||||
assert_eq!(res.text().await, "bar");
|
||||
|
||||
let res = client.get("/foo").send().await;
|
||||
let res = client.get("/foo").await;
|
||||
assert_eq!(res.text().await, "fallback");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,7 +224,6 @@ mod tests {
|
||||
]
|
||||
.join("\n"),
|
||||
)
|
||||
.send()
|
||||
.await;
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
}
|
||||
@@ -245,7 +244,7 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/").send().await;
|
||||
let res = client.get("/").await;
|
||||
|
||||
let values = res
|
||||
.text()
|
||||
|
||||
@@ -221,7 +221,7 @@ mod tests {
|
||||
};
|
||||
|
||||
let client = TestClient::new(app);
|
||||
let res = client.post("/").body(input.encode_to_vec()).send().await;
|
||||
let res = client.post("/").body(input.encode_to_vec()).await;
|
||||
|
||||
let body = res.text().await;
|
||||
|
||||
@@ -249,7 +249,7 @@ mod tests {
|
||||
};
|
||||
|
||||
let client = TestClient::new(app);
|
||||
let res = client.post("/").body(input.encode_to_vec()).send().await;
|
||||
let res = client.post("/").body(input.encode_to_vec()).await;
|
||||
|
||||
assert_eq!(res.status(), StatusCode::UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
@@ -284,7 +284,7 @@ mod tests {
|
||||
};
|
||||
|
||||
let client = TestClient::new(app);
|
||||
let res = client.post("/").body(input.encode_to_vec()).send().await;
|
||||
let res = client.post("/").body(input.encode_to_vec()).await;
|
||||
|
||||
assert_eq!(
|
||||
res.headers()["content-type"],
|
||||
|
||||
@@ -352,17 +352,17 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/foo").send().await;
|
||||
let res = client.get("/foo").await;
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
|
||||
let res = client.get("/foo/").send().await;
|
||||
let res = client.get("/foo/").await;
|
||||
assert_eq!(res.status(), StatusCode::PERMANENT_REDIRECT);
|
||||
assert_eq!(res.headers()["location"], "/foo");
|
||||
|
||||
let res = client.get("/bar/").send().await;
|
||||
let res = client.get("/bar/").await;
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
|
||||
let res = client.get("/bar").send().await;
|
||||
let res = client.get("/bar").await;
|
||||
assert_eq!(res.status(), StatusCode::PERMANENT_REDIRECT);
|
||||
assert_eq!(res.headers()["location"], "/bar/");
|
||||
}
|
||||
@@ -381,19 +381,19 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/a/foo").send().await;
|
||||
let res = client.get("/a/foo").await;
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
assert_eq!(res.text().await, "foo");
|
||||
|
||||
let res = client.get("/a/foo/").send().await;
|
||||
let res = client.get("/a/foo/").await;
|
||||
assert_eq!(res.status(), StatusCode::PERMANENT_REDIRECT);
|
||||
assert_eq!(res.headers()["location"], "/a/foo");
|
||||
|
||||
let res = client.get("/b/foo/").send().await;
|
||||
let res = client.get("/b/foo/").await;
|
||||
assert_eq!(res.status(), StatusCode::OK);
|
||||
assert_eq!(res.text().await, "foo");
|
||||
|
||||
let res = client.get("/b/foo").send().await;
|
||||
let res = client.get("/b/foo").await;
|
||||
assert_eq!(res.status(), StatusCode::PERMANENT_REDIRECT);
|
||||
assert_eq!(res.headers()["location"], "/b/foo/");
|
||||
}
|
||||
@@ -404,7 +404,7 @@ mod tests {
|
||||
|
||||
let client = TestClient::new(app);
|
||||
|
||||
let res = client.get("/foo/?a=a").send().await;
|
||||
let res = client.get("/foo/?a=a").await;
|
||||
assert_eq!(res.status(), StatusCode::PERMANENT_REDIRECT);
|
||||
assert_eq!(res.headers()["location"], "/foo?a=a");
|
||||
}
|
||||
|
||||
@@ -190,7 +190,6 @@ mod tests {
|
||||
.header("user-agent", "foobar")
|
||||
.header("cookie", "a=1; b=2")
|
||||
.header("cookie", "c=3")
|
||||
.send()
|
||||
.await;
|
||||
let body = res.text().await;
|
||||
assert_eq!(
|
||||
@@ -198,11 +197,11 @@ mod tests {
|
||||
r#"User-Agent="foobar", Cookie=[("a", "1"), ("b", "2"), ("c", "3")]"#
|
||||
);
|
||||
|
||||
let res = client.get("/").header("user-agent", "foobar").send().await;
|
||||
let res = client.get("/").header("user-agent", "foobar").await;
|
||||
let body = res.text().await;
|
||||
assert_eq!(body, r#"User-Agent="foobar", Cookie=[]"#);
|
||||
|
||||
let res = client.get("/").header("cookie", "a=1").send().await;
|
||||
let res = client.get("/").header("cookie", "a=1").await;
|
||||
let body = res.text().await;
|
||||
assert_eq!(body, "Header of type `user-agent` was missing");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user