Search in sources :

Example 51 with TestCaseExecution

use of org.cerberus.crud.entity.TestCaseExecution in project cerberus-source by cerberustesting.

the class TestCaseExecutionDAO method readLastByCriteria.

@Override
public AnswerItem readLastByCriteria(String application) {
    AnswerItem ans = new AnswerItem();
    TestCaseExecution result = null;
    MessageEvent msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_ERROR_UNEXPECTED);
    msg.setDescription(msg.getDescription().replace("%DESCRIPTION%", ""));
    StringBuilder searchSQL = new StringBuilder();
    StringBuilder query = new StringBuilder();
    // SQL_CALC_FOUND_ROWS allows to retrieve the total number of columns by disrearding the limit clauses that
    // were applied -- used for pagination p
    query.append("select * from testcaseexecution exe ");
    searchSQL.append(" where 1=1 ");
    if (!StringUtil.isNullOrEmpty(application)) {
        searchSQL.append(" and (`application` = ? )");
    }
    query.append(searchSQL);
    query.append(" order by id DESC limit 1 ");
    // Debug message on SQL.
    if (LOG.isDebugEnabled()) {
        LOG.debug("SQL : " + query);
    }
    Connection connection = this.databaseSpring.connect();
    try {
        PreparedStatement preStat = connection.prepareStatement(query.toString());
        try {
            int i = 1;
            if (!StringUtil.isNullOrEmpty(application)) {
                preStat.setString(i++, application);
            }
            ResultSet resultSet = preStat.executeQuery();
            try {
                if (resultSet.first()) {
                    result = loadFromResultSet(resultSet);
                    msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_OK);
                    msg.setDescription(msg.getDescription().replace("%ITEM%", OBJECT_NAME).replace("%OPERATION%", "SELECT"));
                    ans.setItem(result);
                } else {
                    msg = new MessageEvent(MessageEventEnum.DATA_OPERATION_NO_DATA_FOUND);
                }
            } 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%", exception.toString()));
            } finally {
                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%", exception.toString()));
        } finally {
            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%", exception.toString()));
    } finally {
        try {
            if (connection != null) {
                connection.close();
            }
        } catch (SQLException exception) {
            LOG.warn("Unable to close connection : " + exception.toString());
        }
    }
    // sets the message
    ans.setResultMessage(msg);
    return ans;
}
Also used : IFactoryTestCaseExecution(org.cerberus.crud.factory.IFactoryTestCaseExecution) TestCaseExecution(org.cerberus.crud.entity.TestCaseExecution) SQLException(java.sql.SQLException) MessageEvent(org.cerberus.engine.entity.MessageEvent) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet) PreparedStatement(java.sql.PreparedStatement) AnswerItem(org.cerberus.util.answer.AnswerItem)

Example 52 with TestCaseExecution

use of org.cerberus.crud.entity.TestCaseExecution in project cerberus-source by cerberustesting.

the class TestCaseExecutionQueueService method convertToTestCaseExecution.

