diff options
Diffstat (limited to 'tests/common')
| -rw-r--r-- | tests/common/mod.rs | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/tests/common/mod.rs b/tests/common/mod.rs new file mode 100644 index 0000000..f0b9bea --- /dev/null +++ b/tests/common/mod.rs @@ -0,0 +1,24 @@ + +use std::io::BufRead; + +pub struct ExampleRequest { +    pub method: String, +    pub path_and_query: String, +    pub body: Option<String>, +} + +pub fn load_request(name: &str) -> ExampleRequest { + +    let path = format!("tests/files/{}.txt", name); +    let file = std::fs::File::open(path).unwrap(); +    let mut lines = std::io::BufReader::new(file).lines(); +    let first_line: Vec<String> = lines.next().unwrap().unwrap().split(" ").map(|v| v.into()).collect(); +    let body: Vec<String> = lines.map(|v| v.into()).collect::<Result<Vec<String>, _>>().unwrap(); +    let body: String = body.join("\n"); + +    ExampleRequest { +        method: first_line[0].clone(), +        path_and_query: first_line[1].clone(), +        body: Some(body), +    } +} | 
