use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class WarningsPluginTest method should_detect_no_errors_in_console_log_and_workspace_when_there_are_none.
/**
* Checks that no warnings are reported if the build does nothing.
*/
@Test
public void should_detect_no_errors_in_console_log_and_workspace_when_there_are_none() {
FreeStyleJob job = createNoFilesFreeStyleJob(settings -> {
settings.addConsoleParser("Maven");
settings.addWorkspaceScanner(JAVA_TITLE, "**/*");
});
Build build = buildSuccessfulJob(job);
assertThatActionIsMissing(job, build, "Java Warnings");
assertThatActionIsMissing(job, build, "Maven Warnings");
build.open();
assertThat(driver, hasContent("Java Warnings: 0"));
assertThat(driver, hasContent("Maven Warnings: 0"));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class WarningsPluginTest method should_scan_console_log_of_slave_build.
@Test
@WithDocker
@WithCredentials(credentialType = WithCredentials.SSH_USERNAME_PRIVATE_KEY, values = { CREDENTIALS_ID, CREDENTIALS_KEY })
@WithPlugins("ssh-slaves")
public void should_scan_console_log_of_slave_build() throws ExecutionException, InterruptedException {
DumbSlave dockerSlave = createDockerAgent();
FreeStyleJob job = prepareDockerSlave(dockerSlave);
job.configure();
job.copyResource(resource(RESOURCE_WARNING_MAIN_JAVA_PATH));
ShellBuildStep shellBuildStep = job.addBuildStep(ShellBuildStep.class);
shellBuildStep.command(CMD_WARNING_MAIN_JAVA_CONSOLE);
WarningsPublisher warningsPublisher = job.addPublisher(WarningsPublisher.class);
warningsPublisher.addConsoleScanner(JAVA_ID);
job.save();
Build build = job.startBuild().shouldSucceed();
assertThatActionExists(job, build, "Java Warnings");
WarningsAction action = createJavaResultAction(build);
assertThatWarningsCountInSummaryIs(action, 3);
String codeLine = action.getLinkedSourceFileText(AnalysisAction.Tab.DETAILS, "WarningMain.java", 10);
String[] codeLineArr = codeLine.trim().split("\\s+", 2);
assertThat("Warning should be at line", codeLineArr[0], is("10"));
assertThat("Assert failed comparing code line is", codeLineArr[1], is("text = (TextClass) text2;"));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_create_build_with_environment_variable.
/**
* Tests whether an environment variable is set to a build of a job created by JobDsl when
* an environment variable is set to this job and the seed job and this job are build.
*/
@Test
@WithPlugins("envinject")
public void should_create_build_with_environment_variable() {
// Arrange
String jobName = "MyJob";
String envVariableKey = "FOO";
String envVariableValue = "test";
String jobDslScript = String.format("job('%s') { environmentVariables(%s: '%s') }", jobName, envVariableKey, envVariableValue);
Job seed = createSeedJobWithJobDsl(jobDslScript);
// Act
seed.startBuild().waitUntilFinished();
Job job = jenkins.jobs.get(Job.class, jobName);
Build build = job.startBuild().waitUntilFinished();
// Assert
build.open();
driver.findElement(By.partialLinkText("Environment Variables")).click();
assertThat(driver, hasElement(by.xpath(String.format("//tr/td[contains(text(), '%s')]", envVariableKey))));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class FindBugsPluginTest method should_retrieve_results_from_maven_job.
/**
* Builds a maven project and checks if a new warning is displayed.
*/
@Test
public void should_retrieve_results_from_maven_job() {
MavenModuleSet job = createMavenJob();
Build build = buildSuccessfulJob(job);
assertThatFindBugsResultExists(job, build);
build.open();
FindBugsAction action = new FindBugsAction(build);
action.open();
assertThat(action.getNumberOfNewWarnings(), is(1));
}
use of org.jenkinsci.test.acceptance.po.Build in project acceptance-test-harness by jenkinsci.
the class FindBugsPluginTest method should_link_to_source_code_in_real_project.
/**
* Builds a freestyle project and checks if new warning are displayed.
*/
@Test
public void should_link_to_source_code_in_real_project() {
FreeStyleJob job = createJob(jenkins, "/findbugs_plugin/sample_findbugs_project", FreeStyleJob.class, FindBugsFreestyleSettings.class, settings -> settings.pattern.set("target/findbugsXml.xml"));
setMavenGoal(job, "clean package findbugs:findbugs");
Build build = buildSuccessfulJob(job);
assertThatFindBugsResultExists(job, build);
build.open();
FindBugsAction action = new FindBugsAction(build);
action.open();
assertThat(action.getNumberOfNewWarnings(), is(1));
verifySourceLine(action, "Main.java", 18, "18 if(o == null) {", "Redundant nullcheck of o, which is known to be non-null in Main.main(String[])");
}
Aggregations