use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class JacocoPluginTest method checkSuccessfulExecutionAndsummary.
@Test
public void checkSuccessfulExecutionAndsummary() {
MavenInstallation.installSomeMaven(jenkins);
FreeStyleJob job = jenkins.jobs.create();
{
job.copyDir(resource("/jacoco/test"));
MavenBuildStep maven = job.addBuildStep(MavenBuildStep.class);
maven.targets.set("clean package -B");
maven.properties("jacoco.version=" + getJacocoLibraryVersion(), true);
JacocoPublisher publisher = job.addPublisher(JacocoPublisher.class);
publisher.changeBuildStatus.check();
}
job.save();
Build build = job.startBuild().waitUntilFinished().shouldSucceed();
assertThat(build, hasAction("Coverage Report"));
JacocoResultPage total = new JacocoResultPage(build);
assertEquals(45.45, total.instructionCoverage(), 0.01);
assertEquals(50.0, total.branchCoverage(), 0.01);
assertEquals(33.33, total.complexityScore(), 0.01);
assertEquals(50.0, total.lineCoverage(), 0.01);
assertEquals(50.0, total.methodCoverage(), 0.01);
assertEquals(100.0, total.classCoverage(), 0.01);
JacocoResultPage pkg = new JacocoResultPage(total, "(default)/App");
assertEquals(45.45, pkg.instructionCoverage(), 0.01);
assertEquals(50.0, pkg.branchCoverage(), 0.01);
assertEquals(33.33, pkg.complexityScore(), 0.01);
assertEquals(50.0, pkg.lineCoverage(), 0.01);
assertEquals(50.0, pkg.methodCoverage(), 0.01);
assertEquals(100.0, pkg.classCoverage(), 0.01);
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class ArtifactoryPluginTest method maven_integration.
@Test
@WithPlugins("maven-plugin")
@Ignore
@Issue("JENKINS-66791")
public void maven_integration() {
installSomeMaven(jenkins);
final ArtifactoryContainer artifactory = artifactoryContainer.get();
waitForArtifactory(artifactory);
configureArtifactory(artifactory);
MavenModuleSet job = jenkins.jobs.create(MavenModuleSet.class);
job.configure();
job.copyDir(resource("/artifactory_plugin/multimodule/"));
job.goals.set("install");
job.options("-verbose");
ArtifactoryPublisher publisher = job.addPublisher(ArtifactoryPublisher.class);
publisher.refresh();
job.save();
Build build = job.startBuild().shouldSucceed();
String log = build.getConsole();
assertThat(log, containsString("Initializing Artifactory Build-Info Recording"));
assertThat(log, containsString("Deploying artifact"));
assertThat(log, containsRegexp("Deploying build (info|descriptor) to: " + artifactory.getURL() + "/api/build"));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class ArtifactoryPluginTest method gradle_integration.
@Test
@WithPlugins("gradle")
@Ignore
@Issue("JENKINS-39323")
public void gradle_integration() {
final ArtifactoryContainer artifactory = artifactoryContainer.get();
waitForArtifactory(artifactory);
configureArtifactory(artifactory);
GradleInstallation.installGradle(jenkins, "gradle 2.0", "2.0");
FreeStyleJob job = jenkins.jobs.create();
job.copyDir(resource("/artifactory_plugin/quickstart"));
ArtifactoryGradleConfiguratior gradleConfig = new ArtifactoryGradleConfiguratior(job);
gradleConfig.refresh();
GradleStep gradle = job.addBuildStep(GradleStep.class);
gradle.setVersion("gradle 2.0");
// gradle.tasks.set("build --stacktrace --debug");
gradle.setTasks("build");
job.save();
Build build = job.startBuild().shouldSucceed();
String log = build.getConsole();
assertThat(log, containsString("build artifactoryPublish"));
assertThat(log, containsString("[buildinfo]"));
assertThat(log, containsString("Deploying artifact"));
assertThat(log, containsRegexp("Deploying build (info|descriptor) to: " + artifactory.getURL() + "/api/build"));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class ConfigFileProviderTest method createPipelineAndGetConsole.
private String createPipelineAndGetConsole(final MavenSettingsConfig mvnConfig) {
final WorkflowJob job = jenkins.jobs.create(WorkflowJob.class);
job.script.set(String.format("node {\n" + " configFileProvider(\n" + " [configFile(fileId: '%s', variable: 'MAVEN_SETTINGS')]) {\n" + " \n" + " sh 'cat $MAVEN_SETTINGS '\n" + " }\n" + "}", mvnConfig.id()));
job.save();
final Build b = job.startBuild().shouldSucceed();
return b.getConsole();
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class GerritTriggerTest method build_is_triggered_after_comment_is_added.
@Test
public void build_is_triggered_after_comment_is_added() {
GerritTriggerNewServer newServer = new GerritTriggerNewServer(jenkins);
newServer.saveNewTestServerConfigIfNone(gtHostname);
GerritTriggerServer server = new GerritTriggerServer(jenkins, gtHostname);
server.saveTestServerConfig(gtHostname, gtGerritFrontUrl, gtGerrituser, gtPrivateKey);
Job j = jenkins.jobs.create(FreeStyleJob.class);
String jobName = j.name;
GerritTriggerJob job = new GerritTriggerJob(jenkins, jobName);
job.saveTestJobConfig(GerritTriggerJob.EventToTriggerOn.CommentAdded, gtHostname, gtProject);
try {
GitLogResult gitLogResult = pushChangeForReview(jobName);
addComment(gitLogResult.commitId);
changes.add(gitLogResult.changeId);
Build b = new Build(j, j.getNextBuildNumber());
assertTrue(b.waitUntilFinished().isSuccess());
elasticSleep(10000);
ProcessBuilder gerritQuery = new ProcessBuilder("ssh", "-p", "29418", "-i", gtPrivateKey, gtGerrituser + "@" + gtHostname, "gerrit", "query", "change_id=" + gitLogResult.changeId, "--all-approvals", "--format JSON");
String json = removeLastLine(stringFrom(logProcessBuilderIssues(gerritQuery, "gerrit query")));
checkApprovalValueFromJSON(json, "Verified", 1);
checkApprovalValueFromJSON(json, "Code-Review", 1);
} catch (InterruptedException | IOException e) {
fail(e.getMessage());
}
}
Aggregations