package com.offbytwo.jenkins.integration;
import java.io.IOException;
import java.net.URI;
import java.util.List;
import org.junit.Test;
import com.offbytwo.jenkins.JenkinsServer;
import com.offbytwo.jenkins.model.BuildWithDetails;
import com.offbytwo.jenkins.model.MavenJobWithDetails;
import com.offbytwo.jenkins.model.TestCase;
import com.offbytwo.jenkins.model.TestChild;
import com.offbytwo.jenkins.model.TestChildReport;
import com.offbytwo.jenkins.model.TestReport;
import com.offbytwo.jenkins.model.TestResult;
import com.offbytwo.jenkins.model.TestSuites;
public class BuildJobTestReports {
@Test
public void shouldAddStringParamToAnExistingJob() throws IOException {
JenkinsServer js = new
JenkinsServer(URI.create("http://localhost:10090/buildserver/"), "admin", "admin");
// JenkinsServer js = new JenkinsServer(URI.create("http://ci.soebes.de:8080/"));
// MavenJobWithDetails mavenJob = js.getMavenJob("javaee");
MavenJobWithDetails mavenJob = js.getMavenJob("maven-test");
BuildWithDetails details = mavenJob.getLastSuccessfulBuild().details();
// BuildWithDetails details = mavenJob.getBuilds().get(8).details();
System.out.println("Build Number: " + details.getNumber());
TestReport testReport = mavenJob.getLastBuild().getTestReport();
System.out.println("------ Tests");
System.out.println(" urlName: " + testReport.getUrlName());
System.out.println(" failCount: " + testReport.getFailCount());
System.out.println(" skipCount: " + testReport.getSkipCount());
System.out.println(" totalCount: " + testReport.getTotalCount());
List<TestChildReport> childReports = testReport.getChildReports();
for (TestChildReport testChildReport : childReports) {
TestChild child = testChildReport.getChild();
System.out.println(" Child number: " + child.getNumber());
System.out.println(" Child url: " + child.getUrl());
TestResult testResult = testChildReport.getResult();
System.out.println(" Child duration: " + testResult.getDuration());
System.out.println(" Child failCount: " + testResult.getFailCount());
System.out.println(" Child passCount: " + testResult.getPassCount());
System.out.println(" Child skipCount: " + testResult.getSkipCount());
List<TestSuites> suites = testResult.getSuites();
for (TestSuites testSuite : suites) {
System.out.println(" TestSuite duration:" + testSuite.getDuration());
System.out.println(" TestSuite id:" + testSuite.getId());
System.out.println(" TestSuite name:" + testSuite.getName());
System.out.println(" TestSuite timestamp:" + testSuite.getTimestamp());
List<TestCase> testCases = testSuite.getCases();
double sumTestCases = 0.0;
for (TestCase testCase : testCases) {
System.out.println(" ------------------------------------------");
System.out.println(" TestCase: age: " + testCase.getAge());
System.out.println(" TestCase: classname: " + testCase.getClassName());
System.out.println(" TestCase: duration: " + testCase.getDuration());
System.out.println(" TestCase: failedSince: " + testCase.getFailedSince());
System.out.println(" TestCase: name: " + testCase.getName());
System.out.println(" TestCase: status: " + testCase.getStatus());
System.out.println(" TestCase: errorDetails: " + testCase.getErrorDetails());
System.out.println(" TestCase: errorStackTrace: " + testCase.getErrorStackTrace());
sumTestCases += testCase.getDuration();
}
System.out.println("----> SUM: " + sumTestCases);
}
}
}
}