Skip to content

Commit

Permalink
Fix a minor compilation error, possibly caused by rust-lang/rust#64292.
Browse files Browse the repository at this point in the history
  • Loading branch information
jebrosen committed Dec 11, 2019
1 parent 91c12cd commit 270c85b
Show file tree
Hide file tree
Showing 17 changed files with 80 additions and 56 deletions.
9 changes: 6 additions & 3 deletions core/codegen/tests/route-ranking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,16 @@ async fn test_ranking() {
let mut response = client.get("/0").dispatch().await;
assert_eq!(response.body_string().await.unwrap(), "0");

let mut response = client.get(format!("/{}", 1 << 8)).dispatch().await;
let request = client.get(format!("/{}", 1 << 8));
let mut response = request.dispatch().await;
assert_eq!(response.body_string().await.unwrap(), "1");

let mut response = client.get(format!("/{}", 1 << 16)).dispatch().await;
let request = client.get(format!("/{}", 1 << 16));
let mut response = request.dispatch().await;
assert_eq!(response.body_string().await.unwrap(), "2");

let mut response = client.get(format!("/{}", 1u64 << 32)).dispatch().await;
let request = client.get(format!("/{}", 1u64 << 32));
let mut response = request.dispatch().await;
assert_eq!(response.body_string().await.unwrap(), "3");
}

