diff --git a/plume-models/src/blogs.rs b/plume-models/src/blogs.rs index e524c282..cfc0624b 100644 --- a/plume-models/src/blogs.rs +++ b/plume-models/src/blogs.rs @@ -497,10 +497,8 @@ pub(crate) mod tests { use super::*; use crate::{ blog_authors::*, - config::CONFIG, instance::tests as instance_tests, medias::NewMedia, - search::tests::get_searcher, tests::{db, rockets}, users::tests as usersTests, Connection as Conn, @@ -767,9 +765,7 @@ pub(crate) mod tests { conn.test_transaction::<_, (), _>(|| { let (_, blogs) = fill_database(conn); - blogs[0] - .delete(conn, &get_searcher(&CONFIG.search_tokenizers)) - .unwrap(); + blogs[0].delete(conn).unwrap(); assert!(Blog::get(conn, blogs[0].id).is_err()); Ok(()) }) @@ -779,7 +775,6 @@ pub(crate) mod tests { fn delete_via_user() { let conn = &db(); conn.test_transaction::<_, (), _>(|| { - let searcher = get_searcher(&CONFIG.search_tokenizers); let (user, _) = fill_database(conn); let b1 = Blog::insert( @@ -836,10 +831,10 @@ pub(crate) mod tests { ) .unwrap(); - user[0].delete(conn, &searcher).unwrap(); + user[0].delete(conn).unwrap(); assert!(Blog::get(conn, blog[0].id).is_ok()); assert!(Blog::get(conn, blog[1].id).is_err()); - user[1].delete(conn, &searcher).unwrap(); + user[1].delete(conn).unwrap(); assert!(Blog::get(conn, blog[0].id).is_err()); Ok(()) }) @@ -886,7 +881,7 @@ pub(crate) mod tests { let _: Blog = blogs[0].save_changes(conn).unwrap(); let ap_repr = blogs[0].to_activity(conn).unwrap(); - blogs[0].delete(conn, &*r.searcher).unwrap(); + blogs[0].delete(conn).unwrap(); let blog = Blog::from_activity(&r, ap_repr).unwrap(); assert_eq!(blog.actor_id, blogs[0].actor_id); diff --git a/plume-models/src/inbox.rs b/plume-models/src/inbox.rs index 72acba2a..751eb550 100644 --- a/plume-models/src/inbox.rs +++ b/plume-models/src/inbox.rs @@ -97,7 +97,6 @@ pub(crate) mod tests { source: String::new(), cover_id: None, }, - &rockets.searcher, ) .unwrap(); diff --git a/plume-models/src/lib.rs b/plume-models/src/lib.rs index 5a751877..64881fba 100755 --- a/plume-models/src/lib.rs +++ b/plume-models/src/lib.rs @@ -316,6 +316,10 @@ mod tests { db_conn::DbConn((*DB_POOL).get().unwrap()) } + pub(crate) fn pool() -> &'static db_conn::DbPool { + &*DB_POOL + } + lazy_static! { static ref DB_POOL: db_conn::DbPool = { let pool = db_conn::DbPool::builder() diff --git a/plume-models/src/posts.rs b/plume-models/src/posts.rs index 6fe25254..4a9d1c5b 100644 --- a/plume-models/src/posts.rs +++ b/plume-models/src/posts.rs @@ -893,7 +893,7 @@ mod tests { ) .unwrap(); let create = post.create_activity(conn).unwrap(); - post.delete(conn, &r.searcher).unwrap(); + post.delete(conn).unwrap(); match inbox(&r, serde_json::to_value(create).unwrap()).unwrap() { InboxResult::Post(p) => { diff --git a/plume-models/src/search/mod.rs b/plume-models/src/search/mod.rs index 33de8d49..abaf4a91 100644 --- a/plume-models/src/search/mod.rs +++ b/plume-models/src/search/mod.rs @@ -8,21 +8,21 @@ pub use self::tokenizer::TokenizerKind; #[cfg(test)] pub(crate) mod tests { - use super::{Query, Searcher, TokenizerKind}; - use diesel::Connection; - use plume_common::utils::random_hex; - use std::env::temp_dir; - use std::str::FromStr; - + use super::{actor::SearchActor, Query, Searcher, TokenizerKind}; use crate::{ blogs::tests::fill_database, config::SearchTokenizerConfig, post_authors::*, posts::{NewPost, Post}, safe_string::SafeString, - tests::db, + tests::pool, CONFIG, }; + use diesel::Connection; + use plume_common::utils::random_hex; + use std::env::temp_dir; + use std::str::FromStr; + use std::sync::Arc; pub(crate) fn get_searcher(tokenizers: &SearchTokenizerConfig) -> Searcher { let dir = temp_dir().join(&format!("plume-test-{}", random_hex())); @@ -122,9 +122,12 @@ pub(crate) mod tests { #[test] fn search() { - let conn = &db(); + let pool = pool(); + let conn = &pool.get().unwrap(); + conn.test_transaction::<_, (), _>(|| { - let searcher = get_searcher(&CONFIG.search_tokenizers); + let searcher = Arc::new(get_searcher(&CONFIG.search_tokenizers)); + SearchActor::init(searcher.clone(), pool.clone()); let blog = &fill_database(conn).1[0]; let author = &blog.list_authors(conn).unwrap()[0]; @@ -145,7 +148,6 @@ pub(crate) mod tests { source: "".to_owned(), cover_id: None, }, - &searcher, ) .unwrap(); PostAuthor::insert( @@ -165,7 +167,7 @@ pub(crate) mod tests { let newtitle = random_hex()[..8].to_owned(); post.title = newtitle.clone(); - post.update(conn, &searcher).unwrap(); + post.update(conn).unwrap(); searcher.commit(); assert_eq!( searcher.search_document(conn, Query::from_str(&newtitle).unwrap(), (0, 1))[0].id, @@ -175,7 +177,7 @@ pub(crate) mod tests { .search_document(conn, Query::from_str(&title).unwrap(), (0, 1)) .is_empty()); - post.delete(conn, &searcher).unwrap(); + post.delete(conn).unwrap(); searcher.commit(); assert!(searcher .search_document(conn, Query::from_str(&newtitle).unwrap(), (0, 1)) @@ -214,7 +216,6 @@ pub(crate) mod tests { source: "".to_owned(), cover_id: None, }, - &searcher, ) .unwrap(); diff --git a/plume-models/src/timeline/mod.rs b/plume-models/src/timeline/mod.rs index 426c228b..ecfb2b52 100644 --- a/plume-models/src/timeline/mod.rs +++ b/plume-models/src/timeline/mod.rs @@ -408,7 +408,6 @@ mod tests { source: "you must say GNU/Linux, not Linux!!!".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); assert!(gnu_tl.matches(r, &gnu_post, Kind::Original).unwrap()); @@ -428,7 +427,6 @@ mod tests { source: "so is Microsoft".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); assert!(!gnu_tl.matches(r, &non_free_post, Kind::Original).unwrap()); @@ -481,7 +479,6 @@ mod tests { subtitle: "".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); assert!(my_tl.matches(r, &post, Kind::Original).unwrap()); // matches because of "blog in fav_blogs" (and there is no cover) @@ -503,7 +500,6 @@ mod tests { subtitle: "".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); assert!(!my_tl.matches(r, &post, Kind::Like(&users[1])).unwrap()); @@ -549,7 +545,6 @@ mod tests { source: "you must say GNU/Linux, not Linux!!!".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); @@ -568,7 +563,6 @@ mod tests { source: "so is Microsoft".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); @@ -608,7 +602,6 @@ mod tests { source: "you must say GNU/Linux, not Linux!!!".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); gnu_post @@ -745,7 +738,6 @@ mod tests { source: "you must say GNU/Linux, not Linux!!!".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); gnu_post.update_tags(conn, vec![Tag::build_activity("free".to_owned()).unwrap()]).unwrap(); @@ -779,7 +771,6 @@ mod tests { source: "you must say GNU/Linux, not Linux!!!".to_string(), cover_id: None, }, - &r.searcher, ) .unwrap(); diff --git a/plume-models/src/users.rs b/plume-models/src/users.rs index d3b73684..c4729acc 100644 --- a/plume-models/src/users.rs +++ b/plume-models/src/users.rs @@ -1130,9 +1130,7 @@ impl NewUser { pub(crate) mod tests { use super::*; use crate::{ - config::CONFIG, instance::{tests as instance_tests, Instance}, - search::tests::get_searcher, tests::{db, rockets}, Connection as Conn, };