feat: define interfaces for delete_captcha_levels and delete_captcha

This commit is contained in:
realaravinth 2022-05-12 19:55:03 +05:30
parent 0c1a82b4c5
commit af46a3c54d
No known key found for this signature in database
GPG key ID: AD9F0F08E855ED88
2 changed files with 20 additions and 0 deletions

View file

@ -151,6 +151,16 @@ pub trait MCDatabase: std::marker::Send + std::marker::Sync + CloneSPDatabase {
username: Option<&str>,
captcha_key: &str,
) -> DBResult<bool>;
/// 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)]

View file

@ -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());
}