Expand Down
18 changes: 10 additions & 8 deletions core/codegen/tests/route.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,26 +103,28 @@ async fn test_full_route() {
let response = client.post(&uri).body(simple).dispatch().await;
assert_eq!(response.status(), Status::NotFound);

let response = client.post(format!("/1{}", uri)).body(simple).dispatch().await;
let request = client.post(format!("/1{}", uri)).body(simple);
let response = request.dispatch().await;
assert_eq!(response.status(), Status::NotFound);

let mut response = client
let request = client
.post(format!("/1{}", uri))
.header(ContentType::JSON)
.body(simple)
.dispatch().await;
.body(simple);
let mut response = request.dispatch().await;

assert_eq!(response.body_string().await.unwrap(), format!("({}, {}, {}, {}, {}, {}) ({})",
sky, name, "A A", "inside", path, simple, expected_uri));

let response = client.post(format!("/2{}", uri)).body(simple).dispatch().await;
let request = client.post(format!("/2{}", uri)).body(simple);
let response = request.dispatch().await;
assert_eq!(response.status(), Status::NotFound);

let mut response = client
let request = client
.post(format!("/2{}", uri))
.header(ContentType::JSON)
.body(simple)
.dispatch().await;
.body(simple);
let mut response = request.dispatch().await;

assert_eq!(response.body_string().await.unwrap(), format!("({}, {}, {}, {}, {}, {}) ({})",
sky, name, "A A", "inside", path, simple, expected_uri));
Expand Down
3 changes: 2 additions & 1 deletion core/lib/src/data/data.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,8 @@ impl Data {
pub fn stream_to_file<P: AsRef<Path> + Send + Unpin + 'static>(self, path: P) -> impl Future<Output = io::Result<u64>> {
Box::pin(async move {
let mut file = async_std::fs::File::create(path).await?;
self.stream_to(&mut file).await
let streaming = self.stream_to(&mut file);
streaming.await
})
}

Expand Down
3 changes: 2 additions & 1 deletion core/lib/src/local/request.rs
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,8 @@ impl<'c> LocalRequest<'c> {
#[inline(always)]
pub async fn dispatch(mut self) -> LocalResponse<'c> {
let r = self.long_lived_request();
LocalRequest::_dispatch(self.client, r, self.request, &self.uri, self.data).await
let dispatching = LocalRequest::_dispatch(self.client, r, self.request, &self.uri, self.data);
dispatching.await
}

/// Dispatches the request, returning the response.
Expand Down
6 changes: 3 additions & 3 deletions core/lib/tests/form_value_decoding-issue-82.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ mod tests {

async fn check_decoding(raw: &str, decoded: &str) {
let client = Client::new(rocket::ignite().mount("/", routes![bug])).unwrap();
let mut response = client.post("/")
let request = client.post("/")
.header(ContentType::Form)
.body(format!("form_data={}", raw))
.dispatch().await;
.body(format!("form_data={}", raw));
let mut response = request.dispatch().await;

assert_eq!(response.status(), Status::Ok);
assert_eq!(Some(decoded.to_string()), response.body_string().await);
Expand Down
3 changes: 2 additions & 1 deletion core/lib/tests/segments-issues-41-86.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ mod tests {
"/static", "/point/static"]
{
let path = "this/is/the/path/we/want";
let mut response = client.get(format!("{}/{}", prefix, path)).dispatch().await;
let request = client.get(format!("{}/{}", prefix, path));
let mut response = request.dispatch().await;
assert_eq!(response.body_string().await, Some(path.into()));
}
}
Expand Down
24 changes: 12 additions & 12 deletions core/lib/tests/strict_and_lenient_forms.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,37 +34,37 @@ mod strict_and_lenient_forms_tests {
#[rocket::async_test]
async fn test_strict_form() {
let client = client();
let mut response = client.post("/strict")
let request = client.post("/strict")
.header(ContentType::Form)
.body(format!("field={}", FIELD_VALUE))
.dispatch().await;
.body(format!("field={}", FIELD_VALUE));
let mut response = request.dispatch().await;

assert_eq!(response.status(), Status::Ok);
assert_eq!(response.body_string().await, Some(FIELD_VALUE.into()));

let response = client.post("/strict")
let request = client.post("/strict")
.header(ContentType::Form)
.body(format!("field={}&extra=whoops", FIELD_VALUE))
.dispatch().await;
.body(format!("field={}&extra=whoops", FIELD_VALUE));
let response = request.dispatch().await;

assert_eq!(response.status(), Status::UnprocessableEntity);
}

#[rocket::async_test]
async fn test_lenient_form() {
let client = client();
let mut response = client.post("/lenient")
let request = client.post("/lenient")
.header(ContentType::Form)
.body(format!("field={}", FIELD_VALUE))
.dispatch().await;
.body(format!("field={}", FIELD_VALUE));
let mut response = request.dispatch().await;

assert_eq!(response.status(), Status::Ok);
assert_eq!(response.body_string().await, Some(FIELD_VALUE.into()));

let mut response = client.post("/lenient")
let request = client.post("/lenient")
.header(ContentType::Form)
.body(format!("field={}&extra=whoops", FIELD_VALUE))
.dispatch().await;
.body(format!("field={}&extra=whoops", FIELD_VALUE));
let mut response = request.dispatch().await;

assert_eq!(response.status(), Status::Ok);
assert_eq!(response.body_string().await, Some(FIELD_VALUE.into()));
Expand Down
3 changes: 2 additions & 1 deletion core/lib/tests/uri-percent-encoding-issue-808.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ mod tests {
async fn uri_percent_encoding_get() {
let client = Client::new(rocket()).unwrap();
let name = Uri::percent_encode(NAME);
let mut response = client.get(format!("/hello/{}", name)).dispatch().await;
let request = client.get(format!("/hello/{}", name));
let mut response = request.dispatch().await;
assert_eq!(response.status(), Status::Ok);
assert_eq!(response.body_string().await.unwrap(), format!("Hello, {}!", NAME));
}
Expand Down
6 changes: 4 additions & 2 deletions examples/errors/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ async fn test(uri: &str, status: Status, body: String) {
.register(catchers![super::not_found]);

let client = Client::new(rocket).unwrap();
let mut response = client.get(uri).dispatch().await;
let request = client.get(uri);
let mut response = request.dispatch().await;
assert_eq!(response.status(), status);
assert_eq!(response.body_string().await, Some(body));
}
Expand All @@ -16,7 +17,8 @@ async fn test(uri: &str, status: Status, body: String) {
async fn test_hello() {
let (name, age) = ("Arthur", 42);
let uri = format!("/hello/{}/{}", name, age);
test(&uri, Status::Ok, format!("Hello, {} year old named {}!", age, name)).await;
let expected = format!("Hello, {} year old named {}!", age, name);
test(&uri, Status::Ok, expected).await;
}

#[rocket::async_test]
Expand Down
8 changes: 5 additions & 3 deletions examples/hello_person/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ async fn test_404(uri: &'static str) {
#[rocket::async_test]
async fn test_hello() {
for &(name, age) in &[("Mike", 22), ("Michael", 80), ("A", 0), ("a", 127)] {
test(format!("/hello/{}/{}", name, age),
format!("Hello, {} year old named {}!", age, name)).await;
let uri = format!("/hello/{}/{}", name, age);
let expected = format!("Hello, {} year old named {}!", age, name);
test(uri, expected).await;
}
}

Expand All @@ -33,6 +34,7 @@ async fn test_failing_hello() {
#[rocket::async_test]
async fn test_hi() {
for name in &["Mike", "A", "123", "hi", "c"] {
test(format!("/hello/{}", name), name.to_string()).await;
let uri = format!("/hello/{}", name);
test(uri, name.to_string()).await;
}
}
6 changes: 4 additions & 2 deletions examples/manual_routes/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ fn upload<'r>(req: &'r Request, data: Data) -> HandlerFuture<'r> {
let file = File::create(env::temp_dir().join("upload.txt")).await;
if let Ok(file) = file {
if let Ok(n) = data.stream_to(file).await {
return Outcome::from(req, format!("OK: {} bytes uploaded.", n)).await;
let response = format!("OK: {} bytes uploaded.", n);
return Outcome::from(req, response).await;
}

println!(" => Failed copying.");
Expand Down Expand Up @@ -92,7 +93,8 @@ impl Handler for CustomHandler {
.or_forward(data);

let id = try_outcome!(id_outcome);
Outcome::from(req, format!("{} - {}", self_data, id)).await
let response = format!("{} - {}", self_data, id);
Outcome::from(req, response).await
})
}
}
Expand Down
3 changes: 2 additions & 1 deletion examples/manual_routes/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ use rocket::http::{ContentType, Status};
fn test(uri: &str, content_type: ContentType, status: Status, body: String) {
rocket::async_test(async move {
let client = Client::new(rocket()).unwrap();
let mut response = client.get(uri).header(content_type).dispatch().await;
let request = client.get(uri).header(content_type);
let mut response = request.dispatch().await;
assert_eq!(response.status(), status);
assert_eq!(response.body_string().await, Some(body));
})
Expand Down
3 changes: 2 additions & 1 deletion examples/pastebin/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ async fn upload_paste(client: &Client, body: &str) -> String {
}

async fn download_paste(client: &Client, id: &str) -> String {
let mut response = client.get(format!("/{}", id)).dispatch().await;
let request = client.get(format!("/{}", id));
let mut response = request.dispatch().await;
assert_eq!(response.status(), Status::Ok);
response.body_string().await.unwrap()
}
Expand Down
3 changes: 2 additions & 1 deletion examples/query_params/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ use rocket::http::Status;
macro_rules! run_test {
($query:expr, |$response:ident| $body:expr) => ({
let client = Client::new(rocket()).unwrap();
let request = client.get(format!("/hello{}", $query));
#[allow(unused_mut)]
let mut $response = client.get(format!("/hello{}", $query)).dispatch().await;
let mut $response = request.dispatch().await;
$body
})
}
Expand Down
17 changes: 10 additions & 7 deletions examples/ranking/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,32 @@ use rocket::local::Client;
async fn test(uri: String, expected: String) {
let rocket = rocket::ignite().mount("/", routes![super::hello, super::hi]);
let client = Client::new(rocket).unwrap();
let mut response = client.get(&uri).dispatch().await;
let mut response = client.get(uri).dispatch().await;
assert_eq!(response.body_string().await, Some(expected));
}

#[rocket::async_test]
async fn test_hello() {
for &(name, age) in &[("Mike", 22), ("Michael", 80), ("A", 0), ("a", 127)] {
test(format!("/hello/{}/{}", name, age),
format!("Hello, {} year old named {}!", age, name)).await;
let uri = format!("/hello/{}/{}", name, age);
let expected = format!("Hello, {} year old named {}!", age, name);
test(uri, expected).await;
}
}

#[rocket::async_test]
async fn test_failing_hello_hi() {
// Invalid integers.
for &(name, age) in &[("Mike", 1000), ("Michael", 128), ("A", -800), ("a", -200)] {
test(format!("/hello/{}/{}", name, age),
format!("Hi {}! Your age ({}) is kind of funky.", name, age)).await;
let uri = format!("/hello/{}/{}", name, age);
let expected = format!("Hi {}! Your age ({}) is kind of funky.", name, age);
test(uri, expected).await;
}

// Non-integers.
for &(name, age) in &[("Mike", "!"), ("Michael", "hi"), ("A", "blah"), ("a", "0-1")] {
test(format!("/hello/{}/{}", name, age),
format!("Hi {}! Your age ({}) is kind of funky.", name, age)).await;
let uri = format!("/hello/{}/{}", name, age);
let expected = format!("Hi {}! Your age ({}) is kind of funky.", name, age);
test(uri, expected).await;
}
}
6 changes: 3 additions & 3 deletions examples/session/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ fn user_id_cookie(response: &Response<'_>) -> Option<Cookie<'static>> {
}

async fn login(client: &Client, user: &str, pass: &str) -> Option<Cookie<'static>> {
let response = client.post("/login")
let request = client.post("/login")
.header(ContentType::Form)
.body(format!("username={}&password={}", user, pass))
.dispatch().await;
.body(format!("username={}&password={}", user, pass));
let response = request.dispatch().await;

user_id_cookie(&response)
}
Expand Down
15 changes: 9 additions & 6 deletions examples/todo/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ fn test_insertion_deletion() {

// Issue a request to delete the task.
let id = new_tasks[0].id.unwrap();
client.delete(format!("/todo/{}", id)).dispatch().await;
let request = client.delete(format!("/todo/{}", id));
request.dispatch().await;

// Ensure it's gone.
let final_tasks = Task::all(&conn);
Expand All @@ -73,11 +74,13 @@ fn test_toggle() {
assert_eq!(task.completed, false);

// Issue a request to toggle the task; ensure it is completed.
client.put(format!("/todo/{}", task.id.unwrap())).dispatch().await;
let request = client.put(format!("/todo/{}", task.id.unwrap()));
request.dispatch().await;
assert_eq!(Task::all(&conn)[0].completed, true);

// Issue a request to toggle the task; ensure it's not completed again.
client.put(format!("/todo/{}", task.id.unwrap())).dispatch().await;
let request = client.put(format!("/todo/{}", task.id.unwrap()));
request.dispatch().await;
assert_eq!(Task::all(&conn)[0].completed, false);
})
}
Expand All @@ -94,10 +97,10 @@ fn test_many_insertions() {
for i in 0..ITER {
// Issue a request to insert a new task with a random description.
let desc: String = thread_rng().sample_iter(&Alphanumeric).take(12).collect();
client.post("/todo")
let request = client.post("/todo")
.header(ContentType::Form)
.body(format!("description={}", desc))
.dispatch().await;
.body(format!("description={}", desc));
request.dispatch().await;

// Record the description we choose for this iteration.
descs.insert(0, desc);
Expand Down

0 comments on commit 270c85b

Please sign in to comment.