package Ġsql c . runtime Ċ Ċ import Ġcom . example . authors . Queries Impl Ċ import Ġcom . n ha ar man . mock it ok otlin 2 .* Ċ import Ġorg . junit . jupiter . api . Test Ċ import Ġorg . junit . jupiter . api . assert Throws Ċ import Ġjava . lang . Exception Ċ import Ġjava . sql . Connection Ċ import Ġjava . sql . PreparedStatement Ċ import Ġjava . time . Duration Ċ Ċ internal Ġclass ĠQuery Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Set Timeout () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Timeout Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġval Ġstmt Mock Ġ= Ġmock < PreparedStatement >() ĊĠĠĠĠĠĠĠ Ġval Ġconn Mock Ġ= Ġmock < Connection >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprepare Statement ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġdo Return Ġstmt Mock ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġqueries Ġ= ĠQueries Impl ( conn Mock ) ĊĠĠĠĠĠĠĠ Ġqueries . delete Author ( 1 ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtimeout Ġ= ĠDuration . of Seconds ( test Timeout . to Long ()) ĊĠĠĠĠĠĠĠ Ġ}. execute () ĊĊĠĠĠĠĠĠĠ Ġ// ĠVerify Ġthat Ġthe Ġtimeout Ġis Ġapplied , Ġbefore Ġexecuting Ġthe Ġstatement ĊĠĠĠĠĠĠĠ Ġin Order ( stmt Mock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( stmt Mock ). query Timeout Ġ= Ġtest Timeout ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( stmt Mock ). execute () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Cancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstmt Mock Ġ= Ġmock < PreparedStatement >() ĊĠĠĠĠĠĠĠ Ġval Ġconn Mock Ġ= Ġmock < Connection >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprepare Statement ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġdo Return Ġstmt Mock ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġqueries Ġ= ĠQueries Impl ( conn Mock ) ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġqueries . delete Author ( 1 ) ĊĠĠĠĠĠĠĠ Ġquery . execute () ĊĠĠĠĠĠĠĠ Ġquery . cancel () ĊĊĠĠĠĠĠĠĠ Ġin Order ( stmt Mock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( stmt Mock ). execute () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġverify ( stmt Mock ). cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Cancel Before Execute () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstmt Mock Ġ= Ġmock < PreparedStatement >() ĊĠĠĠĠĠĠĠ Ġval Ġconn Mock Ġ= Ġmock < Connection >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprepare Statement ( any ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġdo Return Ġstmt Mock ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġqueries Ġ= ĠQueries Impl ( conn Mock ) ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġqueries . delete Author ( 1 ) ĊĠĠĠĠĠĠĠ ĠassertThrows < Exception > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġquery . cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }