server: cleanup extra mut in ldap handler

This commit is contained in:
Valentin Tolmer
2025-04-04 21:14:30 -05:00
committed by nitnelave
parent 7450ff1028
commit cdf43f2a69
4 changed files with 45 additions and 48 deletions
+5 -5
View File
@@ -80,7 +80,7 @@ mod tests {
}]) }])
}); });
mock.expect_list_groups().returning(|_| Ok(vec![])); mock.expect_list_groups().returning(|_| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let dn = "uid=bob,ou=people,dc=example,dc=com"; let dn = "uid=bob,ou=people,dc=example,dc=com";
let request = LdapCompareRequest { let request = LdapCompareRequest {
dn: dn.to_string(), dn: dn.to_string(),
@@ -128,7 +128,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let dn = "uid=group,ou=groups,dc=example,dc=com"; let dn = "uid=group,ou=groups,dc=example,dc=com";
let request = LdapCompareRequest { let request = LdapCompareRequest {
dn: dn.to_string(), dn: dn.to_string(),
@@ -155,7 +155,7 @@ mod tests {
Ok(vec![]) Ok(vec![])
}); });
mock.expect_list_groups().returning(|_| Ok(vec![])); mock.expect_list_groups().returning(|_| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let dn = "uid=bob,ou=people,dc=example,dc=com"; let dn = "uid=bob,ou=people,dc=example,dc=com";
let request = LdapCompareRequest { let request = LdapCompareRequest {
dn: dn.to_string(), dn: dn.to_string(),
@@ -189,7 +189,7 @@ mod tests {
}]) }])
}); });
mock.expect_list_groups().returning(|_| Ok(vec![])); mock.expect_list_groups().returning(|_| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let dn = "uid=bob,ou=people,dc=example,dc=com"; let dn = "uid=bob,ou=people,dc=example,dc=com";
let request = LdapCompareRequest { let request = LdapCompareRequest {
dn: dn.to_string(), dn: dn.to_string(),
@@ -222,7 +222,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let dn = "uid=group,ou=groups,dc=example,dc=com"; let dn = "uid=group,ou=groups,dc=example,dc=com";
let request = LdapCompareRequest { let request = LdapCompareRequest {
dn: dn.to_string(), dn: dn.to_string(),
+4 -7
View File
@@ -139,10 +139,7 @@ impl<Backend: BackendHandler + LoginHandler + OpaqueHandler> LdapHandler<Backend
} }
} }
pub async fn do_search_or_dse( pub async fn do_search_or_dse(&self, request: &LdapSearchRequest) -> LdapResult<Vec<LdapOp>> {
&mut self,
request: &LdapSearchRequest,
) -> LdapResult<Vec<LdapOp>> {
if is_root_dse_request(request) { if is_root_dse_request(request) {
debug!("rootDSE request"); debug!("rootDSE request");
return Ok(vec![ return Ok(vec![
@@ -192,7 +189,7 @@ impl<Backend: BackendHandler + LoginHandler + OpaqueHandler> LdapHandler<Backend
} }
#[instrument(skip_all, level = "debug")] #[instrument(skip_all, level = "debug")]
async fn do_extended_request(&mut self, request: &LdapExtendedRequest) -> Vec<LdapOp> { async fn do_extended_request(&self, request: &LdapExtendedRequest) -> Vec<LdapOp> {
match request.name.as_str() { match request.name.as_str() {
OID_PASSWORD_MODIFY => match LdapPasswordModifyRequest::try_from(request) { OID_PASSWORD_MODIFY => match LdapPasswordModifyRequest::try_from(request) {
Ok(password_request) => { Ok(password_request) => {
@@ -237,7 +234,7 @@ impl<Backend: BackendHandler + LoginHandler + OpaqueHandler> LdapHandler<Backend
} }
#[instrument(skip_all, level = "debug", fields(dn = %request.dn))] #[instrument(skip_all, level = "debug", fields(dn = %request.dn))]
pub async fn do_modify_request(&mut self, request: &LdapModifyRequest) -> Vec<LdapOp> { pub async fn do_modify_request(&self, request: &LdapModifyRequest) -> Vec<LdapOp> {
let credentials = match self.get_credentials() { let credentials = match self.get_credentials() {
Credentials::Bound(cred) => cred, Credentials::Bound(cred) => cred,
Credentials::Unbound(err) => return err, Credentials::Unbound(err) => return err,
@@ -283,7 +280,7 @@ impl<Backend: BackendHandler + LoginHandler + OpaqueHandler> LdapHandler<Backend
} }
#[instrument(skip_all, level = "debug")] #[instrument(skip_all, level = "debug")]
pub async fn do_compare(&mut self, request: LdapCompareRequest) -> LdapResult<Vec<LdapOp>> { pub async fn do_compare(&self, request: LdapCompareRequest) -> LdapResult<Vec<LdapOp>> {
let req = make_search_request::<String>( let req = make_search_request::<String>(
&self.ldap_info.base_dn_str, &self.ldap_info.base_dn_str,
LdapFilter::Equality("dn".to_string(), request.dn.to_string()), LdapFilter::Equality("dn".to_string(), request.dn.to_string()),
+7 -7
View File
@@ -210,7 +210,7 @@ mod tests {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "bob", Vec::new()); setup_target_user_groups(&mut mock, "bob", Vec::new());
expect_password_change(&mut mock, "bob"); expect_password_change(&mut mock, "bob");
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_password_modify_request("bob"); let request = make_password_modify_request("bob");
assert_eq!( assert_eq!(
ldap_handler.do_modify_request(&request).await, ldap_handler.do_modify_request(&request).await,
@@ -223,7 +223,7 @@ mod tests {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "test", Vec::new()); setup_target_user_groups(&mut mock, "test", Vec::new());
expect_password_change(&mut mock, "test"); expect_password_change(&mut mock, "test");
let mut ldap_handler = setup_bound_handler_with_group(mock, "regular").await; let ldap_handler = setup_bound_handler_with_group(mock, "regular").await;
let request = make_password_modify_request("test"); let request = make_password_modify_request("test");
assert_eq!( assert_eq!(
ldap_handler.do_modify_request(&request).await, ldap_handler.do_modify_request(&request).await,
@@ -236,7 +236,7 @@ mod tests {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "bob", Vec::new()); setup_target_user_groups(&mut mock, "bob", Vec::new());
expect_password_change(&mut mock, "bob"); expect_password_change(&mut mock, "bob");
let mut ldap_handler = setup_bound_password_manager_handler(mock).await; let ldap_handler = setup_bound_password_manager_handler(mock).await;
let request = make_password_modify_request("bob"); let request = make_password_modify_request("bob");
assert_eq!( assert_eq!(
ldap_handler.do_modify_request(&request).await, ldap_handler.do_modify_request(&request).await,
@@ -248,7 +248,7 @@ mod tests {
async fn test_modify_password_of_admin_as_password_manager() { async fn test_modify_password_of_admin_as_password_manager() {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "bob", vec!["lldap_admin"]); setup_target_user_groups(&mut mock, "bob", vec!["lldap_admin"]);
let mut ldap_handler = setup_bound_password_manager_handler(mock).await; let ldap_handler = setup_bound_password_manager_handler(mock).await;
let request = make_password_modify_request("bob"); let request = make_password_modify_request("bob");
assert_eq!( assert_eq!(
ldap_handler.do_modify_request(&request).await, ldap_handler.do_modify_request(&request).await,
@@ -261,7 +261,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_modify_password_of_other_regular_as_regular() { async fn test_modify_password_of_other_regular_as_regular() {
let mut ldap_handler = let ldap_handler =
setup_bound_handler_with_group(MockTestBackendHandler::new(), "regular").await; setup_bound_handler_with_group(MockTestBackendHandler::new(), "regular").await;
let request = make_password_modify_request("bob"); let request = make_password_modify_request("bob");
assert_eq!( assert_eq!(
@@ -278,7 +278,7 @@ mod tests {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "test", vec!["lldap_admin"]); setup_target_user_groups(&mut mock, "test", vec!["lldap_admin"]);
expect_password_change(&mut mock, "test"); expect_password_change(&mut mock, "test");
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_password_modify_request("test"); let request = make_password_modify_request("test");
assert_eq!( assert_eq!(
ldap_handler.do_modify_request(&request).await, ldap_handler.do_modify_request(&request).await,
@@ -290,7 +290,7 @@ mod tests {
async fn test_modify_password_invalid_number_of_values() { async fn test_modify_password_invalid_number_of_values() {
let mut mock = MockTestBackendHandler::new(); let mut mock = MockTestBackendHandler::new();
setup_target_user_groups(&mut mock, "bob", Vec::new()); setup_target_user_groups(&mut mock, "bob", Vec::new());
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = { let request = {
let target_user = "bob"; let target_user = "bob";
LdapModifyRequest { LdapModifyRequest {
+29 -29
View File
@@ -342,7 +342,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_root_dse() { async fn test_search_root_dse() {
let mut ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await;
let request = LdapSearchRequest { let request = LdapSearchRequest {
base: "".to_string(), base: "".to_string(),
scope: LdapSearchScope::Base, scope: LdapSearchScope::Base,
@@ -383,7 +383,7 @@ mod tests {
groups: None, groups: None,
}]) }])
}); });
let mut ldap_handler = setup_bound_handler_with_group(mock, "regular").await; let ldap_handler = setup_bound_handler_with_group(mock, "regular").await;
let request = let request =
make_user_search_request::<String>(LdapFilter::And(vec![]), vec!["1.1".to_string()]); make_user_search_request::<String>(LdapFilter::And(vec![]), vec!["1.1".to_string()]);
@@ -406,7 +406,7 @@ mod tests {
.with(eq(Some(true.into())), eq(false)) .with(eq(Some(true.into())), eq(false))
.times(1) .times(1)
.return_once(|_, _| Ok(vec![])); .return_once(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
let request = let request =
make_user_search_request::<String>(LdapFilter::And(vec![]), vec!["1.1".to_string()]); make_user_search_request::<String>(LdapFilter::And(vec![]), vec!["1.1".to_string()]);
@@ -437,7 +437,7 @@ mod tests {
}]), }]),
}]) }])
}); });
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
let request = make_user_search_request::<String>( let request = make_user_search_request::<String>(
LdapFilter::And(vec![]), LdapFilter::And(vec![]),
@@ -471,7 +471,7 @@ mod tests {
) )
.times(1) .times(1)
.return_once(|_, _| Ok(vec![])); .return_once(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
let request = LdapSearchRequest { let request = LdapSearchRequest {
base: "uid=bob,ou=people,Dc=example,dc=com".to_string(), base: "uid=bob,ou=people,Dc=example,dc=com".to_string(),
@@ -544,7 +544,7 @@ mod tests {
}, },
]) ])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::And(vec![]), LdapFilter::And(vec![]),
vec![ vec![
@@ -684,7 +684,7 @@ mod tests {
}, },
]) ])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::And(vec![]), LdapFilter::And(vec![]),
vec![ vec![
@@ -773,7 +773,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::Equality("groupid".to_string(), "1".to_string()), LdapFilter::Equality("groupid".to_string(), "1".to_string()),
vec!["dn"], vec!["dn"],
@@ -823,7 +823,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::And(vec![ LdapFilter::And(vec![
LdapFilter::Equality("cN".to_string(), "Group_1".to_string()), LdapFilter::Equality("cN".to_string(), "Group_1".to_string()),
@@ -894,7 +894,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::Or(vec![LdapFilter::Not(Box::new(LdapFilter::Equality( LdapFilter::Or(vec![LdapFilter::Not(Box::new(LdapFilter::Equality(
"displayname".to_string(), "displayname".to_string(),
@@ -965,7 +965,7 @@ mod tests {
extra_group_object_classes: Vec::new(), extra_group_object_classes: Vec::new(),
}) })
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::Equality("Attr".to_string(), "TEST".to_string()), LdapFilter::Equality("Attr".to_string(), "TEST".to_string()),
vec!["cn"], vec!["cn"],
@@ -995,7 +995,7 @@ mod tests {
])))) ]))))
.times(1) .times(1)
.return_once(|_| Ok(vec![])); .return_once(|_| Ok(vec![]));
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
let request = LdapSearchRequest { let request = LdapSearchRequest {
base: "uid=rockstars,ou=groups,Dc=example,dc=com".to_string(), base: "uid=rockstars,ou=groups,Dc=example,dc=com".to_string(),
@@ -1015,7 +1015,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_groups_unsupported_substring() { async fn test_search_groups_unsupported_substring() {
let mut ldap_handler = setup_bound_readonly_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_readonly_handler(MockTestBackendHandler::new()).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::Substring("member".to_owned(), LdapSubstringFilter::default()), LdapFilter::Substring("member".to_owned(), LdapSubstringFilter::default()),
vec!["cn"], vec!["cn"],
@@ -1040,7 +1040,7 @@ mod tests {
.with(eq(Some(false.into()))) .with(eq(Some(false.into())))
.times(1) .times(1)
.return_once(|_| Ok(vec![])); .return_once(|_| Ok(vec![]));
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
assert_eq!( assert_eq!(
ldap_handler.do_search_or_dse(&request).await, ldap_handler.do_search_or_dse(&request).await,
Ok(vec![make_search_success()]), Ok(vec![make_search_success()]),
@@ -1062,7 +1062,7 @@ mod tests {
"Error getting groups".to_string(), "Error getting groups".to_string(),
)) ))
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::Or(vec![LdapFilter::Not(Box::new(LdapFilter::Equality( LdapFilter::Or(vec![LdapFilter::Not(Box::new(LdapFilter::Equality(
"displayname".to_string(), "displayname".to_string(),
@@ -1081,7 +1081,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_groups_filter_error() { async fn test_search_groups_filter_error() {
let mut ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await;
let request = make_group_search_request( let request = make_group_search_request(
LdapFilter::And(vec![LdapFilter::Approx( LdapFilter::And(vec![LdapFilter::Approx(
"whatever".to_owned(), "whatever".to_owned(),
@@ -1145,7 +1145,7 @@ mod tests {
) )
.times(1) .times(1)
.return_once(|_, _| Ok(vec![])); .return_once(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::And(vec![LdapFilter::Or(vec![ LdapFilter::And(vec![LdapFilter::Or(vec![
LdapFilter::Not(Box::new(LdapFilter::Equality( LdapFilter::Not(Box::new(LdapFilter::Equality(
@@ -1194,7 +1194,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_unsupported_substring_filter() { async fn test_search_unsupported_substring_filter() {
let mut ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Substring( LdapFilter::Substring(
"uuid".to_owned(), "uuid".to_owned(),
@@ -1231,7 +1231,7 @@ mod tests {
) )
.times(2) .times(2)
.returning(|_, _| Ok(vec![])); .returning(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Equality( LdapFilter::Equality(
"memberOf".to_string(), "memberOf".to_string(),
@@ -1259,7 +1259,7 @@ mod tests {
.with(eq(Some(UserRequestFilter::from(false))), eq(false)) .with(eq(Some(UserRequestFilter::from(false))), eq(false))
.times(1) .times(1)
.returning(|_, _| Ok(vec![])); .returning(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Equality( LdapFilter::Equality(
"memberOf".to_string(), "memberOf".to_string(),
@@ -1296,7 +1296,7 @@ mod tests {
groups: None, groups: None,
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::And(vec![LdapFilter::Or(vec![LdapFilter::Not(Box::new( LdapFilter::And(vec![LdapFilter::Or(vec![LdapFilter::Not(Box::new(
LdapFilter::Equality("displayname".to_string(), "bob".to_string()), LdapFilter::Equality("displayname".to_string(), "bob".to_string()),
@@ -1339,7 +1339,7 @@ mod tests {
groups: None, groups: None,
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Equality("objectClass".to_owned(), "CUSTOMuserCLASS".to_owned()), LdapFilter::Equality("objectClass".to_owned(), "CUSTOMuserCLASS".to_owned()),
vec!["objectclass"], vec!["objectclass"],
@@ -1402,7 +1402,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_search_request( let request = make_search_request(
"dc=example,dc=com", "dc=example,dc=com",
LdapFilter::And(vec![]), LdapFilter::And(vec![]),
@@ -1486,7 +1486,7 @@ mod tests {
attributes: Vec::new(), attributes: Vec::new(),
}]) }])
}); });
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
// Test simple wildcard // Test simple wildcard
let request = let request =
@@ -1643,7 +1643,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_wrong_base() { async fn test_search_wrong_base() {
let mut ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await;
let request = make_search_request( let request = make_search_request(
"ou=users,dc=example,dc=com", "ou=users,dc=example,dc=com",
LdapFilter::And(vec![]), LdapFilter::And(vec![]),
@@ -1657,7 +1657,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_search_unsupported_filters() { async fn test_search_unsupported_filters() {
let mut ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_admin_handler(MockTestBackendHandler::new()).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Approx("uid".to_owned(), "value".to_owned()), LdapFilter::Approx("uid".to_owned(), "value".to_owned()),
vec!["objectClass"], vec!["objectClass"],
@@ -1678,7 +1678,7 @@ mod tests {
.with(eq(Some(true.into())), eq(false)) .with(eq(Some(true.into())), eq(false))
.times(1) .times(1)
.return_once(|_, _| Ok(vec![])); .return_once(|_, _| Ok(vec![]));
let mut ldap_handler = setup_bound_admin_handler(mock).await; let ldap_handler = setup_bound_admin_handler(mock).await;
let request = make_user_search_request( let request = make_user_search_request(
LdapFilter::Present("displayname".to_owned()), LdapFilter::Present("displayname".to_owned()),
vec!["objectClass"], vec!["objectClass"],
@@ -1691,7 +1691,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_user_ou_search() { async fn test_user_ou_search() {
let mut ldap_handler = setup_bound_readonly_handler(MockTestBackendHandler::new()).await; let ldap_handler = setup_bound_readonly_handler(MockTestBackendHandler::new()).await;
let request = LdapSearchRequest { let request = LdapSearchRequest {
base: "ou=people,dc=example,dc=com".to_owned(), base: "ou=people,dc=example,dc=com".to_owned(),
scope: LdapSearchScope::Base, scope: LdapSearchScope::Base,
@@ -1777,7 +1777,7 @@ mod tests {
extra_group_object_classes: vec![LdapObjectClass::from("customGroupClass")], extra_group_object_classes: vec![LdapObjectClass::from("customGroupClass")],
}) })
}); });
let mut ldap_handler = setup_bound_readonly_handler(mock).await; let ldap_handler = setup_bound_readonly_handler(mock).await;
let request = make_search_request( let request = make_search_request(
"dc=example,dc=com", "dc=example,dc=com",