private StageResult getTestStage(final Path source, final ResultsVisitor visitor, final TestResult result) { final StageResult testStage = new StageResult(); testStage.setSteps(convert(result.getSteps(), step -> convert(source, visitor, step))); testStage.setAttachments(convert(result.getAttachments(), attachment -> convert(source, visitor, attachment))); testStage.setStatus(convert(result.getStatus())); testStage.setDescription(result.getDescription()); testStage.setDescriptionHtml(result.getDescriptionHtml()); Optional.of(result) .map(ExecutableItem::getStatusDetails) .ifPresent(statusDetails -> { testStage.setStatusMessage(statusDetails.getMessage()); testStage.setStatusTrace(statusDetails.getTrace()); }); return testStage; }
protected void fireCanceledStep(final Step unimplementedStep) { final StepResult stepResult = new StepResult(); stepResult.setName(unimplementedStep.getName()) .setStart(System.currentTimeMillis()) .setStop(System.currentTimeMillis()) .setStatus(Status.SKIPPED) .setStatusDetails(new StatusDetails().setMessage("Unimplemented step")); lifecycle.startStep(scenario.getId(), getStepUuid(unimplementedStep), stepResult); lifecycle.stopStep(getStepUuid(unimplementedStep)); final StatusDetails statusDetails = new StatusDetails(); final TagParser tagParser = new TagParser(feature, scenario); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); lifecycle.updateTestCase(scenario.getId(), scenarioResult -> scenarioResult.setStatus(Status.SKIPPED) .setStatusDetails(statusDetails .setMessage("Unimplemented steps were found"))); }
public static Optional<StatusDetails> getStatusDetails(final Throwable e) { return Optional.ofNullable(e) .map(throwable -> new StatusDetails() .setMessage(Optional.ofNullable(throwable.getMessage()).orElse(throwable.getClass().getName())) .setTrace(getStackTraceAsString(throwable))); }
private StatusDetails getIgnoredMessage(final Description description) { final Ignore ignore = description.getAnnotation(Ignore.class); final String message = Objects.nonNull(ignore) && !ignore.value().isEmpty() ? ignore.value() : "Test ignored (without reason)!"; return new StatusDetails().setMessage(message); }
/** * Create an instance of {@link StatusDetails } * */ public StatusDetails createStatusDetails() { return new StatusDetails(); }
public StatusDetails withMessage(String value) { setMessage(value); return this; }
public StatusDetails withFlaky(boolean value) { setFlaky(value); return this; }
public StatusDetails withMuted(boolean value) { setMuted(value); return this; }
public StatusDetails withKnown(boolean value) { setKnown(value); return this; }
public StatusDetails withTrace(String value) { setTrace(value); return this; }
private void handlePickleStep(final TestStepFinished event) { final StatusDetails statusDetails; if (event.result.getStatus() == Result.Type.UNDEFINED) { statusDetails = getStatusDetails(new PendingException("TODO: implement me")) .orElse(new StatusDetails()); lifecycle.updateTestCase(getTestCaseUuid(currentTestCase), scenarioResult -> scenarioResult .setStatus(translateTestCaseStatus(event.result)) .setStatusDetails(statusDetails)); } else { statusDetails = getStatusDetails(event.result.getError()) .orElse(new StatusDetails()); } final TagParser tagParser = new TagParser(currentFeature, currentTestCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); lifecycle.updateStep(getStepUuid(event.testStep), stepResult -> stepResult.setStatus(translateTestCaseStatus(event.result))); lifecycle.stopStep(getStepUuid(event.testStep)); } }
/** * Create an instance of {@link StatusDetails } * */ public StatusDetails createStatusDetails() { return new StatusDetails(); }
public StatusDetails withMessage(String value) { setMessage(value); return this; }
/** * @deprecated use set method */ @Deprecated public StatusDetails withFlaky(final boolean value) { return setFlaky(value); }
/** * @deprecated use set method */ @Deprecated public StatusDetails withMuted(final boolean value) { return setMuted(value); }
/** * @deprecated use set method */ @Deprecated public StatusDetails withKnown(final boolean value) { return setKnown(value); }
public StatusDetails withTrace(String value) { setTrace(value); return this; }
private void handlePickleStep(final TestStepFinished event) { final StatusDetails statusDetails; if (event.result.getStatus() == Result.Type.UNDEFINED) { statusDetails = getStatusDetails(new PendingException("TODO: implement me")) .orElse(new StatusDetails()); lifecycle.updateTestCase(getTestCaseUuid(currentTestCase), scenarioResult -> scenarioResult .setStatus(translateTestCaseStatus(event.result)) .setStatusDetails(statusDetails)); } else { statusDetails = getStatusDetails(event.result.getError()) .orElse(new StatusDetails()); } final TagParser tagParser = new TagParser(currentFeature, currentTestCase); statusDetails .setFlaky(tagParser.isFlaky()) .setMuted(tagParser.isMuted()) .setKnown(tagParser.isKnown()); lifecycle.updateStep(getStepUuid(event.testStep), stepResult -> stepResult.setStatus(translateTestCaseStatus(event.result))); lifecycle.stopStep(getStepUuid(event.testStep)); } }
@Override public void onEvent(final LogEvent event) { lifecycle.getCurrentTestCase().ifPresent(uuid -> { final String stepUUID = UUID.randomUUID().toString(); lifecycle.startStep(stepUUID, new StepResult() .setName(event.toString()) .setStatus(Status.PASSED)); lifecycle.updateStep(stepResult -> stepResult.setStart(stepResult.getStart() - event.getDuration())); if (LogEvent.EventStatus.FAIL.equals(event.getStatus())) { if (saveScreenshots) { lifecycle.addAttachment("Screenshot", "image/png", "png", getScreenshotBytes()); } if (savePageHtml) { lifecycle.addAttachment("Page source", "text/html", "html", getPageSourceBytes()); } lifecycle.updateStep(stepResult -> { final StatusDetails details = ResultsUtils.getStatusDetails(event.getError()) .orElse(new StatusDetails()); stepResult.setStatus(ResultsUtils.getStatus(event.getError()).orElse(Status.BROKEN)); stepResult.setStatusDetails(details); }); } lifecycle.stopStep(stepUUID); }); }
/** * @deprecated use set method */ @Deprecated public StatusDetails withMessage(final String value) { return setMessage(value); }