summaryrefslogtreecommitdiff
path: root/examples/testing-websockets/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/testing-websockets/src/main.rs')
-rw-r--r--examples/testing-websockets/src/main.rs19
1 files changed, 9 insertions, 10 deletions
diff --git a/examples/testing-websockets/src/main.rs b/examples/testing-websockets/src/main.rs
index b778115c..954168b1 100644
--- a/examples/testing-websockets/src/main.rs
+++ b/examples/testing-websockets/src/main.rs
@@ -14,16 +14,14 @@ use axum::{
Router,
};
use futures::{Sink, SinkExt, Stream, StreamExt};
-use std::net::SocketAddr;
#[tokio::main]
async fn main() {
- let addr = SocketAddr::from(([127, 0, 0, 1], 3000));
- println!("listening on {addr}");
- axum::Server::bind(&addr)
- .serve(app().into_make_service())
+ let listener = tokio::net::TcpListener::bind("127.0.0.1:3000")
.await
.unwrap();
+ println!("listening on {}", listener.local_addr().unwrap());
+ axum::serve(listener, app()).await.unwrap();
}
fn app() -> Router {
@@ -94,17 +92,18 @@ where
#[cfg(test)]
mod tests {
use super::*;
- use std::net::Ipv4Addr;
+ use std::net::{Ipv4Addr, SocketAddr};
use tokio_tungstenite::tungstenite;
// We can integration test one handler by running the server in a background task and
// connecting to it like any other client would.
#[tokio::test]
async fn integration_test() {
- let server = axum::Server::bind(&SocketAddr::from((Ipv4Addr::UNSPECIFIED, 0)))
- .serve(app().into_make_service());
- let addr = server.local_addr();
- tokio::spawn(server);
+ let listener = tokio::net::TcpListener::bind(SocketAddr::from((Ipv4Addr::UNSPECIFIED, 0)))
+ .await
+ .unwrap();
+ let addr = listener.local_addr().unwrap();
+ tokio::spawn(axum::serve(listener, app()));
let (mut socket, _response) =
tokio_tungstenite::connect_async(format!("ws://{addr}/integration-testable"))