[pdm-devel] [PATCH datacenter-manager 4/8] pdm-api-types: remote upid: add basic tests for RemoteUpid ser/deserialization

Lukas Wagner l.wagner at proxmox.com
Tue Nov 11 11:50:55 CET 2025


Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
 lib/pdm-api-types/src/remote_upid.rs | 53 ++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/lib/pdm-api-types/src/remote_upid.rs b/lib/pdm-api-types/src/remote_upid.rs
index b4a32769..454c9b1f 100644
--- a/lib/pdm-api-types/src/remote_upid.rs
+++ b/lib/pdm-api-types/src/remote_upid.rs
@@ -104,3 +104,56 @@ impl fmt::Display for RemoteUpid {
 
 serde_plain::derive_deserialize_from_fromstr!(RemoteUpid, "valid remote upid");
 serde_plain::derive_serialize_from_display!(RemoteUpid);
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_from_str() {
+        let pve_upid: RemoteUpid =
+            "pve-remote!UPID:pve:00039E4D:002638B8:67B4A9D1:stopall::root at pam:"
+                .parse()
+                .unwrap();
+
+        assert_eq!(pve_upid.remote(), "pve-remote");
+        assert_eq!(
+            pve_upid.upid(),
+            "UPID:pve:00039E4D:002638B8:67B4A9D1:stopall::root at pam:"
+        );
+
+        let pbs_upid: RemoteUpid =
+            "pbs-remote!UPID:pbs:000002B2:00000158:00000000:674D828C:logrotate::root at pam:"
+                .parse()
+                .unwrap();
+
+        assert_eq!(pbs_upid.remote(), "pbs-remote");
+        assert_eq!(
+            pbs_upid.upid(),
+            "UPID:pbs:000002B2:00000158:00000000:674D828C:logrotate::root at pam:"
+        );
+    }
+
+    #[test]
+    fn test_display() {
+        let pve_upid = RemoteUpid {
+            remote: "pve-remote".to_string(),
+            upid: "UPID:pve:00039E4D:002638B8:67B4A9D1:stopall::root at pam:".to_string(),
+        };
+
+        assert_eq!(
+            pve_upid.to_string(),
+            "pve-remote!UPID:pve:00039E4D:002638B8:67B4A9D1:stopall::root at pam:"
+        );
+
+        let pbs_upid = RemoteUpid {
+            remote: "pbs-remote".to_string(),
+            upid: "UPID:pbs:000002B2:00000158:00000000:674D828C:logrotate::root at pam:".to_string(),
+        };
+
+        assert_eq!(
+            pbs_upid.to_string(),
+            "pbs-remote!UPID:pbs:000002B2:00000158:00000000:674D828C:logrotate::root at pam:"
+        );
+    }
+}
-- 
2.47.3





More information about the pdm-devel mailing list