@@ -3,27 +3,57 @@ extern crate log;
33
44use futures:: stream;
55use rsocket_rust:: prelude:: * ;
6+ use std:: thread:: sleep;
7+ use std:: time:: Duration ;
8+ use tokio:: runtime:: Runtime ;
9+
10+ fn init ( ) {
11+ let _ = env_logger:: builder ( )
12+ . format_timestamp_millis ( )
13+ . is_test ( true )
14+ . try_init ( ) ;
15+ }
616
7- #[ tokio:: main]
817#[ test]
9- #[ ignore]
10- async fn test_client ( ) {
11- env_logger:: builder ( ) . init ( ) ;
12- let cli = RSocketFactory :: connect ( )
13- . acceptor ( || Box :: new ( EchoRSocket ) )
14- . transport ( "tcp://127.0.0.1:7878" )
15- . setup ( Payload :: from ( "READY!" ) )
16- . mime_type ( "text/plain" , "text/plain" )
17- . start ( )
18- . await
19- . unwrap ( ) ;
18+ fn test_client ( ) {
19+ init ( ) ;
20+
21+ let server_runtime = Runtime :: new ( ) . unwrap ( ) ;
22+
23+ // spawn a server
24+ server_runtime. spawn ( async move {
25+ RSocketFactory :: receive ( )
26+ . transport ( "tcp://127.0.0.1:7878" )
27+ . acceptor ( |setup, _socket| {
28+ info ! ( "accept setup: {:?}" , setup) ;
29+ Ok ( Box :: new ( EchoRSocket ) )
30+ } )
31+ . on_start ( || info ! ( "+++++++ echo server started! +++++++" ) )
32+ . serve ( )
33+ . await
34+ } ) ;
35+
36+ sleep ( Duration :: from_millis ( 500 ) ) ;
37+
38+ let mut client_runtime = Runtime :: new ( ) . unwrap ( ) ;
39+
40+ client_runtime. block_on ( async {
41+ let cli = RSocketFactory :: connect ( )
42+ . acceptor ( || Box :: new ( EchoRSocket ) )
43+ . transport ( "tcp://127.0.0.1:7878" )
44+ . setup ( Payload :: from ( "READY!" ) )
45+ . mime_type ( "text/plain" , "text/plain" )
46+ . start ( )
47+ . await
48+ . unwrap ( ) ;
2049
21- exec_metadata_push ( & cli) . await ;
22- exec_fire_and_forget ( & cli) . await ;
23- exec_request_response ( & cli) . await ;
24- exec_request_stream ( & cli) . await ;
25- exec_request_channel ( & cli) . await ;
26- cli. close ( ) ;
50+ exec_metadata_push ( & cli) . await ;
51+ exec_fire_and_forget ( & cli) . await ;
52+ exec_request_response ( & cli) . await ;
53+ exec_request_stream ( & cli) . await ;
54+ exec_request_channel ( & cli) . await ;
55+ cli. close ( ) ;
56+ } ) ;
2757}
2858
2959#[ tokio:: main]
0 commit comments