package org.nextprot.api.commons.dbunit;
import static org.junit.Assert.assertEquals;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import org.junit.Test;
import org.nextprot.api.commons.spring.jdbc.DataSourceServiceLocator;
import org.nextprot.api.commons.utils.SQLDictionary;
import org.springframework.beans.factory.annotation.Autowired;
public class SQLDictionaryTest extends CommonsUnitBaseTest {
@Autowired
private DataSourceServiceLocator dsLocator = null;
@Autowired
private SQLDictionary sqlDictionary;
/**
* @param args
*/
@Test
public void shouldGetTestQuery() {
String sql = sqlDictionary.getSQLQuery("test-query-for-unit-testing");
assertEquals("select * from nextprot.cv_databases\n", sql);
}
/**
* @param args
* @throws SQLException
*/
@Test
public void shouldExecuteAQuery() throws SQLException {
final int LIMIT = 10;
Connection c = dsLocator.getDataSource().getConnection();
PreparedStatement ps = c.prepareStatement(sqlDictionary.getSQLQuery("test-query-for-unit-testing"));
ResultSet rs = ps.executeQuery();
int j = 0;
while (rs.next() && (j < LIMIT)) {
j++;
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
if (j == 1) {
for (int i = 0; i < columnCount; i++) {
System.out.print(rsmd.getColumnLabel(i + 1));
System.out.print("\t");
}
System.out.println();
}
for (int i = 0; i < columnCount; i++) {
System.out.print(rs.getString(i + 1));
System.out.print("\t");
}
System.out.println();
}
rs.close();
ps.close();
c.close();
}
}