@Override public Data getTestData(AbstractBuild<?, ?> ab, Launcher lnchr, BuildListener bl, TestResult tr) throws IOException, InterruptedException { bl.getLogger().println("Scanning for test data..."); boolean foundSession = false; List<String> sessionIDs = null; for (SuiteResult sr : tr.getSuites()) { for (CaseResult cr : sr.getCases()) { sessionIDs = TestingBotReportFactory.findSessionIDs(cr); if (!sessionIDs.isEmpty()) { String errorDetails = cr.getErrorDetails(); if (errorDetails == null) { errorDetails = ""; } TestingBotAPI api = new TestingBotAPI(); Map<String, String> data = new HashMap<String, String>(); data.put("success", cr.isPassed() ? "1" : "0"); data.put("status_message", errorDetails); data.put("name", cr.getFullName()); api.updateTest(sessionIDs.get(0), data); foundSession = true; } } } if (!foundSession) { bl.getLogger().println("No TestingBot sessionIDs found in test output."); return null; } else { return TestingBotReportFactory.INSTANCE; } }
public int compareTo(CaseResult that) { return this.getFullName().compareTo(that.getFullName()); }