use of org.cerberus.crud.entity.TestCaseStep in project cerberus-source by cerberustesting.
the class TestCaseStepDAO method readByLibraryUsed.
@Override
public AnswerList readByLibraryUsed(String test, String testcase, int step) {
AnswerList response = new AnswerList();
MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
List<TestCaseStep> stepList = new ArrayList<TestCaseStep>();
StringBuilder query = new StringBuilder();
query.append("SELECT * FROM testcasestep tcs WHERE tcs.useStep = 'Y' AND tcs.useStepTest = ? AND tcs.useStepTestCase = ? AND tcs.useStepStep = ?");
Connection connection = this.databaseSpring.connect();
try {
PreparedStatement preStat = connection.prepareStatement(query.toString());
try {
preStat.setString(1, test);
preStat.setString(2, testcase);
preStat.setInt(3, step);
ResultSet resultSet = preStat.executeQuery();
try {
// gets the data
while (resultSet.next()) {
stepList.add(this.loadFromResultSet(resultSet));
}
// get the total number of rows
resultSet = preStat.executeQuery("SELECT FOUND_ROWS()");
int nrTotalRows = 0;
if (resultSet != null && resultSet.next()) {
nrTotalRows = resultSet.getInt(1);
}
if (stepList.size() >= MAX_ROW_SELECTED) {
// Result of SQl was limited by MAX_ROW_SELECTED constrain. That means that we may miss some lines in the resultList.
LOG.error("Partial Result in the query.");
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_WARNING_PARTIAL_RESULT);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Maximum row reached : " + MAX_ROW_SELECTED));
response = new AnswerList(stepList, stepList.size());
} else if (stepList.size() <= 0) {
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_NO_DATA_FOUND);
response = new AnswerList(stepList, stepList.size());
} else {
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_OK);
msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME).replace("%OPERATION%", "SELECT"));
response = new AnswerList(stepList, stepList.size());
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
if (resultSet != null) {
resultSet.close();
}
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
if (preStat != null) {
preStat.close();
}
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
try {
if (!this.databaseSpring.isOnTransaction()) {
if (connection != null) {
connection.close();
}
}
} catch (SQLException exception) {
LOG.warn("Unable to close connection : " + exception.toString());
}
}
response.setResultMessage(msg);
return response;
}
use of org.cerberus.crud.entity.TestCaseStep in project cerberus-source by cerberustesting.
the class TestCaseStepDAO method findTestCaseStep.
@Override
public TestCaseStep findTestCaseStep(String test, String testcase, Integer step) {
TestCaseStep result = null;
final String query = "SELECT * FROM testcasestep WHERE test = ? AND testcase = ? AND step = ?";
// Debug message on SQL.
if (LOG.isDebugEnabled()) {
LOG.debug("SQL : " + query);
}
Connection connection = this.databaseSpring.connect();
try {
PreparedStatement preStat = connection.prepareStatement(query);
try {
preStat.setString(1, test);
preStat.setString(2, testcase);
preStat.setInt(3, step);
ResultSet resultSet = preStat.executeQuery();
try {
if (resultSet.first()) {
result = loadFromResultSet(resultSet);
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
} finally {
resultSet.close();
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
} finally {
preStat.close();
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
LOG.warn("Exception Closing the connection : " + e.toString());
}
}
return result;
}
use of org.cerberus.crud.entity.TestCaseStep in project cerberus-source by cerberustesting.
the class TestCaseStepDAO method readByTestTestCase.
@Override
public AnswerList readByTestTestCase(String test, String testcase) {
AnswerList response = new AnswerList();
MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
List<TestCaseStep> stepList = new ArrayList<TestCaseStep>();
StringBuilder query = new StringBuilder();
query.append("SELECT tcs.*, CASE WHEN tcs1.test + tcs1.testcase + tcs1.step is NULL THEN 0 ELSE 1 END as isStepInUseByOtherTestCase FROM testcasestep tcs LEFT JOIN testcasestep tcs1 ON tcs1.useStep = 'Y' AND tcs1.useStepTest = ? AND tcs1.useStepTestCase = ? AND tcs1.useStepStep = tcs.step WHERE tcs.test = ? AND tcs.testcase = ? GROUP BY tcs.test, tcs.testcase, tcs.step ORDER BY tcs.sort");
Connection connection = this.databaseSpring.connect();
try {
PreparedStatement preStat = connection.prepareStatement(query.toString());
try {
preStat.setString(1, test);
preStat.setString(2, testcase);
preStat.setString(3, test);
preStat.setString(4, testcase);
ResultSet resultSet = preStat.executeQuery();
try {
// gets the data
while (resultSet.next()) {
stepList.add(this.loadFromResultSet(resultSet));
}
// get the total number of rows
resultSet = preStat.executeQuery("SELECT FOUND_ROWS()");
int nrTotalRows = 0;
if (resultSet != null && resultSet.next()) {
nrTotalRows = resultSet.getInt(1);
}
if (stepList.size() >= MAX_ROW_SELECTED) {
// Result of SQl was limited by MAX_ROW_SELECTED constrain. That means that we may miss some lines in the resultList.
LOG.error("Partial Result in the query.");
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_WARNING_PARTIAL_RESULT);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Maximum row reached : " + MAX_ROW_SELECTED));
response = new AnswerList(stepList, stepList.size());
} else if (stepList.size() <= 0) {
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_NO_DATA_FOUND);
response = new AnswerList(stepList, stepList.size());
} else {
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_OK);
msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME).replace("%OPERATION%", "SELECT"));
response = new AnswerList(stepList, stepList.size());
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
if (resultSet != null) {
resultSet.close();
}
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
if (preStat != null) {
preStat.close();
}
}
} catch (SQLException exception) {
LOG.error("Unable to execute query : " + exception.toString());
msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", "Unable to retrieve the list of entries!"));
} finally {
try {
if (!this.databaseSpring.isOnTransaction()) {
if (connection != null) {
connection.close();
}
}
} catch (SQLException exception) {
LOG.warn("Unable to close connection : " + exception.toString());
}
}
response.setResultMessage(msg);
return response;
}
use of org.cerberus.crud.entity.TestCaseStep in project cerberus-source by cerberustesting.
the class TestCaseStepDAO method loadFromResultSet.
private TestCaseStep loadFromResultSet(ResultSet resultSet) throws SQLException {
if (resultSet == null) {
return null;
}
String test = resultSet.getString("test") == null ? "" : resultSet.getString("test");
String testcase = resultSet.getString("testcase") == null ? "" : resultSet.getString("testcase");
int step = resultSet.getInt("step") == 0 ? 0 : resultSet.getInt("step");
int sort = resultSet.getInt("sort");
String loop = resultSet.getString("loop") == null ? "" : resultSet.getString("loop");
String conditionOper = resultSet.getString("conditionOper") == null ? "" : resultSet.getString("conditionOper");
String conditionVal1 = resultSet.getString("conditionVal1") == null ? "" : resultSet.getString("conditionVal1");
String conditionVal2 = resultSet.getString("conditionVal2") == null ? "" : resultSet.getString("conditionVal2");
String description = resultSet.getString("description") == null ? "" : resultSet.getString("description");
String useStep = resultSet.getString("useStep") == null ? "" : resultSet.getString("useStep");
String useStepTest = resultSet.getString("useStepTest") == null ? "" : resultSet.getString("useStepTest");
String useStepTestCase = resultSet.getString("useStepTestCase") == null ? "" : resultSet.getString("useStepTestCase");
int useStepStep = resultSet.getInt("useStepStep") == 0 ? 0 : resultSet.getInt("useStepStep");
String inLibrary = resultSet.getString("inLibrary") == null ? "" : resultSet.getString("inLibrary");
TestCaseStep tcs = factoryTestCaseStep.create(test, testcase, step, sort, loop, conditionOper, conditionVal1, conditionVal2, description, useStep, useStepTest, useStepTestCase, useStepStep, inLibrary);
try {
resultSet.findColumn("isStepInUseByOtherTestCase");
boolean isStepInUseByOtherTestCase = resultSet.getInt("isStepInUseByOtherTestCase") == 1 ? true : false;
tcs.setIsStepInUseByOtherTestCase(isStepInUseByOtherTestCase);
} catch (SQLException sqlex) {
// That means there is not this column, so nothing to do
}
return tcs;
}
use of org.cerberus.crud.entity.TestCaseStep in project cerberus-source by cerberustesting.
the class TestCaseService method findUseTestCaseList.
@Override
public List<TestCase> findUseTestCaseList(String test, String testCase) throws CerberusException {
List<TestCase> result = new ArrayList();
List<TestCaseStep> tcsList = testCaseStepService.getListOfSteps(test, testCase);
for (TestCaseStep tcs : tcsList) {
if (("Y").equals(tcs.getUseStep())) {
result.add(this.findTestCaseByKey(tcs.getUseStepTest(), tcs.getUseStepTestCase()));
}
}
return result;
}
Aggregations