From f8c446ce74329fc5844e0fc1fd82e618242196f4 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Thu, 28 Mar 2019 03:33:14 -0500 Subject: migrate and revert executable, query insert and delete test --- tests/tests.rs | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) (limited to 'tests') diff --git a/tests/tests.rs b/tests/tests.rs index 884b812..fd8349d 100644 --- a/tests/tests.rs +++ b/tests/tests.rs @@ -1,5 +1,6 @@ -extern crate space; extern crate diesel; +extern crate migrations_internals; +extern crate space; #[cfg(test)] mod tests { @@ -7,13 +8,15 @@ mod tests { use std::thread::sleep; use std::time::Duration; - use diesel::prelude::*; use diesel::pg::PgConnection; + use diesel::prelude::*; + use space::schema::masses::dsl; + use space::schema::masses::dsl::masses as db_masses; use space::constants; use space::item::{Item, ItemType}; - use space::mass::Mass; - use space::math::Vector; + use space::mass::{Mass, MassEntry}; + use space::math::{get_db_url, Vector}; use space::modules::construction; use space::modules::mining; use space::modules::navigation; @@ -523,7 +526,36 @@ mod tests { } #[test] - fn test_postgres_connection() { - PgConnection::establish("postgres://space:space@localhost/space_db").expect("Cannot connect"); + fn test_postgres() { + let connection = PgConnection::establish(&get_db_url()).expect("Cannot connect"); + + let masses = db_masses + .load::(&connection) + .expect("Cannot query, probably no migrations, run 'cargo run --bin migrate'"); + let size = masses.len(); + let name = String::from("test"); + + diesel::insert_into(db_masses) + .values(&Mass::new_astroid().to_new_mass_entry(name.clone())) + .execute(&connection) + .expect("Cannot insert"); + + let len = db_masses + .load::(&connection) + .expect("Cannot query") + .len(); + + assert!(len == size + 1); + + diesel::delete(db_masses.filter(dsl::name.eq(name))) + .execute(&connection) + .expect("Cannot delete"); + + let len = db_masses + .load::(&connection) + .expect("Cannot query") + .len(); + + assert!(len == size); } } -- cgit v1.2.3