2025-06-01 13:31:22 -05:00
|
|
|
#[tokio::test]
|
|
|
|
|
async fn hid_roundtrip() {
|
2025-06-23 07:18:26 -05:00
|
|
|
use lesavka_common::lesavka::*;
|
2025-11-30 16:16:03 -03:00
|
|
|
use lesavka_server::RelaySvc; // export the struct in lib.rs
|
2025-06-01 13:31:22 -05:00
|
|
|
let svc = RelaySvc::default();
|
|
|
|
|
let (mut cli, srv) = tonic::transport::Channel::balance_channel(1);
|
2025-11-30 16:16:03 -03:00
|
|
|
tokio::spawn(
|
|
|
|
|
tonic::transport::server::Server::builder()
|
|
|
|
|
.add_service(relay_server::RelayServer::new(svc))
|
|
|
|
|
.serve_with_incoming(srv),
|
|
|
|
|
);
|
2025-06-01 13:31:22 -05:00
|
|
|
|
2025-11-30 16:16:03 -03:00
|
|
|
let (mut tx, mut rx) = relay_client::RelayClient::new(cli)
|
|
|
|
|
.stream()
|
|
|
|
|
.await
|
|
|
|
|
.unwrap()
|
|
|
|
|
.into_inner();
|
|
|
|
|
tx.send(HidReport {
|
|
|
|
|
data: vec![0, 0, 4, 0, 0, 0, 0, 0],
|
|
|
|
|
})
|
|
|
|
|
.await
|
|
|
|
|
.unwrap();
|
|
|
|
|
assert!(rx.message().await.unwrap().is_none()); // nothing echoed yet
|
2025-06-01 13:31:22 -05:00
|
|
|
}
|