26 lines
1.2 KiB
Rust
26 lines
1.2 KiB
Rust
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);
|
|
}
|