@Override
public TestCaseExecution convertToTestCaseExecution(TestCaseExecutionQueue testCaseExecutionInQueue) {
    String test = testCaseExecutionInQueue.getTest();
    String testCase = testCaseExecutionInQueue.getTestCase();
    String environment = testCaseExecutionInQueue.getEnvironment();
    String country = testCaseExecutionInQueue.getCountry();
    String browser = testCaseExecutionInQueue.getBrowser();
    String robotDecli = testCaseExecutionInQueue.getRobot();
    if (StringUtil.isNullOrEmpty(robotDecli)) {
        if (!StringUtil.isNullOrEmpty(browser)) {
            robotDecli = browser;
        } else {
            robotDecli = "";
        }
    }
    String version = testCaseExecutionInQueue.getBrowserVersion();
    String platform = testCaseExecutionInQueue.getPlatform();
    long start = testCaseExecutionInQueue.getRequestDate() != null ? testCaseExecutionInQueue.getRequestDate().getTime() : 0;
    long end = 0;
    String controlStatus = TestCaseExecution.CONTROLSTATUS_QU;
    String controlMessage = "Queued with State : " + testCaseExecutionInQueue.getState().name() + " - " + testCaseExecutionInQueue.getComment();
    Application applicationObj = testCaseExecutionInQueue.getApplicationObj();
    String application = testCaseExecutionInQueue.getApplicationObj() != null ? testCaseExecutionInQueue.getApplicationObj().getApplication() : "";
    String ip = testCaseExecutionInQueue.getRobotIP();
    String port = testCaseExecutionInQueue.getRobotPort();
    String tag = testCaseExecutionInQueue.getTag();
    int verbose = testCaseExecutionInQueue.getVerbose();
    int screenshot = testCaseExecutionInQueue.getScreenshot();
    int pageSource = testCaseExecutionInQueue.getPageSource();
    int seleniumLog = testCaseExecutionInQueue.getSeleniumLog();
    int retry = testCaseExecutionInQueue.getRetries();
    boolean synchroneous = true;
    String timeout = testCaseExecutionInQueue.getTimeout();
    String outputFormat = "";
    TestCase tCase = testCaseExecutionInQueue.getTestCaseObj();
    boolean manualURL = (testCaseExecutionInQueue.getManualURL() >= 1);
    String manualExecution = testCaseExecutionInQueue.getManualExecution();
    String myHost = testCaseExecutionInQueue.getManualHost();
    String myContextRoot = testCaseExecutionInQueue.getManualContextRoot();
    String myLoginRelativeURL = testCaseExecutionInQueue.getManualLoginRelativeURL();
    String myEnvData = testCaseExecutionInQueue.getManualEnvData();
    String seleniumIP = testCaseExecutionInQueue.getRobotIP();
    String seleniumPort = testCaseExecutionInQueue.getRobotPort();
    String description = "";
    if ((testCaseExecutionInQueue.getTestCaseObj() != null) && (testCaseExecutionInQueue.getTestCaseObj().getDescription() != null)) {
        description = testCaseExecutionInQueue.getTestCaseObj().getDescription();
    }
    TestCaseExecution result = factoryTestCaseExecution.create(0, test, testCase, description, null, null, environment, country, browser, version, platform, browser, start, end, controlStatus, controlMessage, application, applicationObj, ip, "", port, tag, verbose, screenshot, pageSource, seleniumLog, synchroneous, timeout, outputFormat, "", "", tCase, null, null, manualURL, myHost, myContextRoot, myLoginRelativeURL, myEnvData, seleniumIP, seleniumPort, null, null, null, retry, "", null, "", "", "", "", "", manualExecution, "", 0, "", robotDecli);
    result.setQueueID(testCaseExecutionInQueue.getId());
    result.setQueueState(testCaseExecutionInQueue.getState().name());
    result.setId(testCaseExecutionInQueue.getExeId());
    return result;
}
Also used : TestCaseExecution(org.cerberus.crud.entity.TestCaseExecution) IFactoryTestCaseExecution(org.cerberus.crud.factory.IFactoryTestCaseExecution) TestCase(org.cerberus.crud.entity.TestCase) Application(org.cerberus.crud.entity.Application)

Example 53 with TestCaseExecution

use of org.cerberus.crud.entity.TestCaseExecution in project cerberus-source by cerberustesting.

the class GetReportData method hashExecution.

// </editor-fold>
private List<TestCaseExecution> hashExecution(List<TestCaseExecution> testCaseExecutions, List<TestCaseExecutionQueue> testCaseExecutionsInQueue) throws ParseException {
    Map<String, TestCaseExecution> testCaseExecutionsList = new LinkedHashMap();
    SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    for (TestCaseExecution testCaseExecution : testCaseExecutions) {
        String key = testCaseExecution.getBrowser() + "_" + testCaseExecution.getCountry() + "_" + testCaseExecution.getEnvironment() + "_" + testCaseExecution.getTest() + "_" + testCaseExecution.getTestCase();
        testCaseExecutionsList.put(key, testCaseExecution);
    }
    for (TestCaseExecutionQueue testCaseExecutionInQueue : testCaseExecutionsInQueue) {
        TestCaseExecution testCaseExecution = testCaseExecutionInQueueService.convertToTestCaseExecution(testCaseExecutionInQueue);
        String key = testCaseExecution.getBrowser() + "_" + testCaseExecution.getCountry() + "_" + testCaseExecution.getEnvironment() + "_" + testCaseExecution.getTest() + "_" + testCaseExecution.getTestCase();
        if ((testCaseExecutionsList.containsKey(key) && testCaseExecutionsList.get(key).getStart() < testCaseExecution.getStart()) || !testCaseExecutionsList.containsKey(key)) {
            testCaseExecutionsList.put(key, testCaseExecution);
        }
    }
    List<TestCaseExecution> result = new ArrayList<TestCaseExecution>(testCaseExecutionsList.values());
    return result;
}
Also used : TestCaseExecution(org.cerberus.crud.entity.TestCaseExecution) ArrayList(java.util.ArrayList) TestCaseExecutionQueue(org.cerberus.crud.entity.TestCaseExecutionQueue) SimpleDateFormat(java.text.SimpleDateFormat) LinkedHashMap(java.util.LinkedHashMap)

