Skip to content

Commit b45bf6b

Browse files
committed
remove http-service for tests
1 parent ee5f05e commit b45bf6b

File tree

5 files changed

+97
-126
lines changed

5 files changed

+97
-126
lines changed

src/security/cors.rs

Lines changed: 26 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,6 @@ impl From<Vec<&str>> for Origin {
243243
#[cfg(test)]
244244
mod test {
245245
use super::*;
246-
use http_service_mock::make_server;
247246
use http_types::headers::{self, HeaderValue};
248247

249248
const ALLOW_ORIGIN: &str = "example.com";
@@ -272,8 +271,8 @@ mod test {
272271
req
273272
}
274273

275-
#[test]
276-
fn preflight_request() {
274+
#[async_std::test]
275+
async fn preflight_request() {
277276
let mut app = app();
278277
app.middleware(
279278
CorsMiddleware::new()
@@ -283,13 +282,11 @@ mod test {
283282
.allow_credentials(true),
284283
);
285284

286-
let mut server = make_server(app).unwrap();
287-
288285
let mut req = http_types::Request::new(http_types::Method::Options, endpoint_url());
289286
req.insert_header(http_types::headers::ORIGIN, ALLOW_ORIGIN)
290287
.unwrap();
291288

292-
let res = server.simulate(req).unwrap();
289+
let res: crate::http::Response = app.respond(req).await.unwrap();
293290

294291
assert_eq!(res.status(), 200);
295292

@@ -317,13 +314,11 @@ mod test {
317314
"true"
318315
);
319316
}
320-
#[test]
321-
fn default_cors_middleware() {
317+
#[async_std::test]
318+
async fn default_cors_middleware() {
322319
let mut app = app();
323320
app.middleware(CorsMiddleware::new());
324-
325-
let mut server = make_server(app).unwrap();
326-
let res = server.simulate(request()).unwrap();
321+
let res: crate::http::Response = app.respond(request()).await.unwrap();
327322

328323
assert_eq!(res.status(), 200);
329324

@@ -333,8 +328,8 @@ mod test {
333328
);
334329
}
335330

336-
#[test]
337-
fn custom_cors_middleware() {
331+
#[async_std::test]
332+
async fn custom_cors_middleware() {
338333
let mut app = app();
339334
app.middleware(
340335
CorsMiddleware::new()
@@ -343,9 +338,7 @@ mod test {
343338
.allow_methods(ALLOW_METHODS.parse::<HeaderValue>().unwrap())
344339
.expose_headers(EXPOSE_HEADER.parse::<HeaderValue>().unwrap()),
345340
);
346-
347-
let mut server = make_server(app).unwrap();
348-
let res = server.simulate(request()).unwrap();
341+
let res: crate::http::Response = app.respond(request()).await.unwrap();
349342

350343
assert_eq!(res.status(), 200);
351344
assert_eq!(
@@ -354,13 +347,11 @@ mod test {
354347
);
355348
}
356349

357-
#[test]
358-
fn credentials_true() {
350+
#[async_std::test]
351+
async fn credentials_true() {
359352
let mut app = app();
360353
app.middleware(CorsMiddleware::new().allow_credentials(true));
361-
362-
let mut server = make_server(app).unwrap();
363-
let res = server.simulate(request()).unwrap();
354+
let res: crate::http::Response = app.respond(request()).await.unwrap();
364355

365356
assert_eq!(res.status(), 200);
366357
assert_eq!(
@@ -371,20 +362,18 @@ mod test {
371362
);
372363
}
373364

374-
#[test]
375-
fn set_allow_origin_list() {
365+
#[async_std::test]
366+
async fn set_allow_origin_list() {
376367
let mut app = app();
377368
let origins = vec![ALLOW_ORIGIN, "foo.com", "bar.com"];
378369
app.middleware(CorsMiddleware::new().allow_origin(origins.clone()));
379-
let mut server = make_server(app).unwrap();
380370

381371
for origin in origins {
382-
let mut request = http_types::Request::new(http_types::Method::Get, endpoint_url());
383-
request
384-
.insert_header(http_types::headers::ORIGIN, origin)
372+
let mut req = http_types::Request::new(http_types::Method::Get, endpoint_url());
373+
req.insert_header(http_types::headers::ORIGIN, origin)
385374
.unwrap();
386375

387-
let res = server.simulate(request).unwrap();
376+
let res: crate::http::Response = app.respond(req).await.unwrap();
388377

389378
assert_eq!(res.status(), 200);
390379
assert_eq!(
@@ -394,31 +383,26 @@ mod test {
394383
}
395384
}
396385

397-
#[test]
398-
fn not_set_origin_header() {
386+
#[async_std::test]
387+
async fn not_set_origin_header() {
399388
let mut app = app();
400389
app.middleware(CorsMiddleware::new().allow_origin(ALLOW_ORIGIN));
401390

402-
let request = http_types::Request::new(http_types::Method::Get, endpoint_url());
403-
404-
let mut server = make_server(app).unwrap();
405-
let res = server.simulate(request).unwrap();
391+
let req = crate::http::Request::new(http_types::Method::Get, endpoint_url());
392+
let res: crate::http::Response = app.respond(req).await.unwrap();
406393

407394
assert_eq!(res.status(), 200);
408395
}
409396

410-
#[test]
411-
fn unauthorized_origin() {
397+
#[async_std::test]
398+
async fn unauthorized_origin() {
412399
let mut app = app();
413400
app.middleware(CorsMiddleware::new().allow_origin(ALLOW_ORIGIN));
414401

415-
let mut request = http_types::Request::new(http_types::Method::Get, endpoint_url());
416-
request
417-
.insert_header(http_types::headers::ORIGIN, "unauthorize-origin.net")
402+
let mut req = http_types::Request::new(http_types::Method::Get, endpoint_url());
403+
req.insert_header(http_types::headers::ORIGIN, "unauthorize-origin.net")
418404
.unwrap();
419-
420-
let mut server = make_server(app).unwrap();
421-
let res = server.simulate(request).unwrap();
405+
let res: crate::http::Response = app.respond(req).await.unwrap();
422406

423407
assert_eq!(res.status(), 401);
424408
}

tests/cookies.rs

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use cookie::Cookie;
22
use futures::executor::block_on;
33
use futures::AsyncReadExt;
4-
use http_service_mock::make_server;
54

65
use tide::{Request, Response, Server, StatusCode};
76

@@ -44,9 +43,8 @@ fn app() -> crate::Server<()> {
4443
app
4544
}
4645

47-
fn make_request(endpoint: &str) -> http_types::Response {
46+
async fn make_request(endpoint: &str) -> http_types::Response {
4847
let app = app();
49-
let mut server = make_server(app).unwrap();
5048
let mut req = http_types::Request::new(
5149
http_types::Method::Get,
5250
format!("http://example.com{}", endpoint).parse().unwrap(),
@@ -57,12 +55,13 @@ fn make_request(endpoint: &str) -> http_types::Response {
5755
)
5856
.unwrap();
5957

60-
server.simulate(req).unwrap()
58+
let res: tide::http::Response = app.respond(req).await.unwrap();
59+
res
6160
}
6261

63-
#[test]
64-
fn successfully_retrieve_request_cookie() {
65-
let mut res = make_request("/get");
62+
#[async_std::test]
63+
async fn successfully_retrieve_request_cookie() {
64+
let mut res = make_request("/get").await;
6665
assert_eq!(res.status(), StatusCode::Ok);
6766

6867
let body = block_on(async move {
@@ -74,17 +73,17 @@ fn successfully_retrieve_request_cookie() {
7473
assert_eq!(&body, "RequestCookieValue and also Other;Cookie Value");
7574
}
7675

77-
#[test]
78-
fn successfully_set_cookie() {
79-
let res = make_request("/set");
76+
#[async_std::test]
77+
async fn successfully_set_cookie() {
78+
let res = make_request("/set").await;
8079
assert_eq!(res.status(), StatusCode::Ok);
8180
let test_cookie_header = res.header(&http_types::headers::SET_COOKIE).unwrap()[0].as_str();
8281
assert_eq!(test_cookie_header, "testCookie=NewCookieValue");
8382
}
8483

85-
#[test]
86-
fn successfully_remove_cookie() {
87-
let res = make_request("/remove");
84+
#[async_std::test]
85+
async fn successfully_remove_cookie() {
86+
let res = make_request("/remove").await;
8887
assert_eq!(res.status(), StatusCode::Ok);
8988
let test_cookie_header = res.header(&http_types::headers::SET_COOKIE).unwrap()[0].as_str();
9089
assert!(test_cookie_header.starts_with("testCookie=;"));
@@ -95,9 +94,9 @@ fn successfully_remove_cookie() {
9594
assert_eq!(cookie.max_age().unwrap().num_nanoseconds(), Some(0));
9695
}
9796

98-
#[test]
99-
fn successfully_set_multiple_cookies() {
100-
let res = make_request("/multi");
97+
#[async_std::test]
98+
async fn successfully_set_multiple_cookies() {
99+
let res = make_request("/multi").await;
101100
assert_eq!(res.status(), StatusCode::Ok);
102101
let cookie_header = res.header(&http_types::headers::SET_COOKIE);
103102
let cookies = cookie_header.unwrap().iter().collect::<Vec<_>>();

tests/nested.rs

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use futures::future::BoxFuture;
2-
use http_service_mock::make_server;
3-
use http_types::headers::{HeaderName, HeaderValue};
4-
use http_types::{Method, Request, Url};
52
use std::str::FromStr;
3+
use tide::http::headers::{HeaderName, HeaderValue};
4+
use tide::http::{Method, Request, Response, Url};
65
use tide::{Middleware, Next};
76

87
#[async_std::test]
@@ -15,21 +14,19 @@ async fn nested() {
1514
// Nest the inner app on /foo
1615
outer.at("/foo").nest(inner);
1716

18-
let mut server = make_server(outer).unwrap();
19-
2017
let req = Request::new(
2118
Method::Get,
2219
Url::parse("http://example.com/foo/foo").unwrap(),
2320
);
24-
let res = server.simulate(req).unwrap();
21+
let res: Response = outer.respond(req).await.unwrap();
2522
assert_eq!(res.status(), 200);
2623
assert_eq!(res.body_string().await.unwrap(), "foo");
2724

2825
let req = Request::new(
2926
Method::Get,
3027
Url::parse("http://example.com/foo/bar").unwrap(),
3128
);
32-
let res = server.simulate(req).unwrap();
29+
let res: Response = outer.respond(req).await.unwrap();
3330
assert_eq!(res.status(), 200);
3431
assert_eq!(res.body_string().await.unwrap(), "bar");
3532
}
@@ -74,13 +71,11 @@ async fn nested_middleware() {
7471

7572
app.at("/bar").get(echo_path);
7673

77-
let mut server = make_server(app).unwrap();
78-
7974
let req = Request::new(
8075
Method::Get,
8176
Url::parse("http://example.com/foo/echo").unwrap(),
8277
);
83-
let res = server.simulate(req).unwrap();
78+
let res: Response = app.respond(req).await.unwrap();
8479
assert_header(&res, "X-Tide-Test", Some("1"));
8580
assert_eq!(res.status(), 200);
8681
assert_eq!(res.body_string().await.unwrap(), "/echo");
@@ -89,13 +84,13 @@ async fn nested_middleware() {
8984
Method::Get,
9085
Url::parse("http://example.com/foo/x/bar").unwrap(),
9186
);
92-
let res = server.simulate(req).unwrap();
87+
let res: Response = app.respond(req).await.unwrap();
9388
assert_header(&res, "X-Tide-Test", Some("1"));
9489
assert_eq!(res.status(), 200);
9590
assert_eq!(res.body_string().await.unwrap(), "/");
9691

9792
let req = Request::new(Method::Get, Url::parse("http://example.com/bar").unwrap());
98-
let res = server.simulate(req).unwrap();
93+
let res: Response = app.respond(req).await.unwrap();
9994
assert_header(&res, "X-Tide-Test", None);
10095
assert_eq!(res.status(), 200);
10196
assert_eq!(res.body_string().await.unwrap(), "/bar");
@@ -112,15 +107,13 @@ async fn nested_with_different_state() {
112107
outer.at("/").get(|_| async move { Ok("Hello, world!") });
113108
outer.at("/foo").nest(inner);
114109

115-
let mut server = make_server(outer).unwrap();
116-
117110
let req = Request::new(Method::Get, Url::parse("http://example.com/foo").unwrap());
118-
let res = server.simulate(req).unwrap();
111+
let res: Response = outer.respond(req).await.unwrap();
119112
assert_eq!(res.status(), 200);
120113
assert_eq!(res.body_string().await.unwrap(), "the number is 42");
121114

122115
let req = Request::new(Method::Get, Url::parse("http://example.com/").unwrap());
123-
let res = server.simulate(req).unwrap();
116+
let res: Response = outer.respond(req).await.unwrap();
124117
assert_eq!(res.status(), 200);
125118
assert_eq!(res.body_string().await.unwrap(), "Hello, world!");
126119
}

0 commit comments

Comments
 (0)