From 900f499932a4315570f5bf37fbd200fc921b1ef9 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Mon, 1 Nov 2021 19:29:20 +0100 Subject: [PATCH 1/2] Fix minor mistakes in tests that made them fail --- src/store/group_config.rs | 4 +++- src/utils.rs | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/store/group_config.rs b/src/store/group_config.rs index 838b925..08c086b 100644 --- a/src/store/group_config.rs +++ b/src/store/group_config.rs @@ -666,13 +666,15 @@ mod tests { assert!(!group.is_banned("piggo@piggo.space"), "user not banned by default"); group.ban_user("piggo@piggo.space", true).unwrap(); - assert!(group.is_member("piggo@piggo.space"), "still member even if banned"); + assert!(!group.is_member("piggo@piggo.space"), "banned user is kicked"); assert!(group.is_banned("piggo@piggo.space"), "banned user is banned"); assert!(!group.can_write("piggo@piggo.space"), "banned member can't post"); // unban group.ban_user("piggo@piggo.space", false).unwrap(); + assert!(!group.can_write("piggo@piggo.space"), "unbanned member is still kicked"); + group.set_member("piggo@piggo.space", true).unwrap(); assert!(group.can_write("piggo@piggo.space"), "un-ban works"); } diff --git a/src/utils.rs b/src/utils.rs index 01cb258..e095a07 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -82,11 +82,11 @@ mod test { ); assert_eq!( Ok("piggo@piggo.space".into()), - normalize_acct("piGGgo@pIggo.spaCe", "uhh") + normalize_acct("piGGo@pIggo.spaCe", "uhh") ); assert_eq!( Ok("piggo@banana.nana".into()), - normalize_acct("piGGgo", "foo@baNANA.nana") + normalize_acct("piGGo", "foo@baNANA.nana") ); assert_eq!(Err(GroupError::BadConfig("_".into())), normalize_acct("piggo", "uhh")); } From e1ac2777f3d466f6ee3a067bade404eb0e74d2a6 Mon Sep 17 00:00:00 2001 From: Francesco Gazzetta Date: Mon, 1 Nov 2021 21:27:06 +0100 Subject: [PATCH 2/2] Normalize server from group actor too as specified in tests --- src/utils.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index e095a07..efbceec 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -19,8 +19,8 @@ impl LogError for Result { } } -pub(crate) fn acct_to_server(acct: &str) -> Option<&str> { - acct.trim_start_matches('@').split('@').nth(1) +pub(crate) fn acct_to_server(acct: &str) -> Option { + acct.trim_start_matches('@').split('@').nth(1).map(|s| s.to_lowercase()) } pub(crate) fn normalize_acct(acct: &str, group: &str) -> Result { @@ -45,8 +45,8 @@ mod test { #[test] fn test_acct_to_server() { - assert_eq!(Some("novak"), acct_to_server("pepa@novak")); - assert_eq!(Some("banana.co.uk"), acct_to_server("@pepa@banana.co.uk")); + assert_eq!(Some("novak".to_string()), acct_to_server("pepa@novak")); + assert_eq!(Some("banana.co.uk".to_string()), acct_to_server("@pepa@banana.co.uk")); assert_eq!(None, acct_to_server("probably_local")); }