use niom_webrtc::config::Config; use niom_webrtc::constants::{DEFAULT_SIGNALING_URL, DEFAULT_STUN_SERVER}; #[test] fn default_stun_server_present() { assert!(DEFAULT_STUN_SERVER.contains("stun:")); } #[test] fn config_from_file_roundtrip() { // Create a temporary JSON in /tmp and read it via Config::from_file let tmp = tempfile::NamedTempFile::new().expect("tempfile"); let cfg_json = r#"{ "server": { "stun_server": "stun:example.org:3478", "signaling_url": "ws://example.org/ws" } }"#; std::fs::write(tmp.path(), cfg_json).expect("write"); let cfg = Config::from_file(tmp.path()).expect("load"); assert_eq!(cfg.server.stun_server, "stun:example.org:3478"); assert_eq!(cfg.server.signaling_url, "ws://example.org/ws"); // Missing fields fall back to defaults let cfg_json_missing = r#"{ "server": { "stun_server": "stun:another.org:9999" } }"#; std::fs::write(tmp.path(), cfg_json_missing).expect("write missing"); let cfg_missing = Config::from_file(tmp.path()).expect("load missing"); assert_eq!(cfg_missing.server.stun_server, "stun:another.org:9999"); assert_eq!(cfg_missing.server.signaling_url, DEFAULT_SIGNALING_URL); }