use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_regex_name_exclude_unmatched.
/**
* This test creates a listView and 4 jobs. The job filters are checking the name with a regex and
* jobs not matching the regex are excluded in the listView.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_regex_name_exclude_unmatched() {
Job job1 = createJobWithName(EXAMPLE_DISABLED_NAME);
Job job2 = createJobWithName(EXAMPLE_ENABLED_NAME);
List<Job> jobs = createAmountOfJobs(2, false);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobs{\n" + " names('" + job1.name + "','" + job2.name + "','" + jobs.get(0).name + "','" + jobs.get(1).name + "')\n" + " }\n" + " jobFilters {\n" + " regex {\n" + " matchType(MatchType.EXCLUDE_UNMATCHED)\n" + " matchValue(RegexMatchValue.NAME)\n" + " regex('" + LIST_VIEW_REGEX + "')\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsJob(job1));
assertThat(view, containsJob(job2));
assertThat(view, not(containsJob(jobs.get(0))));
assertThat(view, not(containsJob(jobs.get(1))));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method status_filter_only_shows_disabled_jobs.
/**
* Test if the created jobs are correctly added to the ListView and if the status filter works correctly.
* In this case only disabled jobs shall be shown.
*/
@Test
public void status_filter_only_shows_disabled_jobs() {
List<Job> jobs = createAmountOfJobs(3, false);
Job jobDisabled = createDisabledJob();
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " statusFilter(StatusFilter.DISABLED)\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, containsJob(jobDisabled));
assertThat(view, not(containsJob(jobs.get(0))));
assertThat(view, not(containsJob(jobs.get(1))));
assertThat(view, not(containsJob(jobs.get(2))));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_status_failed_include_matched.
/**
* This test creates a job and runs a build which fails. Afterwards 4 new jobs get created as well as a listView.
* The job filter of the listView is set to show jobs which build status is 'FAILED'.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_status_failed_include_matched() {
Job failedJob = createJobThatFails();
List<Job> jobs = createAmountOfJobs(4, true);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobFilters {\n" + " status {\n" + " matchType(MatchType.INCLUDE_MATCHED)\n" + " status(Status.FAILED)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsJob(failedJob));
assertThat(view, not(containsJob(jobs.get(0))));
assertThat(view, not(containsJob(jobs.get(1))));
assertThat(view, not(containsJob(jobs.get(2))));
assertThat(view, not(containsJob(jobs.get(3))));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_create_build_with_given_name.
/**
* Tests whether a build display name is registered to a build of a job created by JobDsl
* when a build name is set to this job and the seed job and this job are build.
*/
@Test
@WithPlugins("build-name-setter")
public void should_create_build_with_given_name() {
// Arrange
String jobName = "MyJob";
String buildName = "MyBuild";
String jobDslScript = String.format("job('%s') { wrappers { buildName('%s') } }", jobName, buildName);
Job seed = createSeedJobWithJobDsl(jobDslScript);
// Act
seed.startBuild().waitUntilFinished();
Job job = jenkins.jobs.get(Job.class, jobName);
Build build = job.startBuild().waitUntilFinished();
// Assert
build.open();
assertThat(build.getDisplayName(), containsString(buildName));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_create_job_with_github_repository.
/**
* Tests whether a github project is set to a job created by JobDsl when a github repository name
* is set to this job and the seed job is build.
*/
@Test
@WithPlugins({ "git", "github" })
public void should_create_job_with_github_repository() {
// Arrange
String jobName = "MyJob";
String gitProject = "jenkinsci/job-dsl-plugin";
String hrefLocator = "https://github.com/jenkinsci/job-dsl-plugin/";
Job seed = createSeedJobWithJobDsl(String.format("job('%s') { scm { github('%s') } }", jobName, gitProject));
// Act
seed.startBuild().waitUntilFinished();
Job job = jenkins.jobs.get(Job.class, jobName);
// Assert
job.open();
assertThat(driver, hasElement(by.href(hrefLocator)));
}
Aggregations