use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_replace_old_job_with_regex.
/**
* Tests whether an existing job is renamed by a new job with previous names attribute regex
* created by JobDsl when the seed job is build.
*/
@Test
public void should_replace_old_job_with_regex() {
// Arrange
String oldJobName = "MyJob01";
String newJobName = "MyJob02";
String renameRegex = "/MyJob\\d+/";
jenkins.jobs.create(FreeStyleJob.class, oldJobName);
String jobDslScript = String.format("job('%s') { previousNames( %s ) }", newJobName, renameRegex);
Job seed = createSeedJobWithJobDsl(jobDslScript);
// Act
seed.scheduleBuild().shouldSucceed();
// Assert
Job job = jenkins.jobs.get(Job.class, newJobName);
Job oldJob = jenkins.jobs.get(Job.class, oldJobName);
assertThat(job, pageObjectExists());
assertThat(oldJob, pageObjectDoesNotExist());
assertEquals(newJobName, job.name);
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_regex_name_exclude_matched.
/**
* This test creates a listView and 4 jobs. The job filters are checking the name with a regex and
* jobs matching the regex are excluded in the listView.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_regex_name_exclude_matched() {
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_MATCHED)\n" + " matchValue(RegexMatchValue.NAME)\n" + " regex('" + LIST_VIEW_REGEX + "')\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(job1)));
assertThat(view, not(containsJob(job2)));
assertThat(view, containsJob(jobs.get(0)));
assertThat(view, 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_shows_all_jobs.
/**
* Test if the created jobs are correctly added to the ListView and if the status filter works correctly.
* In this case all jobs shall be shown.
*/
@Test
public void status_filter_shows_all_jobs() {
List<Job> jobs = createAmountOfJobs(4, false);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " statusFilter(StatusFilter.ALL)\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 + "')\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsJob(jobs.get(0)));
assertThat(view, containsJob(jobs.get(1)));
assertThat(view, containsJob(jobs.get(2)));
assertThat(view, containsJob(jobs.get(3)));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_include_jobs_that_have_been_built.
/**
* This test creates jobs and a list view. The job filter only allows jobs that have been built yet.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_include_jobs_that_have_been_built() {
List<Job> notBuiltJobs = createAmountOfJobs(2, false);
List<Job> builtJobs = createAmountOfJobs(3, true);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobFilters {\n" + " buildTrend {\n" + " matchType(MatchType.INCLUDE_MATCHED)\n" + " amountType(AmountType.BUILDS)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsJob(builtJobs.get(0)));
assertThat(view, containsJob(builtJobs.get(1)));
assertThat(view, containsJob(builtJobs.get(2)));
assertThat(view, not(containsJob(notBuiltJobs.get(0))));
assertThat(view, not(containsJob(notBuiltJobs.get(1))));
}
use of org.jenkinsci.test.acceptance.po.Job in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method should_create_job_with_custom_workspace.
/**
* Tests whether a custom workspace is set to a build of a job created by JobDsl when a
* custom workspace path is set to this job and the seed job and this job are build.
*/
@Test
public void should_create_job_with_custom_workspace() {
// Arrange
String jobName = "MyJob";
String customWorkspace = "/tmp/my-workspace";
String jobDslScript = String.format("job('%s') { customWorkspace('%s') }", jobName, customWorkspace);
Job seed = createSeedJobWithJobDsl(jobDslScript);
// Act
seed.startBuild().waitUntilFinished();
Job job = jenkins.jobs.get(Job.class, jobName);
Build build = job.startBuild().waitUntilFinished();
// Assert
assertThat(build.getConsole(), containsString(customWorkspace));
}
Aggregations