services ref
parent
1c651c93ce
commit
e0720a5f54
|
|
@ -1,6 +1,5 @@
|
||||||
use crate::options::structs::CustomError;
|
|
||||||
use log::{error, warn};
|
use log::{error, warn};
|
||||||
use std::net::{TcpStream, ToSocketAddrs};
|
use std::net::ToSocketAddrs;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use tokio::time::Duration;
|
use tokio::time::Duration;
|
||||||
use tokio::sync::mpsc::Sender as Sender;
|
use tokio::sync::mpsc::Sender as Sender;
|
||||||
|
|
@ -236,31 +235,15 @@ pub mod v2 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async fn check_service(hostname: &str, port: &u32) -> Result<(), CustomError> {
|
|
||||||
let addr = format!("{}:{}", hostname, port);
|
|
||||||
|
|
||||||
match addr.to_socket_addrs() {
|
|
||||||
Ok(mut addrs) => {
|
|
||||||
if addrs.any(|a| TcpStream::connect_timeout(&a, Duration::new(1, 0)).is_ok()) {
|
|
||||||
Ok(())
|
|
||||||
} else {
|
|
||||||
Err(CustomError::Fatal)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Err(_) => Err(CustomError::Fatal),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod service_unittests {
|
mod service_unittests {
|
||||||
use super::check_service;
|
// use super::check_service;
|
||||||
#[tokio::test]
|
// #[tokio::test]
|
||||||
async fn check_available_service() {
|
// async fn check_available_service() {
|
||||||
assert!(check_service("ya.ru", &443).await.is_ok());
|
// assert!(check_service("ya.ru", &443).await.is_ok());
|
||||||
}
|
// }
|
||||||
#[tokio::test]
|
// #[tokio::test]
|
||||||
async fn check_unavailable_service() {
|
// async fn check_unavailable_service() {
|
||||||
assert!(check_service("unavailable.service", &1111).await.is_err());
|
// assert!(check_service("unavailable.service", &1111).await.is_err());
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue