test_swagger_can_get_index_with_trailing_slash

This commit is contained in:
Antoine Gersant 2020-12-03 23:00:16 -08:00
parent f80a42e666
commit 0930ef45bb
4 changed files with 21 additions and 11 deletions

View file

@ -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<T>(request: &mut Request<T>) {
*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!());

View file

@ -110,3 +110,9 @@ pub trait TestService {
}
}
}
fn add_trailing_slash<T>(request: &mut Request<T>) {
*request.uri_mut() = (request.uri().to_string().trim_end_matches("/").to_string() + "/")
.parse()
.unwrap();
}

View file

@ -23,7 +23,7 @@ impl RequestBuilder {
pub fn swagger_index(&self) -> Request<()> {
Request::builder()
.method(Method::GET)
.uri("/swagger/")
.uri("/swagger")
.body(())
.unwrap()
}

View file

@ -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);
}