@Test public void testInit() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.4.1.3"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); pagingQueryProvider.init(ds); }
@Test public void testInitWithRecentVersion() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.10.1.1"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); pagingQueryProvider.init(ds); }
@Test public void testInitWithUnsupportedVersion() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.2.9.9"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); try { pagingQueryProvider.init(ds); fail(); } catch (InvalidDataAccessResourceUsageException e) { // expected } }
provider.init(dataSource);
provider.init(dataSource);