MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / start_test_server

Function start_test_server

crates/openshell-server/tests/common/mod.rs:558–587  ·  view source on GitHub ↗

Start a TLS-wrapped test server using the given `TlsAcceptor`. Returns the bound address and a task handle (abort to stop).

(
    tls_acceptor: TlsAcceptor,
)

Source from the content-addressed store, hash-verified

556/// Start a TLS-wrapped test server using the given `TlsAcceptor`.
557/// Returns the bound address and a task handle (abort to stop).
558pub async fn start_test_server(
559 tls_acceptor: TlsAcceptor,
560) -> (SocketAddr, tokio::task::JoinHandle<()>) {
561 let listener = TcpListener::bind("127.0.0.1:0").await.unwrap();
562 let addr = listener.local_addr().unwrap();
563
564 let grpc_service = OpenShellServer::new(TestOpenShell);
565 let http_service = health_router(test_health_store().await);
566 let service = MultiplexedService::new(grpc_service, http_service);
567
568 let handle = tokio::spawn(async move {
569 loop {
570 let Ok((stream, _)) = listener.accept().await else {
571 continue;
572 };
573 let svc = service.clone();
574 let tls = tls_acceptor.clone();
575 tokio::spawn(async move {
576 let Ok(tls_stream) = tls.acceptor().accept(stream).await else {
577 return;
578 };
579 let _ = Builder::new(TokioExecutor::new())
580 .serve_connection(TokioIo::new(tls_stream), svc)
581 .await;
582 });
583 }
584 });
585
586 (addr, handle)
587}
588/// Rogue PKI bundle: client cert + key not signed by the server's CA.
589pub struct RoguePkiBundle {
590 pub client_cert_pem: String,

Calls 4

health_routerFunction · 0.85
acceptorMethod · 0.80
test_health_storeFunction · 0.70
spawnFunction · 0.50

Tested by

no test coverage detected