@@ -325,14 +325,22 @@ def test_conditional_update(self):
325325 statement = SimpleStatement (
326326 "UPDATE test3rf.test SET v=1 WHERE k=0 IF v=1" ,
327327 serial_consistency_level = ConsistencyLevel .SERIAL )
328- result = self .session .execute (statement )
328+ # crazy test, but PYTHON-299
329+ # TODO: expand to check more parameters get passed to statement, and on to messages
330+ self .assertEqual (statement .serial_consistency_level , ConsistencyLevel .SERIAL )
331+ future = self .session .execute_async (statement )
332+ result = future .result ()
333+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .SERIAL )
329334 self .assertEqual (1 , len (result ))
330335 self .assertFalse (result [0 ].applied )
331336
332337 statement = SimpleStatement (
333338 "UPDATE test3rf.test SET v=1 WHERE k=0 IF v=0" ,
334- serial_consistency_level = ConsistencyLevel .SERIAL )
335- result = self .session .execute (statement )
339+ serial_consistency_level = ConsistencyLevel .LOCAL_SERIAL )
340+ self .assertEqual (statement .serial_consistency_level , ConsistencyLevel .LOCAL_SERIAL )
341+ future = self .session .execute_async (statement )
342+ result = future .result ()
343+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .LOCAL_SERIAL )
336344 self .assertEqual (1 , len (result ))
337345 self .assertTrue (result [0 ].applied )
338346
@@ -342,15 +350,39 @@ def test_conditional_update_with_prepared_statements(self):
342350 "UPDATE test3rf.test SET v=1 WHERE k=0 IF v=2" )
343351
344352 statement .serial_consistency_level = ConsistencyLevel .SERIAL
345- result = self .session .execute (statement )
353+ future = self .session .execute_async (statement )
354+ result = future .result ()
355+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .SERIAL )
346356 self .assertEqual (1 , len (result ))
347357 self .assertFalse (result [0 ].applied )
348358
349359 statement = self .session .prepare (
350360 "UPDATE test3rf.test SET v=1 WHERE k=0 IF v=0" )
351361 bound = statement .bind (())
352- bound .serial_consistency_level = ConsistencyLevel .SERIAL
353- result = self .session .execute (statement )
362+ bound .serial_consistency_level = ConsistencyLevel .LOCAL_SERIAL
363+ future = self .session .execute_async (bound )
364+ result = future .result ()
365+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .LOCAL_SERIAL )
366+ self .assertEqual (1 , len (result ))
367+ self .assertTrue (result [0 ].applied )
368+
369+ def test_conditional_update_with_batch_statements (self ):
370+ self .session .execute ("INSERT INTO test3rf.test (k, v) VALUES (0, 0)" )
371+ statement = BatchStatement (serial_consistency_level = ConsistencyLevel .SERIAL )
372+ statement .add ("UPDATE test3rf.test SET v=1 WHERE k=0 IF v=1" )
373+ self .assertEqual (statement .serial_consistency_level , ConsistencyLevel .SERIAL )
374+ future = self .session .execute_async (statement )
375+ result = future .result ()
376+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .SERIAL )
377+ self .assertEqual (1 , len (result ))
378+ self .assertFalse (result [0 ].applied )
379+
380+ statement = BatchStatement (serial_consistency_level = ConsistencyLevel .LOCAL_SERIAL )
381+ statement .add ("UPDATE test3rf.test SET v=1 WHERE k=0 IF v=0" )
382+ self .assertEqual (statement .serial_consistency_level , ConsistencyLevel .LOCAL_SERIAL )
383+ future = self .session .execute_async (statement )
384+ result = future .result ()
385+ self .assertEqual (future .message .serial_consistency_level , ConsistencyLevel .LOCAL_SERIAL )
354386 self .assertEqual (1 , len (result ))
355387 self .assertTrue (result [0 ].applied )
356388
0 commit comments