@@ -7,7 +7,7 @@ import com.datastax.driver.core.{Host, PreparedStatement, RegularStatement, Resu
77import com .evolutiongaming .scassandra .CassandraSession
88
99object CassandraSessionStub {
10-
10+ // Doesn't inject failures on statements preparation since we don't prepare them on each call.
1111 def injectFailures [F [_]](
1212 session : CassandraSession [F ],
1313 failAfter : Ref [F , Int ]
@@ -24,49 +24,6 @@ object CassandraSessionStub {
2424 override def init : F [Unit ] = F .unit
2525 override def execute (query : String ): F [ResultSet ] = failed.ifM(fail(query), session.execute(query))
2626
27- override def execute (query : String , values : Any * ): F [ResultSet ] =
28- failed.ifM(fail(query), session.execute(query, values : _* ))
29-
30- override def execute (query : String , values : Map [String , AnyRef ]): F [ResultSet ] =
31- failed.ifM(fail(query), session.execute(query, values))
32-
33- override def execute (statement : Statement ): F [ResultSet ] =
34- failed.ifM(fail(statement.toString), session.execute(statement))
35-
36- override def prepare (query : String ): F [PreparedStatement ] =
37- failed.ifM(fail(query), session.prepare(query))
38-
39- override def prepare (statement : RegularStatement ): F [PreparedStatement ] =
40- failed.ifM(fail(statement.toString), session.prepare(statement))
41-
42- override def state : CassandraSession .State [F ] = new CassandraSession .State [F ] {
43- override def connectedHosts : F [Iterable [Host ]] = F .pure(Iterable .empty)
44- override def openConnections (host : Host ): F [Int ] = F .pure(0 )
45- override def trashedConnections (host : Host ): F [Int ] = F .pure(0 )
46- override def inFlightQueries (host : Host ): F [Int ] = F .pure(0 )
47- }
48-
49- }
50-
51- // Doesn't inject failures on statements preparation since we want to avoid preparing them on each call.
52- // This is a temporary method to be used in specs that test the classes that have already been migrated to
53- // preparing statements in advance
54- def injectFailuresOnExecute [F [_]](
55- session : CassandraSession [F ],
56- failAfter : Ref [F , Int ]
57- )(implicit F : MonadThrow [F ]): CassandraSession [F ] = new CassandraSession [F ] {
58- def fail [T ](query : String ): F [T ] = F .raiseError {
59- new RuntimeException (s " CassandraSessionStub: failing after proper calls exhausted: $query" )
60- }
61-
62- val failed = failAfter modify { failAfter =>
63- (failAfter - 1 , failAfter <= 0 )
64- }
65-
66- override def loggedKeyspace : F [Option [String ]] = F .pure(None )
67- override def init : F [Unit ] = F .unit
68- override def execute (query : String ): F [ResultSet ] = failed.ifM(fail(query), session.execute(query))
69-
7027 override def execute (query : String , values : Any * ): F [ResultSet ] =
7128 failed.ifM(fail(query), session.execute(query, values : _* ))
7229
0 commit comments