@Test(expected = IllegalStateException.class) public void testBadGeneratedId() throws Exception { Field field = GeneratedId.class.getField("id"); DatabaseType mockDb = createMock(DatabaseType.class); expect(mockDb.isIdSequenceNeeded()).andReturn(false); DataPersister dataPersister = createMock(DataPersister.class); expect(mockDb.getDataPersister(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(mockDb.getFieldConverter(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(mockDb.isEntityNamesMustBeUpCase()).andReturn(false); replay(mockDb); connectionSource.setDatabaseType(mockDb); try { FieldType fieldType = FieldType.createFieldType(connectionSource, "foo", field, GeneratedId.class); verify(mockDb); StringBuilder sb = new StringBuilder(); List<String> statementsBefore = new ArrayList<String>(); databaseType.appendColumnArg(null, sb, fieldType, null, statementsBefore, null, null); } finally { connectionSource.setDatabaseType(databaseType); } }
@Test(expected = IllegalStateException.class) public void testBadGeneratedId() throws Exception { Field field = GeneratedId.class.getField("id"); DatabaseType databaseType = createMock(DatabaseType.class); expect(databaseType.isIdSequenceNeeded()).andReturn(false); DataPersister dataPersister = createMock(DataPersister.class); expect(databaseType.getDataPersister(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(databaseType.getFieldConverter(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(databaseType.isEntityNamesMustBeUpCase()).andReturn(true); expect(databaseType.upCaseEntityName("id")).andReturn("ID"); replay(databaseType); connectionSource.setDatabaseType(databaseType); try { FieldType fieldType = FieldType.createFieldType(connectionSource, "foo", field, GeneratedId.class); verify(databaseType); StringBuilder sb = new StringBuilder(); List<String> statementsBefore = new ArrayList<String>(); databaseType.appendColumnArg(null, sb, fieldType, null, statementsBefore, null, null); } finally { connectionSource.setDatabaseType(databaseType); } }
@Test(expected = IllegalStateException.class) public void testBadGeneratedId() throws Exception { if (connectionSource == null) { throw new IllegalStateException("Simulate a failure"); } Field field = GeneratedId.class.getField("id"); DatabaseType mockDb = createMock(DatabaseType.class); expect(mockDb.isIdSequenceNeeded()).andReturn(false); DataPersister dataPersister = createMock(DataPersister.class); expect(mockDb.getDataPersister(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(mockDb.getFieldConverter(isA(DataPersister.class), isA(FieldType.class))).andReturn(dataPersister); expect(mockDb.isEntityNamesMustBeUpCase()).andReturn(false); replay(mockDb); connectionSource.setDatabaseType(mockDb); try { FieldType fieldType = FieldType.createFieldType(connectionSource, "foo", field, GeneratedId.class); verify(mockDb); StringBuilder sb = new StringBuilder(); List<String> statementsBefore = new ArrayList<String>(); databaseType.appendColumnArg(null, sb, fieldType, null, statementsBefore, null, null); } finally { connectionSource.setDatabaseType(databaseType); } }
private void doOpenConnectionSource() throws Exception { if (connectionSource == null) { isConnectionExpected = isConnectionExpected(); if (isConnectionExpected) { connectionSource = new JdbcConnectionSource(databaseUrl, userName, password); } } if (databaseType == null) { if (connectionSource != null) { databaseType = connectionSource.getDatabaseType(); } } else { if (connectionSource != null) { connectionSource.setDatabaseType(databaseType); } } }
@Override @Test public void testLimitFormat() throws Exception { if (connectionSource == null) { return; } Dao<StringId, String> dao; try { connectionSource.setDatabaseType(databaseType); dao = createDao(StringId.class, false); } finally { connectionSource.setDatabaseType(new H2DatabaseType()); } QueryBuilder<StringId, String> qb = dao.queryBuilder(); long limit = 1232; qb.limit(limit); String query = qb.prepareStatementString(); assertTrue(query + " should start with stuff", query.startsWith("SELECT TOP " + limit + " ")); }
@Override @Test public void testLimitFormat() throws Exception { connectionSource.setDatabaseType(databaseType); BaseDaoImpl<StringId, String> dao = new BaseDaoImpl<StringId, String>(connectionSource, StringId.class) { }; dao.initialize(); QueryBuilder<StringId, String> qb = dao.queryBuilder(); long limit = 1232; qb.limit(limit); String query = qb.prepareStatementString(); assertTrue(query + " should start with stuff", query.startsWith("SELECT LIMIT 0 " + limit + " ")); }
@Test public void testSetDatabaseType() throws Exception { JdbcConnectionSource sds = new JdbcConnectionSource(); sds.setUrl("jdbc:h2:mem:baz"); sds.setDatabaseType(new H2DatabaseType()); sds.initialize(); assertTrue(sds.getDatabaseType() instanceof H2DatabaseType); sds.close(); }