From af46a3c54da38cad21112fa48f24cb155d698e9d Mon Sep 17 00:00:00 2001 From: realaravinth Date: Thu, 12 May 2022 19:55:03 +0530 Subject: [PATCH] feat: define interfaces for delete_captcha_levels and delete_captcha --- db/db-core/src/lib.rs | 10 ++++++++++ db/db-core/src/tests.rs | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/db/db-core/src/lib.rs b/db/db-core/src/lib.rs index 963af8e3..2a84bcef 100644 --- a/db/db-core/src/lib.rs +++ b/db/db-core/src/lib.rs @@ -151,6 +151,16 @@ pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase { username: Option<&str>, captcha_key: &str, ) -> DBResult; + + /// Delete all levels of a captcha + async fn delete_captcha_levels( + &self, + username: &str, + captcha_key: &str, + ) -> DBResult<()>; + + /// Delete captcha + async fn delete_captcha(&self, username: &str, captcha_key: &str) -> DBResult<()>; } #[derive(Clone, Debug, Default, Deserialize, Serialize)] diff --git a/db/db-core/src/tests.rs b/db/db-core/src/tests.rs index 85b7e800..dcf45e21 100644 --- a/db/db-core/src/tests.rs +++ b/db/db-core/src/tests.rs @@ -131,8 +131,18 @@ pub async fn database_works<'a, T: MCDatabase>( "user was with empty email but email is set; so email should exsit" ); + // create captcha db.create_captcha(p.username, c).await.unwrap(); assert!(db.captcha_exists(None, c.key).await.unwrap()); assert!(db.captcha_exists(Some(p.username), c.key).await.unwrap()); + + // add captcha levels db.add_captcha_levels(p.username, c.key, l).await.unwrap(); + + // delete captcha levels + db.delete_captcha_levels(p.username, c.key).await.unwrap(); + + // delete captcha + db.delete_captcha(p.username, c.key).await.unwrap(); + assert!(!db.captcha_exists(Some(p.username), c.key).await.unwrap()); }