1mod error;
2mod prelude;
3mod http_request;
4mod http_response;
5
6pub use crate::http_request::*;
7pub use crate::http_response::*;
8pub use crate::error::Error;
9
10#[cfg(test)]
11mod tests {
12 use super::*;
13
14 #[test]
15 fn request_method_to_string() {
16 let request_method = RequestMethod::POST;
17
18 assert_eq!(request_method.to_string(), "POST");
19 }
20 #[test]
21 fn create_http_request_from_builder() {
22 let http_request = HttpRequestBuilder::new()
23 .set_request_method(RequestMethod::POST)
24 .set_url("/users")
25 .add_header(("Content-Type", "application/json"))
26 .set_body("{\"username\": \"Landa\"}")
27 .build()
28 .unwrap()
29 .to_string();
30
31 println!("{}", http_request);
32 assert_eq!(http_request, "POST /users HTTP/1.1\r\nContent-Type: application/json\r\n\r\n{\"username\": \"Landa\"}");
33 }
34 #[test]
35 fn create_http_response_from_builder() {
36 let http_response = HttpResponseBuilder::new()
37 .set_status_code(StatusCode::Ok)
38 .add_header(("Content-Type", "application/json"))
39 .set_body("{\"username\": \"Landa\"}")
40 .build()
41 .unwrap()
42 .to_string();
43
44 println!("{}", http_response);
45 assert_eq!(http_response, "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{\"username\": \"Landa\"}");
46 }
47}