Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.j256.ormlite.jdbc;
  
  import static org.easymock.EasyMock.createMock;
  import static org.easymock.EasyMock.expect;
  import static org.easymock.EasyMock.replay;
  import static org.easymock.EasyMock.verify;
  import static org.junit.Assert.assertEquals;
  
 
 import org.junit.Test;
 
 
 public class JdbcDatabaseConnectionTest extends BaseJdbcTest {
 
 	private static final String FOOINT_TABLE_NAME = "fooint";
 
 	@Test
 	public void testQueryForLong() throws Exception {
 		try {
 			Dao<FooObjectdao = createDao(Foo.classtrue);
 			Foo foo = new Foo();
 			long id = 21321321L;
 			foo.id = id;
 			assertEquals(1, dao.create(foo));
 			assertEquals(iddatabaseConnection.queryForLong("select id from foo"));
 		} finally {
 			.releaseConnection(databaseConnection);
 		}
 	}
 
 	@Test(expected = SQLException.class)
 	public void testQueryForLongNoResult() throws Exception {
 		try {
 			createDao(Foo.classtrue);
 			databaseConnection.queryForLong("select id from foo");
 		} finally {
 			.releaseConnection(databaseConnection);
 		}
 	}
 
 	@Test(expected = SQLException.class)
 	public void testQueryForLongTooManyResults() throws Exception {
 		try {
 			Dao<FooObjectdao = createDao(Foo.classtrue);
 			Foo foo = new Foo();
 			long id = 21321321L;
 			foo.id = id;
 			// insert twice
 			assertEquals(1, dao.create(foo));
 			assertEquals(1, dao.create(foo));
 			databaseConnection.queryForLong("select id from foo");
 		} finally {
 			.releaseConnection(databaseConnection);
 		}
 	}
 
 	@Test
 	public void testUpdateReleaseConnection() throws Exception {
 		Connection connection = createMock(Connection.class);
 		JdbcDatabaseConnection jdc = new JdbcDatabaseConnection(connection);
 		String statement = "statement";
 		expect(connection.prepareStatement(statement)).andReturn(prepStmt);
 		expect(prepStmt.executeUpdate()).andReturn(1);
 		// should close the statement
 		prepStmt.close();
 		replay(connectionprepStmt);
 		jdc.update(statementnew Object[0], new FieldType[0]);
 		verify(connectionprepStmt);
 	}
 
 	@Test
 	public void testInsertReleaseConnection() throws Exception {
 		Connection connection = createMock(Connection.class);
 		ResultSet resultSet = createMock(ResultSet.class);
 
 		JdbcDatabaseConnection jdc = new JdbcDatabaseConnection(connection);
 		String statement = "statement";
 		expect(connection.prepareStatement(statement, 1)).andReturn(prepStmt);
 		expect(prepStmt.executeUpdate()).andReturn(1);
		expect(prepStmt.getGeneratedKeys()).andReturn(resultSet);
		expect(resultSet.getMetaData()).andReturn(metaData);
		expect(resultSet.next()).andReturn(false);
		// should close the statement
		prepStmt.close();
		replay(connectionprepStmtkeyHolderresultSet);
		jdc.insert(statementnew Object[0], new FieldType[0], keyHolder);
		verify(connectionprepStmtkeyHolderresultSet);
	}
	public void testQueryForOneReleaseConnection() throws Exception {
		Connection connection = createMock(Connection.class);
		ResultSet resultSet = createMock(ResultSet.class);
		@SuppressWarnings("unchecked")
		String statement = "statement";
				prepStmt);
		expect(prepStmt.executeQuery()).andReturn(resultSet);
		expect(resultSet.next()).andReturn(false);
		expect(prepStmt.getMoreResults()).andReturn(false);
		// should close the statement
		prepStmt.close();
		replay(connectionprepStmtkeyHolderresultSetrowMapper);
		jdc.queryForOne(statementnew Object[0], new FieldType[0], rowMappernull);
		verify(connectionprepStmtkeyHolderresultSetrowMapper);
	}
	public void testQueryKeyHolderNoKeys() throws Exception {
		try {
			createDao(Foo.classtrue);
			keyHolder.addKey(0L);
			replay(keyHolder);
			databaseConnection.insert("insert into foo (id) values (2)"new Object[0], new FieldType[0], keyHolder);
			verify(keyHolder);
finally {
		}
	}
	public void testIdColumnInteger() throws Exception {
		// NOTE: this doesn't seem to generate an INTEGER type, oh well
		try {
			createDao(FooInt.classtrue);
			keyHolder.addKey(1L);
			replay(keyHolder);
			databaseConnection.insert("insert into fooint (stuff) values (2)"new Object[0], new FieldType[0],
					keyHolder);
			verify(keyHolder);
finally {
		}
	}
	public void testIdColumnInvalid() throws Exception {
		// NOTE: this doesn't seem to generate an INTEGER type, oh well
		try {
			createDao(FooInt.classtrue);
			keyHolder.addKey(1L);
			replay(keyHolder);
			databaseConnection.insert("insert into fooint (stuff) values ('zipper')"new Object[0], new FieldType[0],
					keyHolder);
			verify(keyHolder);
finally {
		}
	}
		// NOTE: trying to get the database to return a string as a result but could not figure it out
		try {
			createDao(FooString.classtrue);
			keyHolder.addKey(0L);
			replay(keyHolder);
			databaseConnection.insert("insert into fooint (id, stuff) values ('12', 'zipper')"new Object[0],
					new FieldType[0], keyHolder);
			verify(keyHolder);
finally {
		}
	}
	protected static class Foo {
		public long id;
		Foo() {
		}
	}
	protected static class FooInt {
		@DatabaseField(generatedId = true)
		public int id;
		public String stuff;
		FooInt() {
		}
	}
	protected static class FooString {
		@DatabaseField(id = true)
		public String id;
		public String stuff;
		}
	}
New to GrepCode? Check out our FAQ X