summaryrefslogtreecommitdiff
path: root/tests/test_actix.rs
diff options
context:
space:
mode:
authorSam Scott <sam.scott89@gmail.com>2020-06-03 10:26:45 -0400
committerGitHub <noreply@github.com>2020-06-03 10:26:45 -0400
commit77cb6730f9265591dad141f4f9b840069c9cd2b9 (patch)
tree6c4cd170f74d0c789e1059a91514d04dc06decba /tests/test_actix.rs
parentd5c2d3e44a5cbe2311111fb56bfe6bed8fabd961 (diff)
Support actix-web v2 (#30)
* update dependencies - actix-web v2 - percent encoding v2.1 - rust 2018 edition - remove rustfmt no longer supported rules * ci: add feature build matrix * fix actix unit tests Co-authored-by: Mario Reder <mreder1289@gmail.com>
Diffstat (limited to 'tests/test_actix.rs')
-rw-r--r--tests/test_actix.rs143
1 files changed, 79 insertions, 64 deletions
diff --git a/tests/test_actix.rs b/tests/test_actix.rs
index 532fa7c..34969d4 100644
--- a/tests/test_actix.rs
+++ b/tests/test_actix.rs
@@ -44,84 +44,99 @@ struct CommonParams {
#[test]
fn test_default_error_handler() {
- let req = TestRequest::with_uri("/test").to_srv_request();
- let (req, mut pl) = req.into_parts();
-
- let e = QsQuery::<Query>::from_request(&req, &mut pl).unwrap_err();
- assert_eq!(
- e.as_response_error().error_response().status(),
- StatusCode::BAD_REQUEST
- );
+ futures::executor::block_on(async {
+ let req = TestRequest::with_uri("/test").to_srv_request();
+ let (req, mut pl) = req.into_parts();
+
+ let e = QsQuery::<Query>::from_request(&req, &mut pl)
+ .await
+ .unwrap_err();
+ assert_eq!(
+ e.as_response_error().error_response().status(),
+ StatusCode::BAD_REQUEST
+ );
+ })
}
#[test]
fn test_custom_error_handler() {
- let req = TestRequest::with_uri("/test")
- .data(QsQueryConfig::default().error_handler(|e, _| {
- let resp = HttpResponse::UnprocessableEntity().finish();
- InternalError::from_response(e, resp).into()
- }))
- .to_srv_request();
-
- let (req, mut pl) = req.into_parts();
- let query = QsQuery::<Query>::from_request(&req, &mut pl);
-
- assert!(query.is_err());
- assert_eq!(
- query
- .unwrap_err()
- .as_response_error()
- .error_response()
- .status(),
- StatusCode::UNPROCESSABLE_ENTITY
- );
+ futures::executor::block_on(async {
+ let req = TestRequest::with_uri("/test")
+ .app_data(QsQueryConfig::default().error_handler(|e, _| {
+ let resp = HttpResponse::UnprocessableEntity().finish();
+ dbg!(&resp);
+ InternalError::from_response(e, resp).into()
+ }))
+ .to_srv_request();
+
+ let (req, mut pl) = req.into_parts();
+ let query = QsQuery::<Query>::from_request(&req, &mut pl).await;
+
+ assert!(query.is_err());
+ assert_eq!(
+ query
+ .unwrap_err()
+ .as_response_error()
+ .error_response()
+ .status(),
+ StatusCode::UNPROCESSABLE_ENTITY
+ );
+ })
}
#[test]
fn test_composite_querystring_extractor() {
- let req = TestRequest::with_uri(
- "/test?foo=1&bars[]=0&bars[]=1&limit=100&offset=50&remaining=true",
- )
- .to_srv_request();
- let (req, mut pl) = req.into_parts();
-
- let s = QsQuery::<Query>::from_request(&req, &mut pl).unwrap();
- assert_eq!(s.foo, 1);
- assert_eq!(s.bars, vec![0, 1]);
- assert_eq!(s.common.limit, 100);
- assert_eq!(s.common.offset, 50);
- assert_eq!(s.common.remaining, true);
+ futures::executor::block_on(async {
+ let req = TestRequest::with_uri(
+ "/test?foo=1&bars[]=0&bars[]=1&limit=100&offset=50&remaining=true",
+ )
+ .to_srv_request();
+ let (req, mut pl) = req.into_parts();
+
+ let s = QsQuery::<Query>::from_request(&req, &mut pl).await.unwrap();
+ assert_eq!(s.foo, 1);
+ assert_eq!(s.bars, vec![0, 1]);
+ assert_eq!(s.common.limit, 100);
+ assert_eq!(s.common.offset, 50);
+ assert_eq!(s.common.remaining, true);
+ })
}
#[test]
fn test_default_qs_config() {
- let req = TestRequest::with_uri(
- "/test?foo=1&bars%5B%5D=3&limit=100&offset=50&remaining=true",
- )
- .to_srv_request();
- let (req, mut pl) = req.into_parts();
-
- let e = QsQuery::<Query>::from_request(&req, &mut pl).unwrap_err();
- assert_eq!(
- e.as_response_error().error_response().status(),
- StatusCode::BAD_REQUEST
- );
+ futures::executor::block_on(async {
+ let req = TestRequest::with_uri(
+ "/test?foo=1&bars%5B%5D=3&limit=100&offset=50&remaining=true",
+ )
+ .to_srv_request();
+ let (req, mut pl) = req.into_parts();
+
+ let e = QsQuery::<Query>::from_request(&req, &mut pl)
+ .await
+ .unwrap_err();
+ assert_eq!(
+ e.as_response_error().error_response().status(),
+ StatusCode::BAD_REQUEST
+ );
+ })
}
#[test]
fn test_custom_qs_config() {
- let req = TestRequest::with_uri(
- "/test?foo=1&bars%5B%5D=3&limit=100&offset=50&remaining=true",
- )
- .data(QsQueryConfig::default().qs_config(QsConfig::new(5, false)))
- .to_srv_request();
-
- let (req, mut pl) = req.into_parts();
-
- let s = QsQuery::<Query>::from_request(&req, &mut pl).unwrap();
- assert_eq!(s.foo, 1);
- assert_eq!(s.bars, vec![3]);
- assert_eq!(s.common.limit, 100);
- assert_eq!(s.common.offset, 50);
- assert_eq!(s.common.remaining, true);
+ futures::executor::block_on(async {
+ let req = TestRequest::with_uri(
+ "/test?foo=1&bars%5B%5D=3&limit=100&offset=50&remaining=true",
+ )
+ .app_data(QsQueryConfig::default().qs_config(QsConfig::new(5, false)))
+ .to_srv_request();
+
+ let (req, mut pl) = req.into_parts();
+
+ let s = QsQuery::<Query>::from_request(&req, &mut pl).await.unwrap();
+ assert_eq!(s.foo, 1);
+ assert_eq!(s.bars, vec![3]);
+ assert_eq!(s.common.limit, 100);
+ assert_eq!(s.common.offset, 50);
+ assert_eq!(s.common.remaining, true);
+ })
}