#[cfg(test)]
mod tests {
use crate::client_events::ClientId;
use crate::client_events::{OpenRequest, RequestId};
use freenet_stdlib::client_api::ClientRequest;
#[test]
fn test_request_id_generation_and_uniqueness() {
let id1 = RequestId::new();
let id2 = RequestId::new();
assert_ne!(id1, id2);
assert_eq!(id1, id1);
let id1_str = format!("{}", id1);
assert!(id1_str.starts_with("req-"));
}
#[test]
fn test_open_request_with_correlation() {
let request_id = RequestId::new();
let client_id = ClientId::FIRST;
let req = OpenRequest {
client_id,
request_id,
request: Box::new(ClientRequest::Disconnect { cause: None }),
notification_channel: None,
token: None,
origin_contract: None,
};
assert_eq!(req.request_id, request_id);
assert_eq!(req.client_id, client_id);
}
#[test]
fn test_request_id_display_format() {
let request_id = RequestId::new();
let display_str = format!("{}", request_id);
assert!(display_str.starts_with("req-"));
assert!(display_str.len() > 4);
assert_eq!(display_str, format!("{}", request_id));
}
#[test]
fn test_open_request_new_method_generates_request_id() {
let client_id = ClientId::FIRST;
let request = Box::new(ClientRequest::Disconnect { cause: None });
let open_req = OpenRequest::new(client_id, request);
let id_str = format!("{}", open_req.request_id);
assert!(id_str.starts_with("req-"));
assert_eq!(open_req.client_id, client_id);
}
#[test]
fn test_open_request_display_includes_correlation() {
let open_req = OpenRequest::new(
ClientId::FIRST,
Box::new(ClientRequest::Disconnect { cause: None }),
);
let display_str = format!("{}", open_req);
assert!(display_str.contains("client: "));
assert!(display_str.contains("request_id: "));
assert!(display_str.contains("req: "));
}
}