diff options
Diffstat (limited to 'tests/src/directory/internal.rs')
-rw-r--r-- | tests/src/directory/internal.rs | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/tests/src/directory/internal.rs b/tests/src/directory/internal.rs index 81b2f215..dc7acf3a 100644 --- a/tests/src/directory/internal.rs +++ b/tests/src/directory/internal.rs @@ -21,7 +21,7 @@ use store::{ BitmapKey, ValueKey, }; -use crate::directory::DirectoryTest; +use crate::directory::{DirectoryTest, IntoTestPrincipal, TestPrincipal}; #[tokio::test] async fn internal_directory() { @@ -33,20 +33,20 @@ async fn internal_directory() { // A principal without name should fail assert_eq!( - store.create_account(Principal::default(), vec![]).await, + store.create_account(Principal::default()).await, Err(manage::err_missing(PrincipalField::Name)) ); // Basic account creation let john_id = store .create_account( - Principal { + TestPrincipal { name: "john".to_string(), description: Some("John Doe".to_string()), secrets: vec!["secret".to_string(), "secret2".to_string()], ..Default::default() - }, - vec![], + } + .into(), ) .await .unwrap(); @@ -55,11 +55,11 @@ async fn internal_directory() { assert_eq!( store .create_account( - Principal { + TestPrincipal { name: "john".to_string(), ..Default::default() - }, - vec![] + } + .into(), ) .await, Err(manage::err_exists(PrincipalField::Name, "john".to_string())) @@ -69,12 +69,12 @@ async fn internal_directory() { assert_eq!( store .create_account( - Principal { + TestPrincipal { name: "jane".to_string(), emails: vec!["jane@example.org".to_string()], ..Default::default() - }, - vec![] + } + .into(), ) .await, Err(manage::not_found("example.org".to_string())) @@ -121,15 +121,15 @@ async fn internal_directory() { // Create an account with an email address let jane_id = store .create_account( - Principal { + TestPrincipal { name: "jane".to_string(), description: Some("Jane Doe".to_string()), secrets: vec!["my_secret".to_string(), "my_secret2".to_string()], emails: vec!["jane@example.org".to_string()], quota: 123, ..Default::default() - }, - vec![], + } + .into(), ) .await .unwrap(); @@ -151,8 +151,9 @@ async fn internal_directory() { true ) .await - .unwrap(), - Some(Principal { + .unwrap() + .map(|p| p.into_test()), + Some(TestPrincipal { id: jane_id, name: "jane".to_string(), description: Some("Jane Doe".to_string()), @@ -180,13 +181,13 @@ async fn internal_directory() { assert_eq!( store .create_account( - Principal { + TestPrincipal { name: "janeth".to_string(), description: Some("Janeth Doe".to_string()), emails: vec!["jane@example.org".to_string()], ..Default::default() - }, - vec![] + } + .into() ) .await, Err(manage::err_exists( @@ -198,13 +199,13 @@ async fn internal_directory() { // Create a mailing list let list_id = store .create_account( - Principal { + TestPrincipal { name: "list".to_string(), typ: Type::List, emails: vec!["list@example.org".to_string()], ..Default::default() - }, - vec![], + } + .into(), ) .await .unwrap(); @@ -235,8 +236,9 @@ async fn internal_directory() { .query(QueryBy::Name("list"), true) .await .unwrap() - .unwrap(), - Principal { + .unwrap() + .into_test(), + TestPrincipal { name: "list".to_string(), id: list_id, typ: Type::List, @@ -260,25 +262,25 @@ async fn internal_directory() { // Create groups store .create_account( - Principal { + TestPrincipal { name: "sales".to_string(), description: Some("Sales Team".to_string()), typ: Type::Group, ..Default::default() - }, - vec![], + } + .into(), ) .await .unwrap(); store .create_account( - Principal { + TestPrincipal { name: "support".to_string(), description: Some("Support Team".to_string()), typ: Type::Group, ..Default::default() - }, - vec![], + } + .into(), ) .await .unwrap(); @@ -313,8 +315,9 @@ async fn internal_directory() { ) .await .unwrap() + .into_test() .into_sorted(), - Principal { + TestPrincipal { id: john_id, name: "john".to_string(), description: Some("John Doe".to_string()), @@ -367,8 +370,9 @@ async fn internal_directory() { ) .await .unwrap() + .into_test() .into_sorted(), - Principal { + TestPrincipal { id: john_id, name: "john".to_string(), description: Some("John Doe".to_string()), @@ -398,10 +402,6 @@ async fn internal_directory() { PrincipalValue::StringList(vec!["12345".to_string()]) ), PrincipalUpdate::set(PrincipalField::Quota, PrincipalValue::Integer(1024)), - PrincipalUpdate::set( - PrincipalField::Type, - PrincipalValue::String("superuser".to_string()) - ), PrincipalUpdate::remove_item( PrincipalField::Emails, PrincipalValue::String("john@example.org".to_string()), @@ -426,15 +426,16 @@ async fn internal_directory() { ) .await .unwrap() + .into_test() .into_sorted(), - Principal { + TestPrincipal { id: john_id, name: "john.doe".to_string(), description: Some("Johnny Doe".to_string()), secrets: vec!["12345".to_string()], emails: vec!["john.doe@example.org".to_string()], quota: 1024, - typ: Type::Superuser, + typ: Type::Individual, member_of: vec!["list".to_string(), "sales".to_string()], } ); |