Browse Source

Add tracing support for server tests.

Jing Yang 4 năm trước cách đây
mục cha
commit
d8c9dcb116
1 tập tin đã thay đổi với 29 bổ sung16 xóa
  1. 29 16
      src/server.rs

+ 29 - 16
src/server.rs

@@ -165,6 +165,19 @@ mod tests {
         Arc::new(make_test_server())
     }
 
+    fn dispatch(
+        server: Arc<Server>,
+        service_method: String,
+        data: RequestMessage,
+    ) -> Result<ReplyMessage> {
+        futures::executor::block_on(server.dispatch(
+            service_method,
+            data,
+            #[cfg(feature = "tracing")]
+            TraceHolder::make(),
+        ))
+    }
+
     #[test]
     fn test_register_rpc_handler() -> Result<()> {
         let server = make_test_server();
@@ -191,13 +204,13 @@ mod tests {
     fn test_serve_rpc() -> Result<()> {
         let server = make_arc_test_server();
 
-        let reply = server.dispatch(
+        let reply = dispatch(
+            server,
             "echo".to_string(),
             RequestMessage::from_static(&[0x08, 0x07]),
-        );
-        let result = futures::executor::block_on(reply)?;
+        )?;
 
-        assert_eq!(ReplyMessage::from_static(&[0x07, 0x08]), result);
+        assert_eq!(ReplyMessage::from_static(&[0x07, 0x08]), reply);
         Ok(())
     }
 
@@ -205,8 +218,9 @@ mod tests {
     fn test_rpc_not_found() -> Result<()> {
         let server = make_arc_test_server();
 
-        let reply = server.dispatch("acorn".to_string(), RequestMessage::new());
-        match futures::executor::block_on(reply) {
+        let reply =
+            dispatch(server, "acorn".to_string(), RequestMessage::new());
+        match reply {
             Ok(_) => panic!("acorn service is not registered."),
             Err(e) => assert_eq!(e.kind(), std::io::ErrorKind::InvalidInput),
         }
@@ -217,9 +231,7 @@ mod tests {
     fn test_rpc_error() -> Result<()> {
         let server = make_arc_test_server();
 
-        let reply = futures::executor::block_on(
-            server.dispatch(Aborting.name(), RequestMessage::new()),
-        );
+        let reply = dispatch(server, Aborting.name(), RequestMessage::new());
 
         assert_eq!(
             reply
@@ -238,16 +250,17 @@ mod tests {
 
         for _ in 0..30 {
             let server_clone = server.clone();
-            let _ = futures::executor::block_on(
-                server_clone.dispatch(Aborting.name(), RequestMessage::new()),
-            );
+            let _ =
+                dispatch(server_clone, Aborting.name(), RequestMessage::new());
         }
 
-        let reply = server
-            .dispatch(Echo.name(), RequestMessage::from_static(&[0x08, 0x07]));
-        let result = futures::executor::block_on(reply)?;
+        let reply = dispatch(
+            server,
+            Echo.name(),
+            RequestMessage::from_static(&[0x08, 0x07]),
+        )?;
 
-        assert_eq!(ReplyMessage::from_static(&[0x07, 0x08]), result);
+        assert_eq!(ReplyMessage::from_static(&[0x07, 0x08]), reply);
 
         Ok(())
     }