use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_include_failed_jobs_built_at_least_once.
/**
* This test creates 3 jobs and builds 3 of them immediately. One of the fails. A list view is created with its job filter set to only
* include jobs that failed.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_include_failed_jobs_built_at_least_once() {
List<Job> jobs = createAmountOfJobs(2, true);
Job job3 = createJobThatFails();
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobFilters {\n" + " buildTrend {\n" + " matchType(MatchType.INCLUDE_MATCHED)\n" + " buildCountType(BuildCountType.AT_LEAST_ONE)\n" + " status(BuildStatusType.FAILED)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(jobs.get(0))));
assertThat(view, not(containsJob(jobs.get(1))));
assertThat(view, containsJob(job3));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method createDisabledJob.
/**
* This method creates a new job and disables it.
* @return the disabled job
*/
private Job createDisabledJob() {
Job job = jenkins.jobs.create(FreeStyleJob.class);
job.disable();
job.save();
return job;
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method status_filter_only_shows_enabled_jobs.
/**
* Test if the created jobs are correctly added to the ListView and if the status filter works correctly.
* In this case only enabled jobs shall be shown.
*/
@Test
public void status_filter_only_shows_enabled_jobs() {
List<Job> jobs = createAmountOfJobs(3, false);
Job jobDisabled = createDisabledJob();
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " statusFilter(StatusFilter.ENABLED)\n" + " columns {\n" + " name()\n" + " }\n" + " jobs {\n" + " names('" + jobs.get(0).name + "', '" + jobs.get(1).name + "', '" + jobs.get(2).name + "', '" + jobDisabled.name + "')\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(jobDisabled)));
assertThat(view, containsJob(jobs.get(0)));
assertThat(view, containsJob(jobs.get(1)));
assertThat(view, containsJob(jobs.get(2)));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method are_columns_created.
/**
* Test if all native columns of a ListView are created and shown correctly.
*/
@Test
public void are_columns_created() {
Job job1 = createJobAndBuild();
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " status()\n" + " weather()\n" + " name()\n" + " lastSuccess()\n" + " lastFailure()\n" + " lastDuration()\n" + " buildButton()\n" + " }\n" + " jobs{\n" + " name('" + job1.name + "')\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsColumnHeaderTooltip("Status of the last build"));
assertThat(view, containsColumnHeaderTooltip("Weather report showing aggregated status of recent builds"));
assertThat(view, containsColumnHeader("Name"));
assertThat(view, containsColumnHeader("Last Success"));
assertThat(view, containsColumnHeader("Last Failure"));
assertThat(view, containsColumnHeader("Last Duration"));
String searchText = "Schedule a Build for " + job1.name;
// behaviour change in https://github.com/jenkinsci/jenkins/pull/6084
WebElement webElement = view.getElement(By.cssSelector(String.format("a[tooltip='%s']", searchText)));
if (webElement != null) {
assertThat(view, containsLinkWithTooltip(searchText));
} else {
assertThat(view, containsSvgWithText(searchText));
}
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_most_recent_3_jobs.
/**
* This test creates 5 jobs and builds them immediately. A list view is created with its job filter set to show the
* 3 jobs which were most recently built.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_most_recent_3_jobs() {
List<Job> jobs = createAmountOfJobs(5, true);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobs{\n" + " names('" + jobs.get(0).name + "','" + jobs.get(1).name + "','" + jobs.get(2).name + "','" + jobs.get(3).name + "','" + jobs.get(4).name + "')\n" + " }\n" + " jobFilters {\n" + " mostRecent {\n" + " maxToInclude(3)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(jobs.get(0))));
assertThat(view, not(containsJob(jobs.get(1))));
assertThat(view, containsJob(jobs.get(2)));
assertThat(view, containsJob(jobs.get(3)));
assertThat(view, containsJob(jobs.get(4)));
}
Aggregations