From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 9C3501FF165
	for <inbox@lore.proxmox.com>; Thu, 27 Mar 2025 16:18:44 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id A12EB188D5;
	Thu, 27 Mar 2025 16:18:30 +0100 (CET)
From: Christoph Heiss <c.heiss@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Thu, 27 Mar 2025 16:17:15 +0100
Message-ID: <20250327151718.1084841-5-c.heiss@proxmox.com>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250327151718.1084841-1-c.heiss@proxmox.com>
References: <20250327151718.1084841-1-c.heiss@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.029 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH installer 4/6] tui,
 common: move network option tests to correct crate
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

The `NetworkOptions` struct was moved here in

  5362c05cd ("common: copy common code from tui-installer")

and

  86c48f76f ("tui: switch to common crate")

but the tests were forgotten at the original place.

No functional changes.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
---
 proxmox-installer-common/Cargo.toml     |  3 +
 proxmox-installer-common/src/options.rs | 88 +++++++++++++++++++++++
 proxmox-tui-installer/Cargo.toml        |  3 -
 proxmox-tui-installer/src/options.rs    | 93 -------------------------
 4 files changed, 91 insertions(+), 96 deletions(-)

diff --git a/proxmox-installer-common/Cargo.toml b/proxmox-installer-common/Cargo.toml
index c220f01..4bdb2b0 100644
--- a/proxmox-installer-common/Cargo.toml
+++ b/proxmox-installer-common/Cargo.toml
@@ -31,3 +31,6 @@ http = [
     "dep:sha2",
     "dep:ureq"
 ]
+
+[dev-dependencies]
+pretty_assertions = "1.4"
diff --git a/proxmox-installer-common/src/options.rs b/proxmox-installer-common/src/options.rs
index 6ebf64c..28f2971 100644
--- a/proxmox-installer-common/src/options.rs
+++ b/proxmox-installer-common/src/options.rs
@@ -497,6 +497,12 @@ pub fn email_validate(email: &str) -> Result<()> {
 #[cfg(test)]
 mod tests {
     use super::*;
+    use crate::{
+        setup::{Dns, Gateway, Interface, InterfaceState, NetworkInfo, Routes, SetupInfo},
+        utils::CidrAddress,
+    };
+    use std::collections::BTreeMap;
+    use std::net::{IpAddr, Ipv4Addr};
 
     #[test]
     fn zfs_arc_limit() {
@@ -520,4 +526,86 @@ mod tests {
             assert_eq!(default_zfs_arc_max(ProxmoxProduct::PDM, *total_memory), 0);
         }
     }
+
+    #[test]
+    fn network_options_from_setup_network_info() {
+        let setup = SetupInfo::mocked();
+
+        let mut interfaces = BTreeMap::new();
+        interfaces.insert(
+            "eth0".to_owned(),
+            Interface {
+                name: "eth0".to_owned(),
+                index: 0,
+                state: InterfaceState::Up,
+                mac: "01:23:45:67:89:ab".to_owned(),
+                addresses: Some(vec![
+                    CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                ]),
+            },
+        );
+
+        let mut info = NetworkInfo {
+            dns: Dns {
+                domain: Some("bar.com".to_owned()),
+                dns: Vec::new(),
+            },
+            routes: Some(Routes {
+                gateway4: Some(Gateway {
+                    dev: "eth0".to_owned(),
+                    gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                }),
+                gateway6: None,
+            }),
+            interfaces,
+            hostname: Some("foo".to_owned()),
+        };
+
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("foo.bar.com").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.hostname = None;
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("pve.bar.com").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.dns.domain = None;
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("pve.example.invalid").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+
+        info.hostname = Some("foo".to_owned());
+        pretty_assertions::assert_eq!(
+            NetworkOptions::defaults_from(&setup, &info),
+            NetworkOptions {
+                ifname: "eth0".to_owned(),
+                fqdn: Fqdn::from("foo.example.invalid").unwrap(),
+                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
+                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
+                dns_server: Ipv4Addr::UNSPECIFIED.into(),
+            }
+        );
+    }
 }
diff --git a/proxmox-tui-installer/Cargo.toml b/proxmox-tui-installer/Cargo.toml
index 0e9c940..403d1ef 100644
--- a/proxmox-tui-installer/Cargo.toml
+++ b/proxmox-tui-installer/Cargo.toml
@@ -14,6 +14,3 @@ serde_json.workspace = true
 regex.workspace = true
 
 cursive = { version = "0.21", default-features = false, features = ["crossterm-backend"] }
-
-[dev-dependencies]
-pretty_assertions = "1.4"
diff --git a/proxmox-tui-installer/src/options.rs b/proxmox-tui-installer/src/options.rs
index 8dcd697..c80877f 100644
--- a/proxmox-tui-installer/src/options.rs
+++ b/proxmox-tui-installer/src/options.rs
@@ -79,96 +79,3 @@ impl InstallerOptions {
         ]
     }
 }
-
-#[cfg(test)]
-mod tests {
-    use super::*;
-    use proxmox_installer_common::{
-        setup::{Dns, Gateway, Interface, InterfaceState, NetworkInfo, Routes, SetupInfo},
-        utils::{CidrAddress, Fqdn},
-    };
-    use std::collections::BTreeMap;
-    use std::net::{IpAddr, Ipv4Addr};
-
-    #[test]
-    fn network_options_from_setup_network_info() {
-        let setup = SetupInfo::mocked();
-
-        let mut interfaces = BTreeMap::new();
-        interfaces.insert(
-            "eth0".to_owned(),
-            Interface {
-                name: "eth0".to_owned(),
-                index: 0,
-                state: InterfaceState::Up,
-                mac: "01:23:45:67:89:ab".to_owned(),
-                addresses: Some(vec![
-                    CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                ]),
-            },
-        );
-
-        let mut info = NetworkInfo {
-            dns: Dns {
-                domain: Some("bar.com".to_owned()),
-                dns: Vec::new(),
-            },
-            routes: Some(Routes {
-                gateway4: Some(Gateway {
-                    dev: "eth0".to_owned(),
-                    gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                }),
-                gateway6: None,
-            }),
-            interfaces,
-            hostname: Some("foo".to_owned()),
-        };
-
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("foo.bar.com").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.hostname = None;
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("pve.bar.com").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.dns.domain = None;
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("pve.example.invalid").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-
-        info.hostname = Some("foo".to_owned());
-        pretty_assertions::assert_eq!(
-            NetworkOptions::defaults_from(&setup, &info),
-            NetworkOptions {
-                ifname: "eth0".to_owned(),
-                fqdn: Fqdn::from("foo.example.invalid").unwrap(),
-                address: CidrAddress::new(Ipv4Addr::new(192, 168, 0, 2), 24).unwrap(),
-                gateway: IpAddr::V4(Ipv4Addr::new(192, 168, 0, 1)),
-                dns_server: Ipv4Addr::UNSPECIFIED.into(),
-            }
-        );
-    }
-}
-- 
2.48.1



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel