use form_urlencoded::Serializer; use rocket::http::Status; use rocket::http::{ContentType, Header}; use rocket::local::blocking::Client; use rocket::serde::json::Value; use rocket::uri; use seensite::auth::User; use seensite::page::*; use seensite::Context; static TEST_URL: &str = r"http://example.org/page1.html"; static TEST_HTML: &str = r#"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec malesuada, tellus eu fringilla finibus, turpis sapien faucibus elit, a fringilla dolor urna volutpat dui. Curabitur eget dui aliquet, gravida velit tempor, porta ipsum. Donec finibus orci quis velit tincidunt placerat. Aliquam erat volutpat. Nullam id nisl odio. Praesent egestas fringilla ultricies. Aenean blandit lectus mauris, quis auctor ipsum porttitor quis. Vivamus egestas cursus erat, et egestas diam volutpat eu. Vestibulum imperdiet purus ac turpis sodales, sit amet auctor risus lacinia. Duis feugiat lobortis orci quis sagittis.
"#; #[test] fn test_post_page() { super::setup(); let client = Client::tracked(seensite::rocket()).unwrap(); let ctx: &Context = client.rocket().state().unwrap(); let user = User::new("test1"); let token = ctx.make_jwt(&user, 60).unwrap(); let data = Serializer::new(String::new()) .append_pair("url", TEST_URL) .append_pair("data", TEST_HTML) .finish(); let req = client .post(uri![post_page]) .header(ContentType::Form) .header(Header::new("Authorization", format!("Bearer {}", token))) .body(&data); let res = req.dispatch(); assert_eq!(res.status(), Status::Ok); let page = res.into_json::