@Override public SaveLogRQ apply(String item) { SaveLogRQ rq = new SaveLogRQ(); rq.setMessage(message); rq.setTestItemId(item); rq.setLevel(level); rq.setLogTime(Calendar.getInstance().getTime()); if (file != null) { rq.setFile(file); } return rq; } });
@Override public Result<? extends EntryCreatedRS> log(SaveLogRQ rq) throws RestEndpointIOException { if (null == rq.getFile()) { EntryCreatedRS response = endpoint.post(apiBase + "/" + project + "/log", rq, EntryCreatedRS.class); return new Result<EntryCreatedRS>(response); } else { MultiPartRequest<SaveLogRQ[]> request = new MultiPartRequest.Builder<SaveLogRQ[]>() .addSerializedPart(Constants.LOG_REQUEST_JSON_PART, new SaveLogRQ[] { rq }).addBinaryPart(rq.getFile().getName(), rq.getFile().getName(), ContentType.APPLICATION_OCTET_STREAM.getMimeType(), rq.getFile().getContent()) .build(); BatchSaveOperatingRS response = endpoint.post(apiBase + "/" + project + "/log", request, BatchSaveOperatingRS.class); if (response.getResponses() == null || response.getResponses().size() == 0) { throw new InternalReportPortalClientException("Report portal hasn't sent any response."); } return new Result<EntryCreatedRS>(response.getResponses().get(0)); } }
@Override public SaveLogRQ apply(String itemId) { SaveLogRQ rq = new SaveLogRQ(); rq.setTestItemId(itemId); rq.setLevel("ERROR"); rq.setLogTime(Calendar.getInstance().getTime()); if (result.getThrowable() != null) { rq.setMessage(getStackTraceAsString(result.getThrowable())); } else { rq.setMessage("Test has failed without exception"); } rq.setLogTime(Calendar.getInstance().getTime()); return rq; } });
@Override public void sendReportPortalMsg(Failure result) { Method method = null; method = getMethod(result.getDescription()); if (method == null) { return; } SaveLogRQ saveLogRQ = new SaveLogRQ(); if (result.getException() != null) { saveLogRQ.setMessage( "Exception: " + result.getException().getMessage() + System.getProperty("line.separator") + this.getStackTraceString( result.getException())); } else { saveLogRQ.setMessage("Just exception (contact dev team)"); } saveLogRQ.setLogTime(Calendar.getInstance().getTime()); saveLogRQ.setTestItemId(context.getRunningMethodId(runningMethodName(method))); saveLogRQ.setLevel("ERROR"); try { reportPortalService.log(saveLogRQ); } catch (Exception e1) { handleException(e1, logger, "Unnable to send message to Report Portal"); } }
@Override public com.epam.ta.reportportal.ws.model.log.SaveLogRQ apply(String itemId) { final String message = event.getFormattedMessage(); final String level = event.getLevel().toString(); final Date time = new Date(event.getTimeStamp()); SaveLogRQ rq = new SaveLogRQ(); rq.setLevel(level); rq.setLogTime(time); rq.setTestItemId(itemId); try { if (MESSAGE_PARSER.supports(message)) { ReportPortalMessage rpMessage = MESSAGE_PARSER.parse(message); TypeAwareByteSource data = rpMessage.getData(); com.epam.ta.reportportal.ws.model.log.SaveLogRQ.File file = new com.epam.ta.reportportal.ws.model.log.SaveLogRQ.File(); file.setContent(data.read()); file.setContentType(data.getMediaType()); file.setName(UUID.randomUUID().toString()); rq.setFile(file); rq.setMessage(rpMessage.getMessage()); } else { rq.setMessage(encoder.getLayout().doLayout(event)); } } catch (Exception e) { //skip } return rq; } });