@@ -3,10 +3,45 @@ use scylla::{
3
3
batch:: { Batch , BatchType } ,
4
4
query:: Query ,
5
5
response:: PagingState ,
6
+ statement:: SerialConsistency ,
6
7
} ;
8
+ use scylla_cql:: Consistency ;
7
9
use std:: collections:: HashSet ;
8
10
use std:: sync:: { Arc , Mutex } ;
9
11
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
+
10
45
#[ tokio:: test]
11
46
async fn test_timestamp ( ) {
12
47
setup_tracing ( ) ;
0 commit comments