Hades implements DataSource, HadesMBean { public void removePin() { failoverDataSourcePinned.set(notPinned); } Hades(DataSource mainDataSource, DataSource failoverDataSource, String mainDsName, String failoverDsName); void init(M monitor); Connection getConnection(); Connection getConnection(String username, String password); Connection getConnection(MonitorRunLogPrefix logPrefix, boolean failover); @Override String toString(); String desc(boolean failover); void pinMainDataSource(); void pinFailoverDataSource(); void removePin(); boolean getPinEnabled(); Boolean getFailoverDataSourcePinned(); boolean isFailoverActive(); String getActiveDataSourceName(); String getFailoverLoad(); String getMainLoad(); int getLoginTimeout(); PrintWriter getLogWriter(); void setLoginTimeout(int loginTimeout); void setLogWriter(PrintWriter printWriter); T unwrap(Class<T> iface); boolean isWrapperFor(Class<?> iface); M getMonitor(); String getFailoverDsName(); String getMainDsName(); String getDsName(boolean failover); String getDsName(boolean failover, boolean fixedWidth);  }
@Test public void shouldSucceedWhenRemovingPinWhichDoesNotExist() { Hades ds = new Hades(mock(DataSource.class), mock(DataSource.class), "m", "f"); ds.removePin(); ds.removePin(); }