use std::io::{Cursor, Write}; use webaves::http::{MessageWriter, RequestHeader, ResponseHeader}; #[test_log::test] fn test_write_request() { let dest = Cursor::new(Vec::new()); let mut writer = MessageWriter::new(dest); let header = RequestHeader::new("GET", "/index.html"); writer.begin_request(&header).unwrap(); writer.write_body(); writer.end_message().unwrap(); let dest = writer.into_inner(); assert_eq!(dest.get_ref(), b"GET /index.html HTTP/1.1\r\n\r\n"); } #[test_log::test] fn test_write_response() { let dest = Cursor::new(Vec::new()); let mut writer = MessageWriter::new(dest); let mut header = ResponseHeader::new(200); header.status_line.reason_phrase = "OK".to_string(); writer.begin_response(&header).unwrap(); let body = writer.write_body(); body.write_all(b"Hello world!").unwrap(); writer.end_message().unwrap(); let dest = writer.into_inner(); assert_eq!(dest.get_ref(), b"HTTP/1.1 200 OK\r\n\r\nHello world!"); }