toni/
lib.rs

1#[path = "adapter/http_adapter.rs"]
2pub mod http_adapter;
3#[path = "adapter/mod.rs"]
4pub mod adapter;
5
6pub mod http_helpers;
7pub mod traits_helpers;
8mod injector;
9mod scanner;
10pub mod module_helpers;
11mod toni_application;
12pub mod toni_factory;
13mod router;
14
15#[cfg(test)]
16mod tests {
17    use std::time::Duration;
18    use tokio::task::JoinHandle;
19
20    #[tokio::test]
21    async fn test_server() {
22        let server_handle: JoinHandle<()> = tokio::spawn(async {
23            // let factory = ToniFactory::new();
24            // let mut axum_adapter = AxumAdapter::new();
25            // let app = factory.create(app_module, axum_adapter).unwrap();
26            // app.listen(3000, "127.0.0.1").await;
27            // let app = match app {
28            //     Ok(app) => {
29            //         app
30            //     }
31            //     Err(e) => panic!("sda")
32            // };
33            // let axum_adapter2 = AxumAdapter::new();
34            // axum_adapter.add_route(&"/ta".to_string(), HttpMethod::GET, Box::new(GetUserNameController));
35            // axum_adapter.listen(3000, "127.0.0.1").await;
36            // app.listen(3000, "127.0.0.1");
37            // servera.get("/ta", |req| Box::pin(route_adapter(req, &Handler)));
38            // servera.post("/hello2", |req| Box::pin(route_adapter(req, &Handler2)));
39            // servera.listen(3000, "127.0.0.1").await
40        });
41        tokio::time::sleep(Duration::from_secs(1)).await;
42        let client = reqwest::Client::new();
43        let response = client.get("http://localhost:3000/names").send().await;
44        let res = match response {
45            Ok(res) => {
46                res
47            }
48            Err(e) => panic!("{}", e),
49        };
50        
51        let body = match res.json::<serde_json::Value>().await {
52            Ok(json) => json,
53            Err(e) => panic!("{}", e),
54        };
55        
56        assert_eq!(body["message"].as_str().unwrap(), "John Doe");
57        server_handle.abort();
58    }
59}