try to run migrations on db connection in tests

This commit is contained in:
Felix Ableitner 2020-12-11 15:41:39 +01:00
parent 6075f7d2f1
commit cbe5cf8ca0
5 changed files with 10 additions and 23 deletions

12
Cargo.lock generated
View file

@ -935,16 +935,6 @@ dependencies = [
"lazy_static",
]
[[package]]
name = "ctor"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fbaabec2c953050352311293be5c6aba8e141ba19d6811862b232d6fd020484"
dependencies = [
"quote",
"syn",
]
[[package]]
name = "darling"
version = "0.10.2"
@ -1809,6 +1799,7 @@ dependencies = [
"bcrypt",
"chrono",
"diesel",
"diesel_migrations",
"lazy_static",
"lemmy_utils",
"log",
@ -1848,7 +1839,6 @@ dependencies = [
"awc",
"cargo-husky",
"chrono",
"ctor",
"diesel",
"diesel_migrations",
"env_logger",

View file

@ -49,7 +49,6 @@ reqwest = { version = "0.10", features = ["json"] }
activitystreams = "0.7.0-alpha.4"
actix-rt = { version = "1.1", default-features = false }
serde_json = { version = "1.0", features = ["preserve_order"]}
ctor = "0.1.16"
[dev-dependencies.cargo-husky]
version = "1"

View file

@ -10,6 +10,7 @@ path = "src/lib.rs"
[dependencies]
lemmy_utils = { path = "../lemmy_utils" }
diesel = { version = "1.4", features = ["postgres","chrono","r2d2","64-column-tables","serde_json"] }
diesel_migrations = "1.4"
chrono = { version = "0.4", features = ["serde"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["preserve_order"]}

View file

@ -4,6 +4,8 @@ extern crate diesel;
extern crate strum_macros;
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate diesel_migrations;
use chrono::NaiveDateTime;
use diesel::{result::Error, *};
@ -214,11 +216,13 @@ lazy_static! {
}
#[cfg(test)]
pub mod tests {
mod tests {
use super::fuzzy_search;
use crate::{get_database_url_from_env, is_email_regex};
use diesel::{Connection, PgConnection};
embed_migrations!();
pub fn establish_unpooled_connection() -> PgConnection {
let db_url = match get_database_url_from_env() {
Ok(url) => url,
@ -227,7 +231,9 @@ pub mod tests {
e
),
};
PgConnection::establish(&db_url).unwrap_or_else(|_| panic!("Error connecting to {}", db_url))
let conn = PgConnection::establish(&db_url).unwrap_or_else(|_| panic!("Error connecting to {}", db_url));
embedded_migrations::run(&conn).unwrap();
conn
}
#[test]

View file

@ -92,12 +92,3 @@ async fn main() -> Result<(), LemmyError> {
Ok(())
}
#[cfg(test)]
#[ctor::ctor]
fn init() {
use lemmy_db::tests::establish_unpooled_connection;
let conn = establish_unpooled_connection();
embedded_migrations::run(&conn).unwrap();
run_advanced_migrations(&conn).unwrap();
}