diff --git a/mocktail/src/server.rs b/mocktail/src/server.rs index d76ed91..3db0c19 100644 --- a/mocktail/src/server.rs +++ b/mocktail/src/server.rs @@ -1,8 +1,7 @@ //! Mock server use std::{ - cell::OnceCell, net::{IpAddr, Ipv4Addr, SocketAddr, TcpStream}, - sync::{Arc, RwLock, RwLockReadGuard, RwLockWriteGuard}, + sync::{Arc, OnceLock, RwLock, RwLockReadGuard, RwLockWriteGuard}, time::Duration, }; @@ -12,7 +11,8 @@ use hyper_util::{ rt::{TokioExecutor, TokioIo}, server::conn, }; -use rand::Rng; +use rand::rngs::SmallRng; +use rand::{Rng, SeedableRng}; use tokio::net::TcpListener; use tracing::{debug, error, info}; use url::Url; @@ -29,8 +29,8 @@ use crate::{ pub struct MockServer { name: &'static str, kind: ServerKind, - addr: OnceCell, - base_url: OnceCell, + addr: OnceLock, + base_url: OnceLock, state: Arc, config: MockServerConfig, } @@ -41,8 +41,8 @@ impl MockServer { Self { name, kind: ServerKind::Http, - addr: OnceCell::new(), - base_url: OnceCell::new(), + addr: OnceLock::new(), + base_url: OnceLock::new(), state: Arc::new(MockServerState::default()), config: MockServerConfig::default(), } @@ -72,7 +72,7 @@ impl MockServer { } let mut counter = 0; - let mut rng = rand::rng(); + let mut rng = SmallRng::from_os_rng(); let listener = loop { let port: u16 = @@ -285,3 +285,14 @@ impl Default for MockServerConfig { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_mock_server_send() { + fn is_send() {} + is_send::(); + } +}