use of org.jenkinsci.test.acceptance.po.Folder in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_lookup_at_seed_job.
/**
* Verifies that relative job names are interpreted relative to the folder in which
* the seed job is located.
*/
@Test
@WithPlugins("cloudbees-folder")
public void should_lookup_at_seed_job() {
Folder folder = runSeedJobInFolder("New_Job", JobDslLookupStrategy.SEED_JOB);
FreeStyleJob newJob = getJob("New_Job");
assertThat(newJob, pageObjectDoesNotExist());
newJob = folder.getJobs().get(FreeStyleJob.class, "New_Job");
assertThat(newJob, pageObjectExists());
}
use of org.jenkinsci.test.acceptance.po.Folder in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method runSeedJobInFolder.
/**
* Creates and executes a seed job in a folder. The seed job generates a new job
* with the specified lookup strategy.
* @param jobName The name the job to generate.
* @param strategy The context to use for relative job names.
* @return The folder in which the seed job is located.
*/
private Folder runSeedJobInFolder(String jobName, JobDslLookupStrategy strategy) {
final Folder folder = jenkins.jobs.create(Folder.class, "Folder");
FreeStyleJob seedJob = folder.getJobs().create(FreeStyleJob.class, "Seed");
JobDslBuildStep jobDsl = seedJob.addBuildStep(JobDslBuildStep.class);
jobDsl.setScript("job('" + jobName + "')");
jobDsl.setLookupStrategy(strategy);
seedJob.save();
seedJob.scheduleBuild().shouldSucceed();
return folder;
}
use of org.jenkinsci.test.acceptance.po.Folder in project acceptance-test-harness by jenkinsci.
the class ExtraColumnsPluginTest method should_show_console_link_in_folder.
/**
* Sets up a job within a folder. Starts a succeeding build. Adds the last console column to a new view
* and verifies that clicking the link to the last console opens the console log.
*/
@Test
@WithPlugins("cloudbees-folder")
public void should_show_console_link_in_folder() {
Folder folder = jenkins.jobs.create(Folder.class, createRandomName());
folder.save();
folder.open();
FreeStyleJob job = folder.getJobs().create();
job.startBuild().waitUntilFinished().shouldSucceed();
ListView.createWithColumn(folder, LastConsoleColumn.class);
List<WebElement> links = all(by.link("Last/current build console output"));
assertThat(links, iterableWithSize(1));
links.get(0).click();
assertThat(driver, hasContent("Console Output"));
}
use of org.jenkinsci.test.acceptance.po.Folder in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_lookup_at_jenkins_root.
/**
* Verifies that relative job names are interpreted relative to the Jenkins root.
* Even if the seed job is located in a folder, a new generated job is relative
* to the Jenkins root.
*/
@Test
@WithPlugins("cloudbees-folder")
public void should_lookup_at_jenkins_root() {
Folder folder = runSeedJobInFolder("New_Job", JobDslLookupStrategy.JENKINS_ROOT);
FreeStyleJob newJob = getJob("New_Job");
assertThat(newJob, pageObjectExists());
newJob = folder.getJobs().get(FreeStyleJob.class, "New_Job");
assertThat(newJob, pageObjectDoesNotExist());
}
use of org.jenkinsci.test.acceptance.po.Folder in project acceptance-test-harness by jenkinsci.
the class AbstractAnalysisTest method should_show_warnings_in_folder.
/**
* Sets up a nested view that contains a dashboard view with a warnings-per-project portlet.
* Creates a folder in this view and a freestyle job in this folder.
* Finally checks if the warnings-per-project portlet and warnings column show the
* correct number of warnings and provide a direct link to the actual warning results.
*/
@Test
@Issue("JENKINS-39947")
@WithPlugins({ "dashboard-view", "nested-view", "cloudbees-folder", "analysis-core@1.87" })
public void should_show_warnings_in_folder() {
// avoid JENKINS-49026
checkExtensionAreDeployed("hudson.plugins.analysis.dashboard.AbstractPortlet", Collections.EMPTY_SET);
NestedView nested = jenkins.getViews().create(NestedView.class);
DashboardView dashboard = nested.getViews().create(DashboardView.class);
dashboard.configure(() -> {
dashboard.matchAllJobs();
dashboard.checkRecurseIntoFolders();
});
Folder folder = dashboard.jobs.create(Folder.class);
folder.save();
folder.open();
FreeStyleJob job = createFreeStyleJob(folder);
runAndVerifyJobResults(job);
P projectAction = createProjectAction(job);
dashboard.configure(() -> {
dashboard.addBottomPortlet(projectAction.getTablePortlet());
});
verifyPortlet(projectAction);
addListViewColumn(projectAction.getViewColumn(), folder);
verifyColumn(projectAction);
}
Aggregations