AppFlowy/frontend/rust-lib/lib-dispatch/tests/api/module.rs

27 lines
658 B
Rust
Raw Normal View History

2022-01-23 14:33:47 +00:00
use lib_dispatch::{prelude::*, util::tokio_default_runtime};
2021-09-04 07:12:53 +00:00
use std::sync::Arc;
2022-01-23 04:14:00 +00:00
pub async fn hello() -> String {
"say hello".to_string()
}
#[tokio::test]
2021-09-04 07:12:53 +00:00
async fn test() {
2021-09-17 11:03:46 +00:00
env_logger::init();
let event = "1";
2022-01-23 14:33:47 +00:00
let runtime = tokio_default_runtime().unwrap();
let dispatch = Arc::new(EventDispatcher::construct(runtime, || {
vec![Module::new().event(event, hello)]
}));
let request = ModuleRequest::new(event);
2021-12-04 03:26:17 +00:00
let _ = EventDispatcher::async_send_with_callback(dispatch.clone(), request, |resp| {
Box::pin(async move {
dbg!(&resp);
})
})
.await;
2021-09-04 07:12:53 +00:00
std::mem::forget(dispatch);
}