- add tcp transport - refactor examples - improve proc macro - add benchmark examples
46 lines
1.2 KiB
Rust
46 lines
1.2 KiB
Rust
#[cfg(test)]
|
|
#[cfg(feature = "serde")]
|
|
mod tests {
|
|
// use rspc::transport::{channel, ClientTransporter, ServerTransporter};
|
|
|
|
pub struct MyStruct {
|
|
my_vec: Vec<String>,
|
|
}
|
|
|
|
#[rspc::service]
|
|
impl MyStruct {
|
|
pub fn len(&self) -> usize {
|
|
self.my_vec.len()
|
|
}
|
|
|
|
pub fn push(&mut self, val: String) {
|
|
self.my_vec.push(val)
|
|
}
|
|
|
|
pub fn pop(&mut self) -> Option<String> {
|
|
self.my_vec.pop()
|
|
}
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test() {
|
|
// let my_data = MyStruct { my_vec: Vec::new() };
|
|
// let (c, s) = channel::new_sync();
|
|
|
|
// let srv_thread = tokio::spawn(async move {
|
|
// let mut server = MyStructServer::from(my_data);
|
|
// server.listen(s).await
|
|
// });
|
|
|
|
// let client = MyStructClient::new(c);
|
|
// assert_eq!(client.len().await.unwrap(), 0);
|
|
// client.push("Hello world!".to_string()).await.unwrap();
|
|
// assert_eq!(client.len().await.unwrap(), 1);
|
|
// assert_eq!(
|
|
// client.pop().await.unwrap(),
|
|
// Some("Hello world!".to_string())
|
|
// );
|
|
// client.stop().await.unwrap();
|
|
// srv_thread.await.unwrap().unwrap();
|
|
}
|
|
}
|