@@ -3,10 +3,45 @@ use scylla::{
33 batch:: { Batch , BatchType } ,
44 query:: Query ,
55 response:: PagingState ,
6+ statement:: SerialConsistency ,
67} ;
8+ use scylla_cql:: Consistency ;
79use std:: collections:: HashSet ;
810use std:: sync:: { Arc , Mutex } ;
911
12+ #[ tokio:: test]
13+ async fn test_prepared_config ( ) {
14+ use std:: time:: Duration ;
15+
16+ setup_tracing ( ) ;
17+ let session = create_new_session_builder ( ) . build ( ) . await . unwrap ( ) ;
18+
19+ let mut query = Query :: new ( "SELECT * FROM system_schema.tables" ) ;
20+ query. set_is_idempotent ( true ) ;
21+ query. set_page_size ( 42 ) ;
22+ query. set_consistency ( Consistency :: One ) ;
23+ query. set_serial_consistency ( Some ( SerialConsistency :: LocalSerial ) ) ;
24+ query. set_tracing ( true ) ;
25+ query. set_request_timeout ( Some ( Duration :: from_millis ( 1 ) ) ) ;
26+ query. set_timestamp ( Some ( 42 ) ) ;
27+
28+ let prepared_statement = session. prepare ( query) . await . unwrap ( ) ;
29+
30+ assert ! ( prepared_statement. get_is_idempotent( ) ) ;
31+ assert_eq ! ( prepared_statement. get_page_size( ) , 42 ) ;
32+ assert_eq ! ( prepared_statement. get_consistency( ) , Some ( Consistency :: One ) ) ;
33+ assert_eq ! (
34+ prepared_statement. get_serial_consistency( ) ,
35+ Some ( SerialConsistency :: LocalSerial )
36+ ) ;
37+ assert ! ( prepared_statement. get_tracing( ) ) ;
38+ assert_eq ! (
39+ prepared_statement. get_request_timeout( ) ,
40+ Some ( Duration :: from_millis( 1 ) )
41+ ) ;
42+ assert_eq ! ( prepared_statement. get_timestamp( ) , Some ( 42 ) ) ;
43+ }
44+
1045#[ tokio:: test]
1146async fn test_timestamp ( ) {
1247 setup_tracing ( ) ;
0 commit comments