aboutsummaryrefslogtreecommitdiffstats
path: root/tests/parse_es_requests.rs
blob: a4950c0ec5eaeac7896d8e05cff82d76e220c00d (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

use std::fs;
use std::ffi::OsStr;
use es_public_proxy::{ScrollBody, SearchBody};

mod common;

#[test]
fn basic_load() {
    let request = common::load_request_by_name("GET_search");
    assert_eq!(request.method, "GET");
    assert_eq!(request.path_and_query, "/_search");
}

#[test]
fn basic_parse() {
    let request = common::load_request_by_name("GET_search");
    assert_eq!(request.method, "GET");
    assert_eq!(request.path_and_query, "/_search");

    let _parsed: SearchBody = serde_json::from_str(&request.body.unwrap()).unwrap();
}

#[test]
fn parse_search_requests() {

    let file_paths = fs::read_dir("tests/files").unwrap();

    for path in file_paths {
        let path = path.unwrap().path();
        if path.extension() != Some(OsStr::new("txt")) {
            continue
        }
        let request = common::load_request(&path);
        if let Some(body) = request.body {
            println!("parsing: {}", path.display());
            println!("BODY: {}", body);
            let _parsed: SearchBody = serde_json::from_str(&body).unwrap();
        }
    }
}

#[test]
fn parse_scroll_requests() {

    let file_paths = fs::read_dir("tests/files/scroll").unwrap();

    for path in file_paths {
        let path = path.unwrap().path();
        if path.extension() != Some(OsStr::new("txt")) {
            continue
        }
        let request = common::load_request(&path);
        if let Some(body) = request.body {
            println!("parsing: {}", path.display());
            println!("BODY: {}", body);
            let _parsed: ScrollBody = serde_json::from_str(&body).unwrap();
        }
    }
}