File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
libsql-server/tests/hrana Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1
1
use std:: time:: Duration ;
2
2
3
+ use futures:: StreamExt ;
3
4
use insta:: assert_json_snapshot;
4
5
use libsql:: { params, Database } ;
5
6
use libsql_server:: hrana_proto:: { Batch , BatchStep , Stmt } ;
@@ -316,3 +317,41 @@ fn stats_legacy() {
316
317
317
318
sim. run ( ) . unwrap ( ) ;
318
319
}
320
+
321
+ #[ test]
322
+ fn stream ( ) {
323
+ let mut sim = turmoil:: Builder :: new ( )
324
+ . simulation_duration ( Duration :: from_secs ( 1000 ) )
325
+ . build ( ) ;
326
+ sim. host ( "primary" , super :: make_standalone_server) ;
327
+ sim. client ( "client" , async {
328
+ let db = Database :: open_remote_with_connector ( "http://primary:8080" , "" , TurmoilConnector ) ?;
329
+ let conn = db. connect ( ) ?;
330
+
331
+ conn. execute ( "create table t(x text)" , ( ) ) . await ?;
332
+ conn. execute ( "insert into t(x) values(?)" , params ! [ "hello" ] )
333
+ . await ?;
334
+
335
+ conn. execute ( "insert into t(x) values(?)" , params ! [ "hello" ] )
336
+ . await ?;
337
+
338
+ conn. execute ( "insert into t(x) values(?)" , params ! [ "hello" ] )
339
+ . await ?;
340
+
341
+ conn. execute ( "insert into t(x) values(?)" , params ! [ "hello" ] )
342
+ . await ?;
343
+
344
+ let rows = conn
345
+ . query ( "select * from t where x = ?" , params ! [ "hello" ] )
346
+ . await ?
347
+ . into_stream ( ) ;
348
+
349
+ let rows = rows. collect :: < Vec < _ > > ( ) . await ;
350
+
351
+ assert_eq ! ( rows. len( ) , 4 ) ;
352
+
353
+ Ok ( ( ) )
354
+ } ) ;
355
+
356
+ sim. run ( ) . unwrap ( ) ;
357
+ }
You can’t perform that action at this time.
0 commit comments