summary refs log blame commit diff stats
path: root/lib/system/avltree.nim
blob: 292097062bca77bffd9cc30382b8fb2b3acb95ea (plain) (tree)
an> = format!("DELETE FROM posts WHERE id = {}", id_num_in); let get_stmt = format!("SELECT * FROM posts WHERE id = {}", id_num_in); let mut get_stmt = db.conn.prepare(&get_stmt)?; let mut del_stmt = db.conn.prepare(&del_stmt)?; let user_in_post: String = get_stmt.query_row(rusqlite::NO_PARAMS, |row| row.get(2))?; if *user::NAME != user_in_post { println!(); println!("Users don't match. Can't delete!"); println!(); return Ok(()); } exec_stmt_no_params(&mut del_stmt)?; Ok(()) } #[cfg(test)] mod tests { use super::*; #[test] fn post_new() { let db = db::Conn::init("/tmp/clinte.db"); let db = db::Conn { conn: db }; let mut stmt = db .conn .prepare("INSERT INTO posts (title, author, body) VALUES (:title, :author, :body)") .unwrap(); let title = String::from("TEST TITLE"); exec_new(&mut stmt, &title, "TEST BODY").unwrap(); update("NEW TITLE", "TEST BODY", 1, &db).unwrap(); let mut stmt = db .conn .prepare("SELECT * FROM posts WHERE title = :title") .unwrap(); let title = String::from("NEW TITLE"); let out: String = stmt .query_row_named(&[(":title", &title)], |row| row.get::<usize, String>(1)) .unwrap(); assert_eq!("NEW TITLE", &out); } }