@Override public void start() { DatabaseCharsetChecker.State state = DatabaseCharsetChecker.State.STARTUP; if (upgradeStatus.isUpgraded()) { state = DatabaseCharsetChecker.State.UPGRADE; } else if (upgradeStatus.isFreshInstall()) { state = DatabaseCharsetChecker.State.FRESH_INSTALL; } charsetChecker.check(state); }
@Test public void test_upgrade() { when(upgradeStatus.isUpgraded()).thenReturn(true); underTest.start(); verify(charsetChecker).check(DatabaseCharsetChecker.State.UPGRADE); }
@Test public void test_regular_startup() { when(upgradeStatus.isFreshInstall()).thenReturn(false); underTest.start(); verify(charsetChecker).check(DatabaseCharsetChecker.State.STARTUP); } }
@Test public void test_fresh_install() { when(upgradeStatus.isFreshInstall()).thenReturn(true); underTest.start(); verify(charsetChecker).check(DatabaseCharsetChecker.State.FRESH_INSTALL); }
@Test public void executes_handler() throws Exception { Oracle dialect = new Oracle(); when(underTest.getHandler(dialect)).thenReturn(handler); when(db.getDialect()).thenReturn(dialect); underTest.check(DatabaseCharsetChecker.State.UPGRADE); verify(handler).handle(any(Connection.class), eq(DatabaseCharsetChecker.State.UPGRADE)); }
@Test public void throws_ISE_if_handler_fails() throws Exception { Oracle dialect = new Oracle(); when(underTest.getHandler(dialect)).thenReturn(handler); when(db.getDialect()).thenReturn(dialect); doThrow(new SQLException("failure")).when(handler).handle(any(Connection.class), any(DatabaseCharsetChecker.State.class)); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("failure"); underTest.check(DatabaseCharsetChecker.State.UPGRADE); }
@Override public void start() { DatabaseCharsetChecker.State state = DatabaseCharsetChecker.State.STARTUP; if (upgradeStatus.isUpgraded()) { state = DatabaseCharsetChecker.State.UPGRADE; } else if (upgradeStatus.isFreshInstall()) { state = DatabaseCharsetChecker.State.FRESH_INSTALL; } charsetChecker.check(state); }