private StageResult convert(final Path source, final ResultsVisitor visitor, final FixtureResult result) { final StageResult stageResult = new StageResult() .setName(result.getName()) .setTime(convert(result.getStart(), result.getStop())) .setStatus(convert(result.getStatus())) .setSteps(convert(result.getSteps(), step -> convert(source, visitor, step))) .setDescription(result.getDescription()) .setDescriptionHtml(result.getDescriptionHtml()) .setAttachments(convert(result.getAttachments(), attach -> convert(source, visitor, attach))) .setParameters(convert(result.getParameters(), this::convert)); Optional.of(result) .map(ExecutableItem::getStatusDetails) .ifPresent(statusDetails -> { stageResult.setStatusMessage(statusDetails.getMessage()); stageResult.setStatusTrace(statusDetails.getTrace()); }); return stageResult; }
/** * Start a new fixture with given uuid. * * @param uuid the uuid of fixture. * @param result the test fixture. */ private void startFixture(final String uuid, final FixtureResult result) { storage.put(uuid, result); result.setStage(Stage.RUNNING); result.setStart(System.currentTimeMillis()); threadContext.clear(); threadContext.start(uuid); }
/** * Stops fixture by given uuid. * * @param uuid the uuid of fixture. */ public void stopFixture(final String uuid) { final Optional<FixtureResult> found = storage.getFixture(uuid); if (!found.isPresent()) { LOGGER.error("Could not stop test fixture: test fixture with uuid {} not found", uuid); return; } final FixtureResult fixture = found.get(); notifier.beforeFixtureStop(fixture); fixture.setStage(Stage.FINISHED); fixture.setStop(System.currentTimeMillis()); storage.remove(uuid); threadContext.clear(); notifier.afterFixtureStop(fixture); }
@Override public FixtureResult withSteps(StepResult... values) { if (values!= null) { for (StepResult value: values) { getSteps().add(value); } } return this; }
@Override public FixtureResult withStart(Long value) { setStart(value); return this; }
@Override public FixtureResult withAttachments(Attachment... values) { if (values!= null) { for (Attachment value: values) { getAttachments().add(value); } } return this; }
@Override public FixtureResult withParameters(Collection<Parameter> values) { if (values!= null) { getParameters().addAll(values); } return this; }
@Override public FixtureResult withStage(Stage value) { setStage(value); return this; }
@Override public FixtureResult withStop(Long value) { setStop(value); return this; }
@Override public FixtureResult withSteps(Collection<StepResult> values) { if (values!= null) { getSteps().addAll(values); } return this; }
@Override public FixtureResult withStart(final Long value) { return setStart(value); }
@Override public FixtureResult withAttachments(Collection<Attachment> values) { if (values!= null) { getAttachments().addAll(values); } return this; }
@Override public FixtureResult withParameters(Parameter... values) { if (values!= null) { for (Parameter value: values) { getParameters().add(value); } } return this; }
@Override public FixtureResult withStage(final Stage value) { return setStage(value); }
@Override public FixtureResult withStop(final Long value) { return setStop(value); }
private StageResult convert(final Path source, final ResultsVisitor visitor, final FixtureResult result) { final StageResult stageResult = new StageResult() .setName(result.getName()) .setTime(convert(result.getStart(), result.getStop())) .setStatus(convert(result.getStatus())) .setSteps(convert(result.getSteps(), step -> convert(source, visitor, step))) .setDescription(result.getDescription()) .setDescriptionHtml(result.getDescriptionHtml()) .setAttachments(convert(result.getAttachments(), attach -> convert(source, visitor, attach))) .setParameters(convert(result.getParameters(), this::convert)); Optional.of(result) .map(ExecutableItem::getStatusDetails) .ifPresent(statusDetails -> { stageResult.setStatusMessage(statusDetails.getMessage()); stageResult.setStatusTrace(statusDetails.getTrace()); }); return stageResult; }