use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class CheckStylePluginTest method should_report_new_and_fixed_warnings_in_consecutive_builds.
/**
* Runs job two times to check if new and fixed warnings are displayed. Afterwards, the first build
* is deleted and Jenkins is restarted. Then the results of the second build are validated again: the detail
* pages should then show the same results (see JENKINS-24940).
*/
@Test
@Issue("24940")
public void should_report_new_and_fixed_warnings_in_consecutive_builds() {
assumeTrue("This test requires a restartable Jenkins", jenkins.canRestart());
FreeStyleJob job = createFreeStyleJob();
Build firstBuild = buildJobAndWait(job);
replaceResource(FILE_FOR_2ND_RUN, job);
Build lastBuild = buildSuccessfulJob(job);
assertThatCheckStyleResultExists(job, lastBuild);
lastBuild.open();
verifyWarningCounts(lastBuild);
firstBuild.delete();
jenkins.restart();
lastBuild.open();
verifyWarningCounts(lastBuild);
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class CheckStylePluginTest method should_link_to_source_code_in_real_project.
/**
* Builds an existing freestyle project using actual maven commands and checks if new warning are displayed. Also
* verifies that the warnings have links to the actual source code and the source code view shows the affected
* line.
*/
@Test
public void should_link_to_source_code_in_real_project() {
FreeStyleJob job = createJob(jenkins, CHECKSTYLE_PLUGIN_ROOT + SAMPLE_CHECKSTYLE_PROJECT, FreeStyleJob.class, CheckStyleFreestyleSettings.class, settings -> settings.pattern.set("target/checkstyle-result.xml"));
setMavenGoal(job, "clean package checkstyle:checkstyle");
Build build = buildSuccessfulJob(job);
assertThatCheckStyleResultExists(job, build);
build.open();
CheckStyleAction checkstyle = new CheckStyleAction(build);
checkstyle.open();
assertThat(checkstyle.getNumberOfNewWarnings(), is(12));
SortedMap<String, String> expectedContent = new TreeMap<>();
expectedContent.put("Main.java:0", "JavadocPackageCheck");
expectedContent.put("Main.java:2", "HideUtilityClassConstructorCheck");
expectedContent.put("Main.java:4", "JavadocVariableCheck");
expectedContent.put("Main.java:6", "FinalParametersCheck");
expectedContent.put("Main.java:9", "WhitespaceAroundCheck");
expectedContent.put("Main.java:13", "WhitespaceAroundCheck");
expectedContent.put("Main.java:18", "WhitespaceAroundCheck");
expectedContent.put("Main.java:23", "JavadocMethodCheck");
expectedContent.put("Main.java:24", "MagicNumberCheck");
expectedContent.put("Main.java:27", "JavadocMethodCheck");
assertThat(checkstyle.getWarningsTabContents(), is(expectedContent));
verifySourceLine(checkstyle, "Main.java", 27, "27 public static int return8() {", "Checks the Javadoc of a method or constructor.");
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class CheckStylePluginTest method should_resolve_environment_variables.
/**
* Verifies that environment variables are expanded in the file name pattern.
*/
@Test
@Issue("JENKINS-30735")
@WithPlugins({ "envinject", "analysis-core@1.77", "checkstyle@3.46" })
public void should_resolve_environment_variables() {
FreeStyleJob job = createFreeStyleJob(settings -> settings.pattern.set("checkstyle${ENV_DASH}result.xml"));
job.configure(() -> new EnvInjectConfig.Environment(job).properties.sendKeys("ENV_DASH=-"));
Build build = buildSuccessfulJob(job);
assertThatCheckStyleResultExists(job, build);
CheckStyleAction action = new CheckStyleAction(job);
assertThatWarningsCountInSummaryIs(action, TOTAL_NUMBER_OF_WARNINGS);
assertThatNewWarningsCountInSummaryIs(action, TOTAL_NUMBER_OF_WARNINGS);
assertThat(build.getConsole(), containsRegexp("\\[CHECKSTYLE\\] Searching for all files in .* that match the pattern checkstyle-result.xml\n"));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class OpenstackCloudPluginTest method useSingleUseSlave.
@Test
@WithCredentials(credentialType = WithCredentials.SSH_USERNAME_PRIVATE_KEY, values = { MACHINE_USERNAME, "/openstack_plugin/unsafe" })
@TestActivation({ "HARDWARE_ID", "IMAGE_ID", "KEY_PAIR_NAME", "NETWORK_ID" })
public void useSingleUseSlave() {
configureCloudInit("cloud-init");
configureProvisioning("SSH", "label");
FreeStyleJob job = jenkins.jobs.create();
job.configure();
job.setLabelExpression("label");
job.addBuildWrapper(OpenstackOneOffSlave.class);
job.save();
Build build = job.scheduleBuild().waitUntilFinished(PROVISIONING_TIMEOUT).shouldSucceed();
assertTrue(build.getNode().isTemporarillyOffline());
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class PmdPluginTest method should_collect_warnings_even_if_build_failed.
/**
* Checks that PMD runs even if the build failed if the property 'canRunOnFailed' is set.
*/
@Test
public void should_collect_warnings_even_if_build_failed() {
FreeStyleJob job = createFreeStyleJob(settings -> {
settings.pattern.set(PATTERN_WITHOUT_WARNINGS);
settings.setCanRunOnFailed(true);
});
job.configure(() -> job.addShellStep("false"));
Build lastBuild = buildFailingJob(job);
assertThatBuildHasNoWarnings(lastBuild);
}
Aggregations