Skip to content

Commit ef19c19

Browse files
committed
Fix execution answer code when 1st failed action is non fatal.
1 parent 4644276 commit ef19c19

1 file changed

Lines changed: 17 additions & 12 deletions

File tree

source/src/main/java/org/cerberus/core/crud/service/impl/TestCaseExecutionService.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -409,33 +409,38 @@ public AnswerItem<TestCaseExecutionStats> readTestCaseExecutionStats(String from
409409

410410
@Override
411411
public MessageGeneral getResultMessageAgregated(List<MessageGeneral> messageList) {
412-
// LOG.debug("Aggate Result message");
413-
// LOG.debug(" {}", messageList);
412+
LOG.debug("Aggate Result message");
413+
LOG.debug(" {}", messageList);
414+
List<MessageGeneral> messageListBlocking = new ArrayList<>();
414415
String finalMessage = "";
415416
if (messageList.isEmpty()) {
416417
return new MessageGeneral(MessageGeneralEnum.EXECUTION_OK);
417418
}
418419

419-
boolean onlyOK = true;
420+
// boolean onlyOK = true;
420421
for (MessageGeneral messageGeneral : messageList) {
421422
if (!"OK".equals(messageGeneral.getCodeString())) {
422-
onlyOK = false;
423+
// onlyOK = false;
424+
messageListBlocking.add(messageGeneral);
423425
} else {
424426
finalMessage += messageGeneral.getDescription().split("-- Waited")[0].split("-- Execution forced")[0];
425427
}
426428
}
427-
if (onlyOK) {
429+
if (messageListBlocking.isEmpty()) {
430+
// There are only non blocking messages. --> We return OK with a warning message
428431
MessageGeneral mes = new MessageGeneral(MessageGeneralEnum.EXECUTION_OK);
429432
mes.setDescription(mes.getDescription() + " with non blocking warnings : " + finalMessage);
430433
return mes;
431434
}
432-
finalMessage = messageList.get(0).getDescription().split("-- Waited")[0];
435+
// Clean list from OK status code.
436+
437+
finalMessage = messageListBlocking.get(0).getDescription().split("-- Waited")[0];
433438
HashMap<String, Integer> hash = new HashMap<>();
434-
for (int i = 1; i < messageList.size(); i++) {
435-
if (hash.containsKey(messageList.get(i).getCodeString())) {
436-
hash.put(messageList.get(i).getCodeString(), hash.get(messageList.get(i).getCodeString()) + 1);
439+
for (int i = 1; i < messageListBlocking.size(); i++) {
440+
if (hash.containsKey(messageListBlocking.get(i).getCodeString())) {
441+
hash.put(messageListBlocking.get(i).getCodeString(), hash.get(messageList.get(i).getCodeString()) + 1);
437442
} else {
438-
hash.put(messageList.get(i).getCodeString(), 1);
443+
hash.put(messageListBlocking.get(i).getCodeString(), 1);
439444
}
440445
}
441446
if (!hash.isEmpty()) {
@@ -449,13 +454,13 @@ public MessageGeneral getResultMessageAgregated(List<MessageGeneral> messageList
449454
if (finalMessage.endsWith(",")) {
450455
finalMessage = StringUtil.removeLastChar(finalMessage);
451456
}
452-
String finalCode = messageList.get(0).getCodeString();
457+
String finalCode = messageListBlocking.get(0).getCodeString();
453458
if ("KO".equals(finalCode)) {
454459
finalMessage = MessageGeneralEnum.EXECUTION_KO.getDescription() + " " + finalMessage;
455460
} else {
456461
finalMessage = MessageGeneralEnum.EXECUTION_FA.getDescription() + " " + finalMessage;
457462
}
458-
return new MessageGeneral(messageList.get(0).getCodeString(), finalMessage);
463+
return new MessageGeneral(finalCode, finalMessage);
459464
}
460465

461466
private List<TestCaseExecution> hashExecution(List<TestCaseExecution> testCaseExecutions, List<TestCaseExecutionQueue> testCaseExecutionsInQueue) {

0 commit comments

Comments
 (0)