Example 54 with TestCaseExecution

use of org.cerberus.crud.entity.TestCaseExecution in project cerberus-source by cerberustesting.

the class ResultCIV001 method processRequest.

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
    PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
    response.setContentType("application/json");
    response.setCharacterEncoding("utf8");
    // Calling Servlet Transversal Util.
    ServletUtil.servletStart(request);
    /**
     * Adding Log entry.
     */
    ILogEventService logEventService = appContext.getBean(ILogEventService.class);
    logEventService.createForPublicCalls("/ResultCIV001", "CALL", "ResultCIV001 called : " + request.getRequestURL(), request);
    try {
        JSONObject jsonResponse = new JSONObject();
        String tag = policy.sanitize(request.getParameter("tag"));
        String helpMessage = "This servlet is used to provide a json object with various execution counters as well as a global OK or KO status based on the number and status of the execution done on a specific tag. " + "The number of executions are ponderated by parameters by priority from cerberus_ci_okcoefprio1 to cerberus_ci_okcoefprio4. " + "Formula used is the following : " + "Nb Exe Prio 1 testcases * cerberus_ci_okcoefprio1 + Nb Exe Prio 2 testcases * cerberus_ci_okcoefprio2 + " + "Nb Exe Prio 3 testcases * cerberus_ci_okcoefprio3 + Nb Exe Prio 4 testcases * cerberus_ci_okcoefprio4." + "If no executions are found, the result is KO." + "With at least 1 execution, if result is < 1 then global servlet result is OK. If not, it is KO." + "All execution needs to have a status equal to KO, FA, NA or PE." + "Parameter list :" + "- tag [mandatory] : Execution Tag to filter the test cases execution. [" + tag + "]";
        boolean error = false;
        String error_message = "";
        // Checking the parameter validity. Tag is a mandatory parameter
        if (StringUtils.isBlank(tag)) {
            error_message = "Error - Parameter tag is mandatory.";
            error = true;
        }
        if (!error) {
            ITestCaseExecutionService MyTestExecutionService = appContext.getBean(TestCaseExecutionService.class);
            List<TestCaseExecution> myList;
            int nbok = 0;
            int nbko = 0;
            int nbfa = 0;
            int nbpe = 0;
            int nbna = 0;
            int nbca = 0;
            int nbtotal = 0;
            int nbkop1 = 0;
            int nbkop2 = 0;
            int nbkop3 = 0;
            int nbkop4 = 0;
            String exeStart = "";
            long longStart = 0;
            String exeEnd = "";
            long longEnd = 0;
            try {
                myList = MyTestExecutionService.convert(MyTestExecutionService.readByTag(tag));
                for (TestCaseExecution curExe : myList) {
                    if (longStart == 0) {
                        longStart = curExe.getStart();
                    }
                    if (curExe.getStart() < longStart) {
                        longStart = curExe.getStart();
                    }
                    if (longEnd == 0) {
                        longEnd = curExe.getEnd();
                    }
                    if (curExe.getEnd() > longEnd) {
                        longEnd = curExe.getEnd();
                    }
                    nbtotal++;
                    switch(curExe.getControlStatus()) {
                        case TestCaseExecution.CONTROLSTATUS_KO:
                            nbko++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_OK:
                            nbok++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_FA:
                            nbfa++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_NA:
                            nbna++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_CA:
                            nbca++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_PE:
                            nbpe++;
                            break;
                    }
                    if (!(curExe.getControlStatus().equals("OK"))) {
                        switch(curExe.getTestCaseObj().getPriority()) {
                            case 1:
                                nbkop1++;
                                break;
                            case 2:
                                nbkop2++;
                                break;
                            case 3:
                                nbkop3++;
                                break;
                            case 4:
                                nbkop4++;
                                break;
                        }
                    }
                }
            } catch (CerberusException ex) {
                LOG.warn(ex);
            }
            IParameterService parameterService = appContext.getBean(IParameterService.class);
            float pond1 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio1", "", 0);
            float pond2 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio2", "", 0);
            float pond3 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio3", "", 0);
            float pond4 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio4", "", 0);
            String result;
            float resultCal = (nbkop1 * pond1) + (nbkop2 * pond2) + (nbkop3 * pond3) + (nbkop4 * pond4);
            if ((resultCal < 1) && (nbtotal > 0)) {
                result = "OK";
            } else {
                result = "KO";
            }
            jsonResponse.put("messageType", "OK");
            jsonResponse.put("message", "CI result calculated with success.");
            jsonResponse.put("CI_OK_prio1", pond1);
            jsonResponse.put("CI_OK_prio2", pond2);
            jsonResponse.put("CI_OK_prio3", pond3);
            jsonResponse.put("CI_OK_prio4", pond4);
            jsonResponse.put("CI_finalResult", resultCal);
            jsonResponse.put("NonOK_prio1_nbOfExecution", nbkop1);
            jsonResponse.put("NonOK_prio2_nbOfExecution", nbkop2);
            jsonResponse.put("NonOK_prio3_nbOfExecution", nbkop3);
            jsonResponse.put("NonOK_prio4_nbOfExecution", nbkop4);
            jsonResponse.put("status_OK_nbOfExecution", nbok);
            jsonResponse.put("status_KO_nbOfExecution", nbko);
            jsonResponse.put("status_FA_nbOfExecution", nbfa);
            jsonResponse.put("status_PE_nbOfExecution", nbpe);
            jsonResponse.put("status_NA_nbOfExecution", nbna);
            jsonResponse.put("status_CA_nbOfExecution", nbca);
            jsonResponse.put("TOTAL_nbOfExecution", nbtotal);
            jsonResponse.put("result", result);
            jsonResponse.put("ExecutionStart", String.valueOf(new Timestamp(longStart)));
            jsonResponse.put("ExecutionEnd", String.valueOf(new Timestamp(longEnd)));
            response.getWriter().print(jsonResponse.toString());
            // Log the result with calculation detail.
            logEventService.createForPublicCalls("/ResultCIV001", "CALLRESULT", "ResultCIV001 calculated with result [" + result + "] : " + nbkop1 + "*" + pond1 + " + " + nbkop2 + "*" + pond2 + " + " + nbkop3 + "*" + pond3 + " + " + nbkop4 + "*" + pond4 + " = " + resultCal, request);
        } else {
            jsonResponse.put("messageType", "KO");
            jsonResponse.put("message", error_message);
            jsonResponse.put("helpMessage", helpMessage);
            response.getWriter().print(jsonResponse.toString());
        }
    } catch (JSONException e) {
        LOG.warn(e);
        // returns a default error message with the json format that is able to be parsed by the client-side
        response.getWriter().print(AnswerUtil.createGenericErrorAnswer());
    }
}
Also used : TestCaseExecution(org.cerberus.crud.entity.TestCaseExecution) CerberusException(org.cerberus.exception.CerberusException) PolicyFactory(org.owasp.html.PolicyFactory) JSONException(org.json.JSONException) IParameterService(org.cerberus.crud.service.IParameterService) ITestCaseExecutionService(org.cerberus.crud.service.ITestCaseExecutionService) Timestamp(java.sql.Timestamp) ApplicationContext(org.springframework.context.ApplicationContext) JSONObject(org.json.JSONObject) ILogEventService(org.cerberus.crud.service.ILogEventService) PrintWriter(java.io.PrintWriter)

