private <T> void testUnhandledExceptionInHandler(TestContext testContext, BiConsumer<SQLConnection, Handler<AsyncResult<T>>> testMethod) { AtomicInteger count = new AtomicInteger(); Async async = testContext.async(); Context context = vertx.getOrCreateContext(); context.exceptionHandler(t -> { async.complete(); }).runOnContext(v -> { client.getConnection(testContext.asyncAssertSuccess(connection -> { setupSimpleTable(connection, testContext.asyncAssertSuccess(st -> { vertx.runOnContext(v2 -> { testMethod.accept(connection, ar -> { count.incrementAndGet(); throw new RuntimeException(); }); }); })); })); }); async.await(MILLISECONDS.convert(5, SECONDS)); assertEquals(1, count.get()); } }
@Test public void testSimpleSelect(TestContext context) { Async async = context.async(); client.getConnection(ar -> { if (ar.failed()) { context.fail(ar.cause()); return; } // Create table conn = ar.result(); setupSimpleTable(conn, ar2 -> conn.queryWithParams("SELECT name FROM test_table WHERE id=?", new JsonArray().add(2), ar3 -> { if (ar3.failed()) { context.fail(ar3.cause()); } else { final ResultSet res = ar3.result(); context.assertNotNull(res); context.assertEquals(res.getColumnNames().size(), 1); context.assertEquals(res.getColumnNames().get(0), "name"); context.assertEquals(Data.NAMES.get(2), res.getResults().get(0).getString(0)); async.complete(); } })); }); }
private <T> void testUnhandledExceptionInHandler(TestContext testContext, BiConsumer<SQLConnection, Handler<AsyncResult<T>>> testMethod) { AtomicInteger count = new AtomicInteger(); Async async = testContext.async(); Context context = vertx.getOrCreateContext(); context.exceptionHandler(t -> { async.complete(); }).runOnContext(v -> { client.getConnection(testContext.asyncAssertSuccess(connection -> { setupSimpleTable(connection, testContext.asyncAssertSuccess(st -> { vertx.runOnContext(v2 -> { testMethod.accept(connection, ar -> { count.incrementAndGet(); throw new RuntimeException(); }); }); })); })); }); async.await(MILLISECONDS.convert(5, SECONDS)); assertEquals(1, count.get()); } }
private <T> void testUnhandledExceptionInHandler(TestContext testContext, BiConsumer<SQLConnection, Handler<AsyncResult<T>>> testMethod) { AtomicInteger count = new AtomicInteger(); Async async = testContext.async(); Context context = vertx.getOrCreateContext(); context.exceptionHandler(t -> { async.complete(); }).runOnContext(v -> { client.getConnection(testContext.asyncAssertSuccess(connection -> { setupSimpleTable(connection, testContext.asyncAssertSuccess(st -> { vertx.runOnContext(v2 -> { testMethod.accept(connection, ar -> { count.incrementAndGet(); throw new RuntimeException(); }); }); })); })); }); async.await(MILLISECONDS.convert(5, SECONDS)); assertEquals(1, count.get()); } }
@Test public void testSimpleSelect(TestContext context) { Async async = context.async(); client.getConnection(ar -> { if (ar.failed()) { context.fail(ar.cause()); return; } // Create table conn = ar.result(); setupSimpleTable(conn, ar2 -> conn.queryWithParams("SELECT name FROM test_table WHERE id=?", new JsonArray().add(2), ar3 -> { if (ar3.failed()) { context.fail(ar3.cause()); } else { final ResultSet res = ar3.result(); context.assertNotNull(res); context.assertEquals(res.getColumnNames().size(), 1); context.assertEquals(res.getColumnNames().get(0), "name"); context.assertEquals(Data.NAMES.get(2), res.getResults().get(0).getString(0)); async.complete(); } })); }); }
@Test public void testSimpleSelect(TestContext context) { Async async = context.async(); client.getConnection(ar -> { if (ar.failed()) { context.fail(ar.cause()); return; } // Create table conn = ar.result(); setupSimpleTable(conn, ar2 -> conn.queryWithParams("SELECT name FROM test_table WHERE id=?", new JsonArray().add(2), ar3 -> { if (ar3.failed()) { context.fail(ar3.cause()); } else { final ResultSet res = ar3.result(); context.assertNotNull(res); context.assertEquals(res.getColumnNames().size(), 1); context.assertEquals(res.getColumnNames().get(0), "name"); context.assertEquals(Data.NAMES.get(2), res.getResults().get(0).getString(0)); async.complete(); } })); }); }
setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?",
setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?",
@Test public void testInsertion(TestContext context) { int id = 27; String name = "Adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.updateWithParams("INSERT INTO test_table (id, name) VALUES (?, ?)", new JsonArray().add(id).add(name), ar3 -> { ensureSuccess(context, ar3); conn.query("SELECT id, name FROM test_table ORDER BY id", ar4 -> { ensureSuccess(context, ar4); ResultSet resultSet = ar4.result(); context.assertEquals("Adele", resultSet.getResults().get(id - 1).getString(1)); async.complete(); }); }); }); }); }
@Test public void testInsertion(TestContext context) { int id = 27; String name = "Adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.updateWithParams("INSERT INTO test_table (id, name) VALUES (?, ?)", new JsonArray().add(id).add(name), ar3 -> { ensureSuccess(context, ar3); conn.query("SELECT id, name FROM test_table ORDER BY id", ar4 -> { ensureSuccess(context, ar4); ResultSet resultSet = ar4.result(); context.assertEquals("Adele", resultSet.getResults().get(id - 1).getString(1)); async.complete(); }); }); }); }); }
@Test public void testInsertion(TestContext context) { int id = 27; String name = "Adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.updateWithParams("INSERT INTO test_table (id, name) VALUES (?, ?)", new JsonArray().add(id).add(name), ar3 -> { ensureSuccess(context, ar3); conn.query("SELECT id, name FROM test_table ORDER BY id", ar4 -> { ensureSuccess(context, ar4); ResultSet resultSet = ar4.result(); context.assertEquals("Adele", resultSet.getResults().get(id - 1).getString(1)); async.complete(); }); }); }); }); }
@Test public void testRollingBackWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.rollback(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }
@Test public void testCommitWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.commit(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }
@Test public void testRollingBackWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.rollback(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }
@Test public void testCommitWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.commit(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }
@Test public void testCommitWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.commit(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }
@Test public void testRollingBackWhenNotInTransaction(TestContext context) { int id = 0; String name = "adele"; Async async = context.async(); client.getConnection(ar -> { ensureSuccess(context, ar); conn = ar.result(); setupSimpleTable(conn, ar2 -> { ensureSuccess(context, ar2); conn.setAutoCommit(false, ar3 -> { ensureSuccess(context, ar3); conn.updateWithParams("UPDATE test_table SET name=? WHERE id=?", new JsonArray().add(name).add(id), ar4 -> { ensureSuccess(context, ar4); conn.setAutoCommit(true, ar5 -> { ensureSuccess(context, ar5); conn.rollback(ar6 -> { context.assertTrue(ar6.failed()); async.complete(); }); }); }); }); }); }); }