From 0930ef45bbc580d26d28a68c598d98f5b59315b2 Mon Sep 17 00:00:00 2001 From: Antoine Gersant Date: Thu, 3 Dec 2020 23:00:16 -0800 Subject: [PATCH] test_swagger_can_get_index_with_trailing_slash --- src/service/test/collection.rs | 10 ++-------- src/service/test/mod.rs | 6 ++++++ src/service/test/protocol.rs | 2 +- src/service/test/swagger.rs | 14 ++++++++++++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/src/service/test/collection.rs b/src/service/test/collection.rs index f746fe9..610d2e9 100644 --- a/src/service/test/collection.rs +++ b/src/service/test/collection.rs @@ -1,16 +1,10 @@ -use http::{Request, StatusCode}; +use http::StatusCode; use std::path::{Path, PathBuf}; use crate::index; -use crate::service::test::{constants::*, ServiceType, TestService}; +use crate::service::test::{add_trailing_slash, constants::*, ServiceType, TestService}; use crate::test_name; -fn add_trailing_slash(request: &mut Request) { - *request.uri_mut() = (request.uri().to_string().trim_end_matches("/").to_string() + "/") - .parse() - .unwrap(); -} - #[test] fn test_browse_requires_auth() { let mut service = ServiceType::new(&test_name!()); diff --git a/src/service/test/mod.rs b/src/service/test/mod.rs index 7306be0..61dfed7 100644 --- a/src/service/test/mod.rs +++ b/src/service/test/mod.rs @@ -110,3 +110,9 @@ pub trait TestService { } } } + +fn add_trailing_slash(request: &mut Request) { + *request.uri_mut() = (request.uri().to_string().trim_end_matches("/").to_string() + "/") + .parse() + .unwrap(); +} diff --git a/src/service/test/protocol.rs b/src/service/test/protocol.rs index edd2ee4..7d89457 100644 --- a/src/service/test/protocol.rs +++ b/src/service/test/protocol.rs @@ -23,7 +23,7 @@ impl RequestBuilder { pub fn swagger_index(&self) -> Request<()> { Request::builder() .method(Method::GET) - .uri("/swagger/") + .uri("/swagger") .body(()) .unwrap() } diff --git a/src/service/test/swagger.rs b/src/service/test/swagger.rs index 0bb94c6..e10ed13 100644 --- a/src/service/test/swagger.rs +++ b/src/service/test/swagger.rs @@ -1,12 +1,22 @@ use http::StatusCode; -use crate::service::test::{ServiceType, TestService}; +use crate::service::test::{add_trailing_slash, ServiceType, TestService}; use crate::test_name; #[test] fn test_swagger_can_get_index() { let mut service = ServiceType::new(&test_name!()); let request = service.request_builder().swagger_index(); - let response = service.fetch_bytes(&request); + let response = service.fetch(&request); + let status = response.status(); + assert!(status == StatusCode::OK || status == StatusCode::PERMANENT_REDIRECT); +} + +#[test] +fn test_swagger_can_get_index_with_trailing_slash() { + let mut service = ServiceType::new(&test_name!()); + let mut request = service.request_builder().swagger_index(); + add_trailing_slash(&mut request); + let response = service.fetch(&request); assert_eq!(response.status(), StatusCode::OK); }