Example 55 with TestCaseExecution

use of org.cerberus.crud.entity.TestCaseExecution in project cerberus-source by cerberustesting.

the class ResultCIV002 method processRequest.

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    ApplicationContext appContext = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
    PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
    // Calling Servlet Transversal Util.
    ServletUtil.servletStart(request);
    /**
     * Adding Log entry.
     */
    ILogEventService logEventService = appContext.getBean(ILogEventService.class);
    logEventService.createForPublicCalls("/ResultCIV002", "CALL", "ResultCIV002 called : " + request.getRequestURL(), request);
    try {
        JSONObject jsonResponse = new JSONObject();
        String tag = policy.sanitize(request.getParameter("tag"));
        String outputFormat = policy.sanitize(request.getParameter("outputFormat"));
        String helpMessage = "This servlet is used to provide various execution counters as well as a global OK or KO status based on the number and status of the execution done on a specific tag. " + "The number of executions are ponderated by parameters by priority from cerberus_ci_okcoefprio1 to cerberus_ci_okcoefprio4. " + "Formula used is the following : " + "Nb Exe Prio 1 testcases * cerberus_ci_okcoefprio1 + Nb Exe Prio 2 testcases * cerberus_ci_okcoefprio2 + " + "Nb Exe Prio 3 testcases * cerberus_ci_okcoefprio3 + Nb Exe Prio 4 testcases * cerberus_ci_okcoefprio4." + "If no executions are found, the result is KO." + "With at least 1 execution, if result is < 1 then global servlet result is OK. If not, it is KO." + "All execution needs to have a status equal to KO, FA, NA, PE or NE." + "If at least 1 PE or 1 NE if found, global status will be PE" + "Output format is json by default, or SVG if outputFormat=svg is defined" + "Parameter list :" + "- tag [mandatory] : Execution Tag to filter the test cases execution. [" + tag + "]" + "- outputFormat    : ['json', 'svg']. Output format of the result. [" + outputFormat + "]";
        boolean error = false;
        String error_message = "";
        // Checking the parameter validity. Tag is a mandatory parameter
        if (StringUtils.isBlank(tag)) {
            error_message = "Error - Parameter tag is mandatory.";
            error = true;
        }
        // Checking the parameter validity. outputFormat can be empty, or equals to json or svg
        if (!StringUtils.isBlank(outputFormat) && !outputFormat.equals("json") && !outputFormat.equals("svg")) {
            error_message = "Error - Value of parameter outputFormat is not recognized.";
            error = true;
        }
        if (!error) {
            ITestCaseExecutionService testExecutionService = appContext.getBean(TestCaseExecutionService.class);
            List<TestCaseExecution> myList;
            int nbok = 0;
            int nbko = 0;
            int nbfa = 0;
            int nbpe = 0;
            int nbne = 0;
            int nbna = 0;
            int nbca = 0;
            int nbqu = 0;
            int nbtotal = 0;
            int nbkop1 = 0;
            int nbkop2 = 0;
            int nbkop3 = 0;
            int nbkop4 = 0;
            long longStart = 0;
            long longEnd = 0;
            try {
                myList = testExecutionService.readLastExecutionAndExecutionInQueueByTag(tag);
                for (TestCaseExecution curExe : myList) {
                    if (longStart == 0) {
                        longStart = curExe.getStart();
                    }
                    if (curExe.getStart() < longStart) {
                        longStart = curExe.getStart();
                    }
                    if (longEnd == 0) {
                        longEnd = curExe.getEnd();
                    }
                    if (curExe.getEnd() > longEnd) {
                        longEnd = curExe.getEnd();
                    }
                    nbtotal++;
                    switch(curExe.getControlStatus()) {
                        case TestCaseExecution.CONTROLSTATUS_KO:
                            nbko++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_OK:
                            nbok++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_FA:
                            nbfa++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_NA:
                            nbna++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_CA:
                            nbca++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_PE:
                            nbpe++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_NE:
                            nbne++;
                            break;
                        case TestCaseExecution.CONTROLSTATUS_QU:
                            nbqu++;
                            break;
                    }
                    if (!curExe.getControlStatus().equals("OK") && !curExe.getControlStatus().equals("NE") && !curExe.getControlStatus().equals("PE") && !curExe.getControlStatus().equals("QU")) {
                        switch(curExe.getTestCaseObj().getPriority()) {
                            case 1:
                                nbkop1++;
                                break;
                            case 2:
                                nbkop2++;
                                break;
                            case 3:
                                nbkop3++;
                                break;
                            case 4:
                                nbkop4++;
                                break;
                        }
                    }
                }
            } catch (CerberusException ex) {
                LOG.warn(ex);
            } catch (ParseException ex) {
                LOG.warn(ex);
            }
            IParameterService parameterService = appContext.getBean(IParameterService.class);
            float pond1 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio1", "", 0);
            float pond2 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio2", "", 0);
            float pond3 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio3", "", 0);
            float pond4 = parameterService.getParameterFloatByKey("cerberus_ci_okcoefprio4", "", 0);
            String result;
            float resultCal = (nbkop1 * pond1) + (nbkop2 * pond2) + (nbkop3 * pond3) + (nbkop4 * pond4);
            if ((nbtotal > 0) && nbqu + nbne + nbpe > 0) {
                result = "PE";
            } else if ((resultCal < 1) && (nbtotal > 0)) {
                result = "OK";
            } else {
                result = "KO";
            }
            jsonResponse.put("messageType", "OK");
            jsonResponse.put("message", "CI result calculated with success.");
            jsonResponse.put("tag", tag);
            jsonResponse.put("CI_OK_prio1", pond1);
            jsonResponse.put("CI_OK_prio2", pond2);
            jsonResponse.put("CI_OK_prio3", pond3);
            jsonResponse.put("CI_OK_prio4", pond4);
            jsonResponse.put("CI_finalResult", resultCal);
            jsonResponse.put("NonOK_prio1_nbOfExecution", nbkop1);
            jsonResponse.put("NonOK_prio2_nbOfExecution", nbkop2);
            jsonResponse.put("NonOK_prio3_nbOfExecution", nbkop3);
            jsonResponse.put("NonOK_prio4_nbOfExecution", nbkop4);
            jsonResponse.put("status_OK_nbOfExecution", nbok);
            jsonResponse.put("status_KO_nbOfExecution", nbko);
            jsonResponse.put("status_FA_nbOfExecution", nbfa);
            jsonResponse.put("status_PE_nbOfExecution", nbpe);
            jsonResponse.put("status_NA_nbOfExecution", nbna);
            jsonResponse.put("status_CA_nbOfExecution", nbca);
            jsonResponse.put("status_NE_nbOfExecution", nbne);
            jsonResponse.put("status_QU_nbOfExecution", nbqu);
            jsonResponse.put("TOTAL_nbOfExecution", nbtotal);
            jsonResponse.put("result", result);
            jsonResponse.put("ExecutionStart", String.valueOf(new Timestamp(longStart)));
            jsonResponse.put("ExecutionEnd", String.valueOf(new Timestamp(longEnd)));
            generateResponse(response, outputFormat, jsonResponse, false);
            // Log the result with calculation detail.
            logEventService.createForPublicCalls("/ResultCIV002", "CALLRESULT", "ResultCIV002 calculated with result [" + result + "] : " + nbkop1 + "*" + pond1 + " + " + nbkop2 + "*" + pond2 + " + " + nbkop3 + "*" + pond3 + " + " + nbkop4 + "*" + pond4 + " = " + resultCal, request);
        } else {
            jsonResponse.put("messageType", "KO");
            jsonResponse.put("message", error_message);
            jsonResponse.put("helpMessage", helpMessage);
            generateResponse(response, outputFormat, jsonResponse, true);
        }
    } catch (JSONException e) {
        LOG.warn(e);
        // returns a default error message with the json format that is able to be parsed by the client-side
        response.getWriter().print(AnswerUtil.createGenericErrorAnswer());
    }
}
Also used : TestCaseExecution(org.cerberus.crud.entity.TestCaseExecution) CerberusException(org.cerberus.exception.CerberusException) PolicyFactory(org.owasp.html.PolicyFactory) JSONException(org.json.JSONException) IParameterService(org.cerberus.crud.service.IParameterService) ITestCaseExecutionService(org.cerberus.crud.service.ITestCaseExecutionService) Timestamp(java.sql.Timestamp) ApplicationContext(org.springframework.context.ApplicationContext) JSONObject(org.json.JSONObject) ILogEventService(org.cerberus.crud.service.ILogEventService) ParseException(java.text.ParseException)

Aggregations

TestCaseExecution (org.cerberus.crud.entity.TestCaseExecution)55 ArrayList (java.util.ArrayList)24 IFactoryTestCaseExecution (org.cerberus.crud.factory.IFactoryTestCaseExecution)20 MessageEvent (org.cerberus.engine.entity.MessageEvent)19 JSONObject (org.json.JSONObject)17 AnswerItem (org.cerberus.util.answer.AnswerItem)15 AnswerList (org.cerberus.util.answer.AnswerList)14 Connection (java.sql.Connection)13 PreparedStatement (java.sql.PreparedStatement)13 ResultSet (java.sql.ResultSet)13 SQLException (java.sql.SQLException)13 LinkedHashMap (java.util.LinkedHashMap)13 ITestCaseExecutionService (org.cerberus.crud.service.ITestCaseExecutionService)12 CerberusException (org.cerberus.exception.CerberusException)11 List (java.util.List)10 HashMap (java.util.HashMap)9 TestCaseExecutionQueue (org.cerberus.crud.entity.TestCaseExecutionQueue)9 JSONArray (org.json.JSONArray)9 JSONException (org.json.JSONException)9 ApplicationContext (org.springframework.context.ApplicationContext)9