I want to write unit test cases for the following piece of code. These test will also run while deployment and code coverage will be displayed on a dashboard, so local DB mock can't be used.
QCConstants.selectQuery => select query string
QCConstants.updateQuery => insert/delete query string
public List<SomeModel> getData() {
Connection conn;
try {
conn = SQLDBConfig.getConnection();
PreparedStatement ps;
ResultSet rs;
ps = conn.prepareStatement(QCConstants.updateQuery);
ps.executeUpdate();
ps = conn.prepareStatement(QCConstants.selectQuery)
rs = ps.executeQuery();
List<SomeModel> list = new ArrayList();
while (rs.next()) {
SomeModel someModel = new SomeModel();
someModel.set_someId(rs.getInt(1));
someModel.set_someName(rs.getString(2));
someModel.set_someDesc(rs.getString(3));
list.add(someModel);
}
return list;
} catch (Exception e){
log.error("Exception occurred " + e.getMessage());
return null;
}
}