Best Cerberus-source code snippet using org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag.generateBugStats
Source:ReadTestCaseExecutionByTag.java
...117 jsonResponse.put("statsChart", generateStats(request, testCaseExecutions, statusFilter, countryFilter, true));118 }119 // BugTracker Recap120 if (outputReport.isEmpty() || outputReport.contains("bugTrackerStat")) {121 jsonResponse.put("bugTrackerStat", generateBugStats(request, testCaseExecutions, statusFilter, countryFilter));122 }123 // Labels Stats124 if (outputReport.isEmpty() || outputReport.contains("labelStat")) {125 jsonResponse.put("labelStat", generateLabelStats(appContext, request, testCaseExecutions, statusFilter, countryFilter));126 }127 if (!outputReport.isEmpty()) {128 //currently used to optimize the homePage129 if (outputReport.contains("totalStatsCharts") && !outputReport.contains("statsChart")) {130 jsonResponse.put("statsChart", generateStats(request, testCaseExecutions, statusFilter, countryFilter, false));131 }132 //currently used to optimize the homePage133 if (outputReport.contains("resendTag")) {134 jsonResponse.put("tag", Tag);135 }136 }137 Tag mytag = tagService.convert(tagService.readByKey(Tag));138 JSONObject tagJSON = convertTagToJSONObject(mytag);139 jsonResponse.put("tagObject", tagJSON);140 jsonResponse.put("tagDuration", (mytag.getDateEndQueue().getTime() - mytag.getDateCreated().getTime()) / 60000);141 answer.setItem(jsonResponse);142 answer.setResultMessage(answer.getResultMessage().resolveDescription("ITEM", "Tag Statistics").resolveDescription("OPERATION", "Read"));143 jsonResponse.put("messageType", answer.getResultMessage().getMessage().getCodeString());144 jsonResponse.put("message", answer.getResultMessage().getDescription());145 jsonResponse.put("sEcho", echo);146 response.getWriter().print(jsonResponse.toString());147 } catch (ParseException ex) {148 LOG.error("Error on main call : " + ex);149 } catch (CerberusException ex) {150 LOG.error("Error on main call : " + ex);151 } catch (JSONException ex) {152 LOG.error("Error on main call : " + ex);153 } catch (Exception ex) {154 LOG.error("Error on main call : " + ex);155 }156 }157 private JSONObject testCaseExecutionToJSONObject(TestCaseExecution testCaseExecution) throws JSONException {158 JSONObject result = new JSONObject();159 result.put("ID", String.valueOf(testCaseExecution.getId()));160 result.put("QueueID", String.valueOf(testCaseExecution.getQueueID()));161 result.put("Test", JavaScriptUtils.javaScriptEscape(testCaseExecution.getTest()));162 result.put("TestCase", JavaScriptUtils.javaScriptEscape(testCaseExecution.getTestCase()));163 result.put("Environment", JavaScriptUtils.javaScriptEscape(testCaseExecution.getEnvironment()));164 result.put("Start", testCaseExecution.getStart());165 result.put("End", testCaseExecution.getEnd());166 result.put("Country", JavaScriptUtils.javaScriptEscape(testCaseExecution.getCountry()));167 result.put("RobotDecli", JavaScriptUtils.javaScriptEscape(testCaseExecution.getRobotDecli()));168 result.put("ControlStatus", JavaScriptUtils.javaScriptEscape(testCaseExecution.getControlStatus()));169 result.put("ControlMessage", JavaScriptUtils.javaScriptEscape(testCaseExecution.getControlMessage()));170 result.put("Status", JavaScriptUtils.javaScriptEscape(testCaseExecution.getStatus()));171 result.put("NbExecutions", String.valueOf(testCaseExecution.getNbExecutions()));172 if (testCaseExecution.getQueueState() != null) {173 result.put("QueueState", JavaScriptUtils.javaScriptEscape(testCaseExecution.getQueueState()));174 }175 String bugId;176 String comment;177 String function;178 String shortDesc;179 if ((testCaseExecution.getTestCaseObj() != null) && (testCaseExecution.getTestCaseObj().getTest() != null)) {180 if (testCaseExecution.getApplicationObj() != null && testCaseExecution.getApplicationObj().getBugTrackerUrl() != null181 && !"".equals(testCaseExecution.getApplicationObj().getBugTrackerUrl()) && testCaseExecution.getTestCaseObj().getBugID() != null) {182 bugId = testCaseExecution.getApplicationObj().getBugTrackerUrl().replace("%BUGID%", testCaseExecution.getTestCaseObj().getBugID());183 bugId = new StringBuffer("<a href='")184 .append(bugId)185 .append("' target='reportBugID'>")186 .append(testCaseExecution.getTestCaseObj().getBugID())187 .append("</a>")188 .toString();189 } else {190 bugId = testCaseExecution.getTestCaseObj().getBugID();191 }192 comment = JavaScriptUtils.javaScriptEscape(testCaseExecution.getTestCaseObj().getComment());193 function = JavaScriptUtils.javaScriptEscape(testCaseExecution.getTestCaseObj().getFunction());194 shortDesc = testCaseExecution.getTestCaseObj().getDescription();195 } else {196 bugId = "";197 comment = "";198 function = "";199 shortDesc = "";200 }201 result.put("BugID", bugId);202 result.put("Priority", JavaScriptUtils.javaScriptEscape(String.valueOf(testCaseExecution.getTestCaseObj().getPriority())));203 result.put("Comment", comment);204 result.put("Function", function);205 result.put("ShortDescription", shortDesc);206 result.put("Application", JavaScriptUtils.javaScriptEscape(testCaseExecution.getApplication()));207 return result;208 }209 private JSONObject getStatusList(HttpServletRequest request) {210 JSONObject statusList = new JSONObject();211 try {212 statusList.put("OK", ParameterParserUtil.parseStringParam(request.getParameter("OK"), "off"));213 statusList.put("KO", ParameterParserUtil.parseStringParam(request.getParameter("KO"), "off"));214 statusList.put("NA", ParameterParserUtil.parseStringParam(request.getParameter("NA"), "off"));215 statusList.put("NE", ParameterParserUtil.parseStringParam(request.getParameter("NE"), "off"));216 statusList.put("PE", ParameterParserUtil.parseStringParam(request.getParameter("PE"), "off"));217 statusList.put("FA", ParameterParserUtil.parseStringParam(request.getParameter("FA"), "off"));218 statusList.put("CA", ParameterParserUtil.parseStringParam(request.getParameter("CA"), "off"));219 statusList.put("QU", ParameterParserUtil.parseStringParam(request.getParameter("QU"), "off"));220 } catch (JSONException ex) {221 LOG.error("Error on getStatusList : " + ex);222 }223 return statusList;224 }225 private JSONObject getCountryList(HttpServletRequest request, ApplicationContext appContext) {226 JSONObject countryList = new JSONObject();227 try {228 IInvariantService invariantService = appContext.getBean(InvariantService.class);229 AnswerList answer = invariantService.readByIdname("COUNTRY"); //TODO: handle if the response does not turn ok230 for (Invariant country : (List<Invariant>) answer.getDataList()) {231 countryList.put(country.getValue(), ParameterParserUtil.parseStringParam(request.getParameter(country.getValue()), "off"));232 }233 } catch (JSONException ex) {234 LOG.error("Error on getCountryList : " + ex);235 }236 return countryList;237 }238 private JSONObject generateTestCaseExecutionTable(ApplicationContext appContext, List<TestCaseExecution> testCaseExecutions, JSONObject statusFilter, JSONObject countryFilter) {239 JSONObject testCaseExecutionTable = new JSONObject();240 LinkedHashMap<String, JSONObject> ttc = new LinkedHashMap<String, JSONObject>();241 LinkedHashMap<String, JSONObject> columnMap = new LinkedHashMap<String, JSONObject>();242 testCaseLabelService = appContext.getBean(ITestCaseLabelService.class);243 AnswerList testCaseLabelList = testCaseLabelService.readByTestTestCase(null, null);244 for (TestCaseExecution testCaseExecution : testCaseExecutions) {245 try {246 String controlStatus = testCaseExecution.getControlStatus();247 // We check is Country and status is inside the fitered values.248 if (statusFilter.get(controlStatus).equals("on") && countryFilter.get(testCaseExecution.getCountry()).equals("on")) {249 JSONObject executionJSON = testCaseExecutionToJSONObject(testCaseExecution);250 String execKey = testCaseExecution.getEnvironment() + " " + testCaseExecution.getCountry() + " " + testCaseExecution.getRobotDecli();251 String testCaseKey = testCaseExecution.getTest() + "_" + testCaseExecution.getTestCase();252 JSONObject execTab = new JSONObject();253 JSONObject ttcObject = new JSONObject();254 if (ttc.containsKey(testCaseKey)) {255 // We add an execution entry into the testcase line.256 ttcObject = ttc.get(testCaseKey);257 execTab = ttcObject.getJSONObject("execTab");258 execTab.put(execKey, executionJSON);259 ttcObject.put("execTab", execTab);260 Integer toto = (Integer) ttcObject.get("NbExecutionsTotal");261 toto += testCaseExecution.getNbExecutions() - 1;262 ttcObject.put("NbExecutionsTotal", toto);263 } else {264 // We add a new testcase entry (with The current execution).265 ttcObject.put("test", testCaseExecution.getTest());266 ttcObject.put("testCase", testCaseExecution.getTestCase());267 ttcObject.put("shortDesc", testCaseExecution.getDescription());268 ttcObject.put("status", testCaseExecution.getStatus());269 ttcObject.put("application", testCaseExecution.getApplication());270 boolean testExist = ((testCaseExecution.getTestCaseObj() != null) && (testCaseExecution.getTestCaseObj().getTest() != null));271 if (testExist) {272 ttcObject.put("function", testCaseExecution.getTestCaseObj().getFunction());273 ttcObject.put("priority", testCaseExecution.getTestCaseObj().getPriority());274 ttcObject.put("comment", testCaseExecution.getTestCaseObj().getComment());275 if ((testCaseExecution.getApplicationObj() != null) && (testCaseExecution.getApplicationObj().getBugTrackerUrl() != null) && (testCaseExecution.getTestCaseObj().getBugID() != null)) {276 ttcObject.put("bugId", new JSONObject("{\"bugId\":\"" + testCaseExecution.getTestCaseObj().getBugID() + "\",\"bugTrackerUrl\":\"" + testCaseExecution.getApplicationObj().getBugTrackerUrl().replace("%BUGID%", testCaseExecution.getTestCaseObj().getBugID()) + "\"}"));277 } else {278 ttcObject.put("bugId", new JSONObject("{\"bugId\":\"\",\"bugTrackerUrl\":\"\"}"));279 }280 } else {281 ttcObject.put("function", "");282 ttcObject.put("priority", 0);283 ttcObject.put("comment", "");284 ttcObject.put("bugId", new JSONObject("{\"bugId\":\"\",\"bugTrackerUrl\":\"\"}"));285 }286 // Flag that report if test case still exist.287 ttcObject.put("testExist", testExist);288 // Adding nb of execution on retry.289 ttcObject.put("NbExecutionsTotal", (testCaseExecution.getNbExecutions() - 1));290 execTab.put(execKey, executionJSON);291 ttcObject.put("execTab", execTab);292 /**293 * Iterate on the label retrieved and generate HashMap294 * based on the key Test_TestCase295 */296 LinkedHashMap<String, JSONArray> testCaseWithLabel = new LinkedHashMap();297 for (TestCaseLabel label : (List<TestCaseLabel>) testCaseLabelList.getDataList()) {298 if (Label.TYPE_STICKER.equals(label.getLabel().getType())) { // We only display STICKER Type Label in Reporting By Tag Page..299 String key = label.getTest() + "_" + label.getTestcase();300 JSONObject jo = new JSONObject().put("name", label.getLabel().getLabel()).put("color", label.getLabel().getColor()).put("description", label.getLabel().getDescription());301 if (testCaseWithLabel.containsKey(key)) {302 testCaseWithLabel.get(key).put(jo);303 } else {304 testCaseWithLabel.put(key, new JSONArray().put(jo));305 }306 }307 }308 ttcObject.put("labels", testCaseWithLabel.get(testCaseExecution.getTest() + "_" + testCaseExecution.getTestCase()));309 }310 ttc.put(testCaseExecution.getTest() + "_" + testCaseExecution.getTestCase(), ttcObject);311 JSONObject column = new JSONObject();312 column.put("country", testCaseExecution.getCountry());313 column.put("environment", testCaseExecution.getEnvironment());314 column.put("robotDecli", testCaseExecution.getRobotDecli());315 columnMap.put(testCaseExecution.getRobotDecli() + "_" + testCaseExecution.getCountry() + "_" + testCaseExecution.getEnvironment(), column);316 }317 Map<String, JSONObject> treeMap = new TreeMap<String, JSONObject>(columnMap);318 testCaseExecutionTable.put("tableContent", ttc.values());319 testCaseExecutionTable.put("iTotalRecords", ttc.size());320 testCaseExecutionTable.put("iTotalDisplayRecords", ttc.size());321 testCaseExecutionTable.put("tableColumns", treeMap.values());322 } catch (JSONException ex) {323 LOG.error("Error on generateTestCaseExecutionTable : " + ex);324 } catch (Exception ex) {325 LOG.error("Error on generateTestCaseExecutionTable : " + ex);326 }327 }328 return testCaseExecutionTable;329 }330 private JSONObject generateFunctionChart(List<TestCaseExecution> testCaseExecutions, String tag, JSONObject statusFilter, JSONObject countryFilter) throws JSONException {331 JSONObject jsonResult = new JSONObject();332 Map<String, JSONObject> axisMap = new HashMap<String, JSONObject>();333 String globalStart = "";334 String globalEnd = "";335 long globalStartL = 0;336 long globalEndL = 0;337 String globalStatus = "Finished";338 for (TestCaseExecution testCaseExecution : testCaseExecutions) {339 String key;340 JSONObject control = new JSONObject();341 JSONObject function = new JSONObject();342 String controlStatus = testCaseExecution.getControlStatus();343 if (statusFilter.get(controlStatus).equals("on") && countryFilter.get(testCaseExecution.getCountry()).equals("on")) {344 if (testCaseExecution.getTestCaseObj() != null && testCaseExecution.getTestCaseObj().getFunction() != null && !"".equals(testCaseExecution.getTestCaseObj().getFunction())) {345 key = testCaseExecution.getTestCaseObj().getFunction();346 } else {347 key = testCaseExecution.getTest();348 }349 controlStatus = testCaseExecution.getControlStatus();350 control.put("value", 1);351 control.put("color", getColor(controlStatus));352 control.put("label", controlStatus);353 function.put("name", key);354 if (axisMap.containsKey(key)) {355 function = axisMap.get(key);356 if (function.has(controlStatus)) {357 int prec = function.getJSONObject(controlStatus).getInt("value");358 control.put("value", prec + 1);359 }360 }361 function.put(controlStatus, control);362 axisMap.put(key, function);363 }364 if (testCaseExecution.getStart() != 0) {365 if ((globalStartL == 0) || (globalStartL > testCaseExecution.getStart())) {366 globalStartL = testCaseExecution.getStart();367 globalStart = String.valueOf(new Date(testCaseExecution.getStart()));368 }369 }370 if (!testCaseExecution.getControlStatus().equalsIgnoreCase("PE") && testCaseExecution.getEnd() != 0) {371 if ((globalEndL == 0) || (globalEndL < testCaseExecution.getEnd())) {372 globalEndL = testCaseExecution.getEnd();373 globalEnd = String.valueOf(new Date(testCaseExecution.getEnd()));374 }375 }376 if (testCaseExecution.getControlStatus().equalsIgnoreCase("PE")) {377 globalStatus = "Pending...";378 }379 }380 Gson gson = new Gson();381 jsonResult.put("axis", axisMap.values());382 jsonResult.put("tag", tag);383 jsonResult.put("globalEnd", gson.toJson(new Timestamp(globalEndL)).replace("\"", ""));384 jsonResult.put("globalStart", globalStart);385 jsonResult.put("globalStatus", globalStatus);386 return jsonResult;387 }388 private JSONObject generateStats(HttpServletRequest request, List<TestCaseExecution> testCaseExecutions, JSONObject statusFilter, JSONObject countryFilter, boolean splitStats) throws JSONException {389 JSONObject jsonResult = new JSONObject();390 boolean env = request.getParameter("env") != null || !splitStats;391 boolean country = request.getParameter("country") != null || !splitStats;392 boolean robotDecli = request.getParameter("robotDecli") != null || !splitStats;393 boolean app = request.getParameter("app") != null || !splitStats;394 HashMap<String, SummaryStatisticsDTO> statMap = new HashMap<String, SummaryStatisticsDTO>();395 for (TestCaseExecution testCaseExecution : testCaseExecutions) {396 String controlStatus = testCaseExecution.getControlStatus();397 if (statusFilter.get(controlStatus).equals("on") && countryFilter.get(testCaseExecution.getCountry()).equals("on")) {398 StringBuilder key = new StringBuilder();399 key.append((env) ? testCaseExecution.getEnvironment() : "");400 key.append("_");401 key.append((country) ? testCaseExecution.getCountry() : "");402 key.append("_");403 key.append((robotDecli) ? testCaseExecution.getRobotDecli() : "");404 key.append("_");405 key.append((app) ? testCaseExecution.getApplication() : "");406 SummaryStatisticsDTO stat = new SummaryStatisticsDTO();407 stat.setEnvironment(testCaseExecution.getEnvironment());408 stat.setCountry(testCaseExecution.getCountry());409 stat.setRobotDecli(testCaseExecution.getRobotDecli());410 stat.setApplication(testCaseExecution.getApplication());411 statMap.put(key.toString(), stat);412 }413 }414 jsonResult.put("contentTable", getStatByEnvCountryRobotDecli(testCaseExecutions, statMap, env, country, robotDecli, app, statusFilter, countryFilter, splitStats));415 return jsonResult;416 }417 private JSONObject generateBugStats(HttpServletRequest request, List<TestCaseExecution> testCaseExecutions, JSONObject statusFilter, JSONObject countryFilter) throws JSONException {418 JSONObject jsonResult = new JSONObject();419 SummaryStatisticsBugTrackerDTO stat = new SummaryStatisticsBugTrackerDTO();420 String bugsToReport = "KO,FA";421 stat.setNbExe(1);422 int totalBugReported = 0;423 int totalBugToReport = 0;424 int totalBugToReportReported = 0;425 int totalBugToClean = 0;426 HashMap<String, SummaryStatisticsBugTrackerDTO> statMap = new HashMap<String, SummaryStatisticsBugTrackerDTO>();427 for (TestCaseExecution testCaseExecution : testCaseExecutions) {428 String controlStatus = testCaseExecution.getControlStatus();429 if (statusFilter.get(controlStatus).equals("on") && countryFilter.get(testCaseExecution.getCountry()).equals("on")) {430 String key = "";431 if (bugsToReport.contains(testCaseExecution.getControlStatus())) {...
generateBugStats
Using AI Code Generation
1package org.cerberus.servlet.crud.testexecution;2import com.google.gson.Gson;3import com.google.gson.GsonBuilder;4import com.google.gson.JsonArray;5import com.google.gson.JsonObject;6import java.io.IOException;7import java.sql.Connection;8import java.sql.PreparedStatement;9import java.sql.ResultSet;10import java.sql.SQLException;11import java.sql.Statement;12import java.util.ArrayList;13import java.util.HashMap;14import java.util.List;15import java.util.Map;16import javax.servlet.ServletException;17import javax.servlet.http.HttpServlet;18import javax.servlet.http.HttpServletRequest;19import javax.servlet.http.HttpServletResponse;20import org.apache.logging.log4j.LogManager;21import org.apache.logging.log4j.Logger;22import org.cerberus.crud.entity.TestCaseExecution;23import org.cerberus.crud.factory.IFactoryTestCaseExecution;24import org.cerberus.crud.service.IParameterService;25import org.cerberus.crud.service.ITestCaseExecutionService;26import org.cerberus.crud.service.impl.ParameterService;27import org.cerberus.crud.service.impl.TestCaseExecutionService;28import org.cerberus.database.DatabaseSpring;29import org.cerberus.engine.entity.MessageEvent;30import org.cerberus.engine.entity.MessageGeneral;31import org.cerberus.enums.MessageEventEnum;32import org.cerberus.exception.CerberusException;33import org.cerberus.log.MyLogger;34import org.cerberus.servlet.api.GetTestCaseExecution;35import org.cerberus.util.answer.AnswerList;36import org.springframework.context.ApplicationContext;37import org.springframework.web.context.support.WebApplicationContextUtils;38public class ReadTestCaseExecutionByTag extends HttpServlet {39 private static final Logger LOG = LogManager.getLogger(ReadTestCaseExecutionByTag.class);40 private ITestCaseExecutionService testCaseExecutionService;41 private IParameterService parameterService;42 private final String OBJECT_NAME = "TestCaseExecutionByTag";
generateBugStats
Using AI Code Generation
1import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag2def r = new ReadTestCaseExecutionByTag()3def bugStats = r.generateBugStats("test", "test", "test", "test")4import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag5def r = new ReadTestCaseExecutionByTag()6def bugStats = r.generateBugStats("test", "test", "test", "test")7import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag8def r = new ReadTestCaseExecutionByTag()9def bugStats = r.generateBugStats("test", "test", "test", "test")10import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag11def r = new ReadTestCaseExecutionByTag()12def bugStats = r.generateBugStats("test", "test", "test", "test")13import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag14def r = new ReadTestCaseExecutionByTag()15def bugStats = r.generateBugStats("test", "test", "test", "test")16import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag17def r = new ReadTestCaseExecutionByTag()18def bugStats = r.generateBugStats("test", "test", "test", "test")19import org.cerberus.servlet.crud.testexecution.ReadTestCaseExecutionByTag20def r = new ReadTestCaseExecutionByTag()21def bugStats = r.generateBugStats("test", "test", "
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!