[pbs-devel] [PATCH proxmox 1/2] ldap: add an integration test for `check_connection`
Stefan Sterz
s.sterz at proxmox.com
Fri Jul 21 16:34:02 CEST 2023
Signed-off-by: Stefan Sterz <s.sterz at proxmox.com>
---
proxmox-ldap/tests/glauth.rs | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/proxmox-ldap/tests/glauth.rs b/proxmox-ldap/tests/glauth.rs
index 8c0480e..88875d2 100644
--- a/proxmox-ldap/tests/glauth.rs
+++ b/proxmox-ldap/tests/glauth.rs
@@ -40,6 +40,11 @@ fn authenticate(con: &Connection, user: &str, pass: &str) -> Result<(), Error> {
proxmox_async::runtime::block_on(con.authenticate_user(user, pass))
}
+fn check_connection(config: &Config) -> Result<(), Error> {
+ let connection = Connection::new(config.clone());
+ proxmox_async::runtime::block_on(connection.check_connection())
+}
+
fn default_config() -> Config {
Config {
servers: vec!["localhost".into()],
@@ -164,3 +169,25 @@ fn test_search() -> Result<(), Error> {
Ok(())
}
+
+#[test]
+#[ignore]
+fn test_check_connection() -> Result<(), Error> {
+ let _glauth = GlauthServer::new("tests/assets/glauth.cfg")?;
+
+ let mut config = default_config();
+ assert!(check_connection(&config).is_ok());
+
+ config.base_dn = "dc=invalid,dc=com".into();
+ assert!(check_connection(&config).is_err());
+ config.base_dn = "dc=example,dc=com".into();
+
+ config.bind_password = Some("invalid".into());
+ assert!(check_connection(&config).is_err());
+ config.bind_password = Some("password".into());
+
+ config.bind_password = None;
+ assert!(check_connection(&config).is_err());
+
+ Ok(())
+}
--
2.39.2
More information about the pbs-devel
mailing list