@Test public void testTryWithResourceApi_ExactCurrentThread() throws Exception { try (Spy ignored = Sniffer.expect(2, Threads.CURRENT)) { executeStatements(2); } }
@Test public void testTryWithResourceApi_Exact() throws Exception { try (Spy ignored = Sniffer.expect(2)) { executeStatements(2); } }
@Test public void testExactlyOneThreadLocalInsert() throws Exception { try (Spy $= Sniffer.expect(1, Query.INSERT)) { executeStatement(Query.INSERT); } }
@Test public void testRunThrowsException() throws Exception { try { Sniffer.expect(1).run(() -> { throw new RuntimeException(); }); } catch (RuntimeException e) { assertNotNull(e); assertNull(e.getCause()); assertEquals(1, e.getSuppressed().length); assertTrue(WrongNumberOfQueriesError.class.isAssignableFrom(e.getSuppressed()[0].getClass())); } }
@Test public void testExecuteThrowsException() throws Exception { try { Sniffer.expect(1).execute(() -> { throw new RuntimeException(); }); } catch (RuntimeException e) { assertNotNull(e); assertNull(e.getCause()); assertEquals(1, e.getSuppressed().length); assertTrue(WrongNumberOfQueriesError.class.isAssignableFrom(e.getSuppressed()[0].getClass())); } }
@Test public void testCallThrowsException() throws Exception { try { Sniffer.expect(1).call(() -> { throw new RuntimeException(); }); } catch (RuntimeException e) { assertNotNull(e); assertNull(e.getCause()); assertEquals(1, e.getSuppressed().length); assertTrue(WrongNumberOfQueriesError.class.isAssignableFrom(e.getSuppressed()[0].getClass())); } }
@Test public void testExactlyOneOtherThreadInsert() throws Exception { try (Spy $= Sniffer.expect(1, Threads.OTHERS, Query.INSERT)) { executeStatement(Query.INSERT); executeStatementInOtherThread(Query.INSERT); executeStatements(2, Query.UPDATE); } }
@Test public void testExactlyTwoInsertsAnyThread() throws Exception { try (Spy $= Sniffer.expect(2, Query.INSERT, Threads.ANY)) { executeStatement(Query.INSERT); executeStatementInOtherThread(Query.INSERT); executeStatements(2, Query.UPDATE); } }
@Test public void testQueryFromOtherThread() { try (@SuppressWarnings("unused") Spy spy = Sniffer.expect(1)) { executeStatement(); executeStatement(Query.INSERT); executeStatementInOtherThread(); } catch (WrongNumberOfQueriesError e) { assertNotNull(e); assertEquals(1, e.getMinimumQueries()); assertEquals(1, e.getMaximumQueries()); assertEquals(2, e.getNumQueries()); assertEquals(2, e.getExecutedStatements().size()); assertEquals(2, e.getExecutedSqls().size()); } }