Skip to content

Commit efeff82

Browse files
committed
change: replaced async_std::test with tokio::test
1 parent c41d874 commit efeff82

9 files changed

+243
-237
lines changed

atcoder-problems-backend/tests/test_server_e2e_ac_ranking.rs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
// use async_std::future::ready;
2-
// use async_std::prelude::*;
3-
// use async_std::task;
4-
use tokio::task;
51
use async_trait::async_trait;
62
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
73
use rand::Rng;
84
use serde_json::{json, Value};
95
use sql_client::PgPool;
106
use tide::Result;
7+
use tokio::task;
118

129
pub mod utils;
1310

@@ -157,11 +154,11 @@ async fn test_ac_ranking() {
157154
.unwrap();
158155
assert_eq!(response.status(), 404);
159156

160-
// server.race(ready(())).await;
161-
// server.await.unwrap();
162-
let ready = tokio::time::sleep(std::time::Duration::from_millis(1000));
163-
tokio::select!{
164-
_s = server => (),
165-
_r = ready => (),
166-
}
157+
// let ready = tokio::time::sleep(std::time::Duration::from_millis(1000));
158+
// tokio::select!{
159+
// _s = server => (),
160+
// _r = ready => (),
161+
// }
162+
server.abort();
163+
server.await.unwrap_err();
167164
}

atcoder-problems-backend/tests/test_server_e2e_language_count.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
use async_std::future::ready;
2-
use async_std::prelude::*;
3-
use async_std::task;
41
use async_trait::async_trait;
52
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
63
use rand::Rng;
74
use serde_json::{json, Value};
85
use sql_client::PgPool;
96
use tide::Result;
7+
use tokio::task;
108

119
pub mod utils;
1210

@@ -59,7 +57,7 @@ async fn setup() -> (u16, PgPool) {
5957
(rng.gen::<u16>() % 30000 + 30000, conn)
6058
}
6159

