[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