summaryrefslogtreecommitdiffstats
path: root/tests/common/mod.rs
blob: f0b9beae555825357e6f5631498e20620ef4173b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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),
    }
}