62-
#[async_std::test]
60+
#[tokio::test]
6361
async fn test_language_count() {
6462
let (port, conn) = setup().await;
6563
let server = task::spawn(async move {
@@ -68,7 +66,7 @@ async fn test_language_count() {
6866
.unwrap();
6967
run_server(pg_pool, MockAuth, port).await.unwrap();
7068
});
71-
task::sleep(std::time::Duration::from_millis(1000)).await;
69+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
7270

7371
insert_data_set1(&conn).await;
7472
let response = reqwest::get(url("/atcoder-api/v3/language_list", port))
@@ -88,5 +86,6 @@ async fn test_language_count() {
8886
.unwrap();
8987
assert_eq!(response, json!(["lang1", "lang2", "lang3", "lang4"]));
9088

91-
server.race(ready(())).await;
89+
server.abort();
90+
server.await.unwrap_err();
9291
}

atcoder-problems-backend/tests/test_server_e2e_language_ranking.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
use async_std::future::ready;
2-
use async_std::prelude::*;
3-
use async_std::task;
41
use async_trait::async_trait;
52
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
63
use rand::Rng;
74
use serde_json::{json, Value};
85
use sql_client::PgPool;
96
use tide::Result;
7+
use tokio::task;
108

119
pub mod utils;
1210

@@ -50,7 +48,7 @@ async fn setup() -> u16 {
5048
rng.gen::<u16>() % 30000 + 30000
5149
}
5250

53-
#[async_std::test]
51+
#[tokio::test]
5452
async fn test_language_ranking() {
5553
let port = setup().await;
5654
let server = task::spawn(async move {
@@ -59,7 +57,7 @@ async fn test_language_ranking() {
5957
.unwrap();
6058
run_server(pg_pool, MockAuth, port).await.unwrap();
6159
});
62-
task::sleep(std::time::Duration::from_millis(1000)).await;
60+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
6361

6462
let response = reqwest::get(url(
6563
"/atcoder-api/v3/language_ranking?from=1&to=3&language=lang2",
@@ -230,5 +228,6 @@ async fn test_language_ranking() {
230228
.unwrap();
231229
assert_eq!(response.status(), 400);
232230

233-
server.race(ready(())).await;
231+
server.abort();
232+
server.await.unwrap_err();
234233
}

atcoder-problems-backend/tests/test_server_e2e_problem_list.rs

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
1-
use atcoder_problems_backend::server::{run_server, Authentication};
2-
3-
use async_std::future::ready;
4-
use async_std::prelude::*;
5-
use async_std::task;
61
use async_trait::async_trait;
7-
use atcoder_problems_backend::server::GitHubUserResponse;
2+
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
83
use rand::Rng;
4+
use reqwest::header::SET_COOKIE;
95
use serde_json::{json, Value};
106
use tide::Result;
7+
use tokio::task;
118

129
pub mod utils;
1310

@@ -43,7 +40,7 @@ async fn setup() -> u16 {
4340
rng.gen::<u16>() % 30000 + 30000
4441
}
4542

46-
#[async_std::test]
43+
#[tokio::test]
4744
async fn test_list() {
4845
let port = setup().await;
4946
let server = task::spawn(async move {
@@ -52,7 +49,7 @@ async fn test_list() {
5249
.unwrap();
5350
run_server(pg_pool, MockAuth, port).await.unwrap();
5451
});
55-
task::sleep(std::time::Duration::from_millis(1000)).await;
52+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
5653

5754
let response = reqwest::get(url(
5855
&format!("/internal-api/authorize?code={}", VALID_CODE),
@@ -62,7 +59,7 @@ async fn test_list() {
6259
.unwrap();
6360
// https://docs.rs/reqwest/latest/reqwest/struct.Response.html#method.cookies
6461
// これを使ったほうがいいかもしれない
65-
let cookie = response.headers().get("set-cookie").unwrap();
62+
let cookie = response.headers().get(SET_COOKIE).unwrap();
6663
let token = cookie
6764
.to_str()
6865
.unwrap()
@@ -189,9 +186,11 @@ async fn test_list() {
189186
.await
190187
.unwrap();
191188
assert_eq!(&response, "[]");
192-
server.race(ready(())).await;
189+
190+
server.abort();
191+
server.await.unwrap_err();
193192
}
194-
#[async_std::test]
193+
#[tokio::test]
195194
async fn test_invalid_token() {
196195
let port = setup().await;
197196
let server = task::spawn(async move {
@@ -200,7 +199,7 @@ async fn test_invalid_token() {
200199
.unwrap();
201200
run_server(pg_pool, MockAuth, port).await.unwrap();
202201
});
203-
task::sleep(std::time::Duration::from_millis(1000)).await;
202+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
204203

205204
let response = reqwest::Client::new()
206205
.get(url("/internal-api/list/my", port))
@@ -218,10 +217,11 @@ async fn test_invalid_token() {
218217
.unwrap();
219218
assert!(!response.status().is_success());
220219

221-
server.race(ready(())).await;
220+
server.abort();
221+
server.await.unwrap_err();
222222
}
223223

224-
#[async_std::test]
224+
#[tokio::test]
225225
async fn test_list_item() {
226226
let port = setup().await;
227227
let server = task::spawn(async move {
@@ -230,7 +230,7 @@ async fn test_list_item() {
230230
.unwrap();
231231
run_server(pg_pool, MockAuth, port).await.unwrap();
232232
});
233-
task::sleep(std::time::Duration::from_millis(1000)).await;
233+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
234234

235235
reqwest::get(url(
236236
&format!("/internal-api/authorize?code={}", VALID_CODE),
@@ -350,10 +350,11 @@ async fn test_list_item() {
350350
])
351351
);
352352

353-
server.race(ready(())).await;
353+
server.abort();
354+
server.await.unwrap_err();
354355
}
355356

356-
#[async_std::test]
357+
#[tokio::test]
357358
async fn test_list_delete() {
358359
let port = setup().await;
359360
let server = task::spawn(async move {
@@ -362,7 +363,7 @@ async fn test_list_delete() {
362363
.unwrap();
363364
run_server(pg_pool, MockAuth, port).await.unwrap();
364365
});
365-
task::sleep(std::time::Duration::from_millis(1000)).await;
366+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
366367

367368
reqwest::get(url(
368369
&format!("/internal-api/authorize?code={}", VALID_CODE),
@@ -423,10 +424,11 @@ async fn test_list_delete() {
423424
.unwrap();
424425
assert!(list.as_array().unwrap().is_empty());
425426

426-
server.race(ready(())).await;
427+
server.abort();
428+
server.await.unwrap_err();
427429
}
428430

429-
#[async_std::test]
431+
#[tokio::test]
430432
async fn test_register_twice() {
431433
let port = setup().await;
432434
let server = task::spawn(async move {
@@ -435,7 +437,7 @@ async fn test_register_twice() {
435437
.unwrap();
436438
run_server(pg_pool, MockAuth, port).await.unwrap();
437439
});
438-
task::sleep(std::time::Duration::from_millis(1000)).await;
440+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
439441

440442
let response = reqwest::get(url(
441443
&format!("/internal-api/authorize?code={}", VALID_CODE),
@@ -451,6 +453,9 @@ async fn test_register_twice() {
451453
))
452454
.await
453455
.unwrap();
456+
println!("{:?}", &response);
454457
assert_eq!(response.status(), 302);
455-
server.race(ready(())).await;
458+
459+
server.abort();
460+
server.await.unwrap_err();
456461
}

atcoder-problems-backend/tests/test_server_e2e_progress_reset.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
use async_std::prelude::*;
2-
use async_std::task;
31
use async_trait::async_trait;
42
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
53
use rand::Rng;
64
use serde_json::{json, Value};
75
use std::time::Duration;
86
use tide::Result;
7+
use tokio::task;
98

109
pub mod utils;
1110

@@ -32,16 +31,16 @@ fn url(path: &str, port: u16) -> String {
3231
format!("http://localhost:{}{}", port, path)
3332
}
3433

35-
#[async_std::test]
34+
#[tokio::test]
3635
async fn test_progress_reset() {
3736
let port = setup().await;
38-
let server = async_std::task::spawn(async move {
37+
let server = task::spawn(async move {
3938
let pg_pool = sql_client::initialize_pool(utils::get_sql_url_from_env())
4039
.await
4140
.unwrap();
4241
run_server(pg_pool, MockAuth, port).await.unwrap();
4342
});
44-
task::sleep(Duration::from_millis(1000)).await;
43+
tokio::time::sleep(Duration::from_millis(1000)).await;
4544

4645
let response = reqwest::get(url("/internal-api/authorize?code=a", port))
4746
.await
@@ -153,5 +152,6 @@ async fn test_progress_reset() {
153152
})
154153
);
155154

156-
server.race(async_std::future::ready(())).await;
155+
server.abort();
156+
server.await.unwrap_err();
157157
}

atcoder-problems-backend/tests/test_server_e2e_rated_point_sum_ranking.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
use async_std::future::ready;
2-
use async_std::prelude::*;
3-
use async_std::task;
41
use async_trait::async_trait;
52
use atcoder_problems_backend::server::{run_server, Authentication, GitHubUserResponse};
63
use rand::Rng;
74
use serde_json::{json, Value};
85
use sql_client::PgPool;
96
use tide::Result;
7+
use tokio::task;
108
mod utils;
9+
1110
#[derive(Clone)]
1211
struct MockAuth;
1312
#[async_trait]
@@ -40,7 +39,7 @@ async fn setup() -> u16 {
4039
rng.gen::<u16>() % 3000 + 3000
4140
}
4241

43-
#[async_std::test]
42+
#[tokio::test]
4443
async fn test_rated_point_sum_ranking() {
4544
let port = setup().await;
4645
let server = task::spawn(async move {
@@ -49,7 +48,7 @@ async fn test_rated_point_sum_ranking() {
4948
.unwrap();
5049
run_server(pg_pool, MockAuth, port).await.unwrap();
5150
});
52-
task::sleep(std::time::Duration::from_millis(1000)).await;
51+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
5352
let response = reqwest::get(url(
5453
"/atcoder-api/v3/rated_point_sum_ranking?from=0&to=3",
5554
port,
@@ -138,10 +137,11 @@ async fn test_rated_point_sum_ranking() {
138137
.unwrap();
139138
assert_eq!(response.status(), 400);
140139

141-
server.race(ready(())).await;
140+
server.abort();
141+
server.await.unwrap_err();
142142
}
143143

144-
#[async_std::test]
144+
#[tokio::test]
145145
async fn test_users_rated_point_sum_ranking() {
146146
let port = setup().await;
147147
let server = task::spawn(async move {
@@ -150,7 +150,7 @@ async fn test_users_rated_point_sum_ranking() {
150150
.unwrap();
151151
run_server(pg_pool, MockAuth, port).await.unwrap();
152152
});
153-
task::sleep(std::time::Duration::from_millis(1000)).await;
153+
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
154154

155155
let response = reqwest::get(url(
156156
"/atcoder-api/v3/user/rated_point_sum_rank?user=u2",
@@ -269,5 +269,6 @@ async fn test_users_rated_point_sum_ranking() {
269269

270270
assert_eq!(response.status(), 404);
271271

272-
server.race(ready(())).await;
272+
server.abort();
273+
server.await.unwrap_err();
273274
}

0 commit comments

Comments
 (0)