mod common; use assert2::let_assert; use rstest::rstest; use tokio::io::AsyncWriteExt; use tokio::net::TcpStream; use rustainers::runner::Runner; pub use self::common::*; use self::images::{Netcat, WebServer}; #[rstest] #[tokio::test] async fn should_wait_http(runner: &Runner) -> anyhow::Result<()> { let container = runner.start(WebServer::default()).await?; let result = container.get("/index.html").await; let_assert!(Ok(_) = result); Ok(()) } #[rstest] #[tokio::test] async fn should_wait_scan_port(runner: &Runner) -> anyhow::Result<()> { let image = Netcat::default(); let container = runner.start(image).await?; let addr = container.addr().await?; let mut stream = TcpStream::connect(addr).await?; stream.write_all(b"ping").await?; Ok(()) }