summaryrefslogtreecommitdiff
path: root/actualbudget_to_schist_transformer/tests/common/test_context.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-12-12 08:28:04 +0000
committerJoe Carstairs <me@joeac.net>2024-12-12 08:28:04 +0000
commit54894f9de9bad4fecb2a116d59a03cdd003f84c0 (patch)
tree6ce5517cecf23d4e93d7a381a374e1fa6c810cee /actualbudget_to_schist_transformer/tests/common/test_context.rs
parent8a30bcbdf9264d235bf93da3df8e170cfde53d02 (diff)
Moves rust workspace to root
Diffstat (limited to 'actualbudget_to_schist_transformer/tests/common/test_context.rs')
-rw-r--r--actualbudget_to_schist_transformer/tests/common/test_context.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/actualbudget_to_schist_transformer/tests/common/test_context.rs b/actualbudget_to_schist_transformer/tests/common/test_context.rs
new file mode 100644
index 0000000..e59c5f8
--- /dev/null
+++ b/actualbudget_to_schist_transformer/tests/common/test_context.rs
@@ -0,0 +1,42 @@
+use anyhow::Context;
+use diesel::{Connection, SqliteConnection};
+use diesel_migrations::MigrationHarness;
+use schist_queries::clear::clear;
+use schist_models::migrations::MIGRATIONS;
+
+use super::{TEST_IN_DB_URL, TEST_OUT_DB_URL};
+
+pub struct TestContext {
+}
+
+impl TestContext {
+ pub fn new() -> Self {
+ let _in_connection = &mut SqliteConnection
+ ::establish(&TEST_IN_DB_URL)
+ .with_context(|| format!("failed to establish connection to in database at {}", TEST_IN_DB_URL))
+ .unwrap();
+
+ let out_connection = &mut SqliteConnection
+ ::establish(&TEST_OUT_DB_URL)
+ .with_context(|| format!("failed to establish connection to out database at {}", TEST_OUT_DB_URL))
+ .unwrap();
+
+ out_connection
+ .run_pending_migrations(MIGRATIONS)
+ .expect("failed to run migrations on out database");
+
+ clear(out_connection)
+ .expect("failed to clear database");
+
+ Self {
+ }
+ }
+}
+
+impl Drop for TestContext {
+ fn drop(&mut self) {
+ std::fs::remove_file(&TEST_OUT_DB_URL)
+ .with_context(|| format!("failed to delete out database at {}", TEST_OUT_DB_URL))
+ .unwrap();
+ }
+}