Improve QueryRunner 50% failure rate test

This commit is contained in:
Travis Burtrum 2018-04-18 00:18:19 -04:00
parent 64e500ca2a
commit 49296f1f2a

View File

@ -25,10 +25,11 @@ public class PersonDAOQueryRunnerTest {
@Test @Test
public void testPerson() throws Exception { public void testPerson() throws Exception {
//final QueryRunner<ListQueryMapper> lqr = pqr.withFactory(() -> new ListQueryMapper(QueryMapperTest::getConnection)); //final QueryRunner<ListQueryMapper> lqr = pqr.withFactory(() -> new ListQueryMapper(QueryMapperTest::getConnection));
final int[] failCount = new int[]{0};
assertEquals(fieldPerson1, pqr.runRetryFuture(new QueryRunner.Runner<PersonDAO, Person>() { assertEquals(fieldPerson1, pqr.runRetryFuture(new QueryRunner.Runner<PersonDAO, Person>() {
@Override @Override
public Person run(final PersonDAO dao) throws SQLException { public Person run(final PersonDAO dao) throws SQLException {
if(Math.random() < 0.5) { if(++failCount[0] < 5) {
System.out.println("fake fail"); System.out.println("fake fail");
throw new SQLException("fake 50% failure rate"); throw new SQLException("fake 50% failure rate");
} }