From b8cda2ec74d96ea0aab9a5d48d432b88420a9022 Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Sat, 22 Apr 2023 16:00:57 +0100 Subject: [PATCH] feat: add drop_database for tests --- crates/core/database/src/models/admin_migrations/ops.rs | 4 ++++ .../database/src/models/admin_migrations/ops/mongodb.rs | 6 ++++++ .../database/src/models/admin_migrations/ops/reference.rs | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/crates/core/database/src/models/admin_migrations/ops.rs b/crates/core/database/src/models/admin_migrations/ops.rs index f5de7a88..ff8ae25d 100644 --- a/crates/core/database/src/models/admin_migrations/ops.rs +++ b/crates/core/database/src/models/admin_migrations/ops.rs @@ -3,6 +3,10 @@ mod reference; #[async_trait] pub trait AbstractMigrations: Sync + Send { + #[cfg(test)] + /// Drop the database + async fn drop_database(&self); + /// Migrate the database async fn migrate_database(&self) -> Result<(), ()>; } diff --git a/crates/core/database/src/models/admin_migrations/ops/mongodb.rs b/crates/core/database/src/models/admin_migrations/ops/mongodb.rs index 193e0973..784f59fa 100644 --- a/crates/core/database/src/models/admin_migrations/ops/mongodb.rs +++ b/crates/core/database/src/models/admin_migrations/ops/mongodb.rs @@ -7,6 +7,12 @@ mod scripts; #[async_trait] impl AbstractMigrations for MongoDb { + #[cfg(test)] + /// Drop the database + async fn drop_database(&self) { + self.db().drop(None).await.ok(); + } + /// Migrate the database async fn migrate_database(&self) -> Result<(), ()> { info!("Migrating the database."); diff --git a/crates/core/database/src/models/admin_migrations/ops/reference.rs b/crates/core/database/src/models/admin_migrations/ops/reference.rs index 19f3b99e..a0913ae0 100644 --- a/crates/core/database/src/models/admin_migrations/ops/reference.rs +++ b/crates/core/database/src/models/admin_migrations/ops/reference.rs @@ -4,6 +4,10 @@ use super::AbstractMigrations; #[async_trait] impl AbstractMigrations for ReferenceDb { + #[cfg(test)] + /// Drop the database + async fn drop_database(&self) {} + /// Migrate the database async fn migrate_database(&self) -> Result<(), ()> { // Here you would do your typical migrations if this was a real database.