Skip to main content

ziti_sdk/session/
network_session.rs

1//! Network session implementation
2//!
3//! Handles service network sessions for data connections.
4
5/// Network session for service connections
6#[derive(Debug, Clone)]
7pub struct NetworkSession {
8    pub id: String,
9    pub service_id: String,
10}
11
12impl NetworkSession {
13    pub fn new(id: String, service_id: String) -> Self {
14        Self { id, service_id }
15    }
16}
17
18#[cfg(test)]
19mod tests {
20    use super::*;
21
22    #[test]
23    fn test_network_session_creation() {
24        let id = "test-session-id".to_string();
25        let service_id = "test-service-id".to_string();
26
27        let session = NetworkSession::new(id.clone(), service_id.clone());
28
29        assert_eq!(session.id, id);
30        assert_eq!(session.service_id, service_id);
31    }
32
33    #[test]
34    fn test_network_session_clone() {
35        let session = NetworkSession::new(
36            "session-123".to_string(),
37            "service-456".to_string(),
38        );
39
40        let cloned_session = session.clone();
41
42        assert_eq!(session.id, cloned_session.id);
43        assert_eq!(session.service_id, cloned_session.service_id);
44    }
45
46    #[test]
47    fn test_network_session_debug() {
48        let session = NetworkSession::new(
49            "debug-session".to_string(),
50            "debug-service".to_string(),
51        );
52
53        let debug_str = format!("{:?}", session);
54        assert!(debug_str.contains("NetworkSession"));
55        assert!(debug_str.contains("debug-session"));
56        assert!(debug_str.contains("debug-service"));
57    }
58
59    #[test]
60    fn test_network_session_with_empty_strings() {
61        let session = NetworkSession::new(String::new(), String::new());
62
63        assert_eq!(session.id, "");
64        assert_eq!(session.service_id, "");
65    }
66
67    #[test]
68    fn test_network_session_with_special_characters() {
69        let special_id = "session-123-!@#$%".to_string();
70        let special_service_id = "service-456-&*()".to_string();
71
72        let session = NetworkSession::new(special_id.clone(), special_service_id.clone());
73
74        assert_eq!(session.id, special_id);
75        assert_eq!(session.service_id, special_service_id);
76    }
77}