@Test(expected = SQLException.class) public void testSaveDifferentConnection() throws Exception { OurConnectionSource cs = new OurConnectionSource(); DatabaseConnection conn = cs.getReadOnlyConnection(null); cs.saveSpecialConnection(conn); cs.saveSpecialConnection(createMock(DatabaseConnection.class)); cs.close(); }
@Test public void testClearDifferentConnection() throws Exception { OurConnectionSource cs = new OurConnectionSource(); DatabaseConnection conn = cs.getReadOnlyConnection(null); cs.saveSpecialConnection(conn); cs.clearSpecialConnection(createMock(DatabaseConnection.class)); cs.close(); }
@Override public DatabaseConnection getReadWriteConnection(String tableName) { DatabaseConnection conn = getSavedConnection(); if (conn == null) { return createMock(DatabaseConnection.class); } else { return conn; } }
@Test public void testBasicStuff() throws Exception { OurConnectionSource cs = new OurConnectionSource(); assertFalse(cs.isSavedConnection(createMock(DatabaseConnection.class))); DatabaseConnection conn = cs.getReadOnlyConnection(null); assertNotNull(conn); assertNull(cs.getSpecialConnection(null)); cs.saveSpecialConnection(conn); assertSame(conn, cs.getSpecialConnection(null)); assertTrue(cs.isSavedConnection(conn)); assertFalse(cs.isSavedConnection(createMock(DatabaseConnection.class))); DatabaseConnection conn2 = cs.getReadOnlyConnection(null); assertSame(conn, conn2); assertNotNull(conn2); cs.clearSpecialConnection(conn); assertNull(cs.getSpecialConnection(null)); assertFalse(cs.isSavedConnection(conn)); assertNull(cs.getSavedConnection()); cs.close(); }
@Override public void clearSpecialConnection(DatabaseConnection connection) { clearSpecial(connection, logger); }
@Override public boolean saveSpecialConnection(DatabaseConnection connection) throws SQLException { return saveSpecial(connection); }
@Override public DatabaseConnection getReadOnlyConnection(String tableName) { return getReadWriteConnection(tableName); }
@Test public void testNestedSave() throws Exception { OurConnectionSource cs = new OurConnectionSource(); DatabaseConnection conn = cs.getReadOnlyConnection(null); cs.saveSpecialConnection(conn); cs.saveSpecialConnection(conn); cs.clearSpecialConnection(conn); assertEquals(conn, cs.getSpecialConnection(null)); cs.close(); }
@Test public void testClearNone() { OurConnectionSource cs = new OurConnectionSource(); cs.clearSpecialConnection(createMock(DatabaseConnection.class)); cs.close(); }