use of org.jenkinsci.test.acceptance.junit.WithPlugins in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_status_failed_include_unmatched.
/**
* 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 not 'FAILED'.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_status_failed_include_unmatched() {
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_UNMATCHED)\n" + " status(Status.FAILED)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(failedJob)));
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.junit.WithPlugins in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_regex_name_include_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 included in the listView.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_regex_name_include_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" + " jobFilters {\n" + " regex {\n" + " matchType(MatchType.INCLUDE_MATCHED)\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.junit.WithPlugins in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_include_jobs_built_at_least_once.
/**
* This test creates 5 jobs and builds 3 of them immediately. A list view is created with its job filter set to only
* include jobs that were built at least once.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_include_jobs_built_at_least_once() {
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" + " buildCountType(BuildCountType.AT_LEAST_ONE)\n" + " }\n" + " }\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, not(containsJob(notBuiltJobs.get(0))));
assertThat(view, not(containsJob(notBuiltJobs.get(1))));
assertThat(view, containsJob(builtJobs.get(0)));
assertThat(view, containsJob(builtJobs.get(1)));
assertThat(view, containsJob(builtJobs.get(2)));
}
use of org.jenkinsci.test.acceptance.junit.WithPlugins in project acceptance-test-harness by jenkinsci.
the class JobDslPluginTest method job_filters_all_jobs_are_added.
/**
* This test creates a listView and creates two additional jobs. The job filter of the script is set to "all jobs".
* The two additional jobs as well as the seed job is added to the listView.
*/
@Test
@WithPlugins("view-job-filters")
public void job_filters_all_jobs_are_added() {
List<Job> jobs = createAmountOfJobs(2, false);
String jobDslScript = "listView('" + LIST_VIEW_NAME + "') {\n" + " columns {\n" + " name()\n" + " }\n" + " jobFilters {\n" + " all()\n" + " }\n" + "\n" + "}";
View view = openNewlyCreatedListView(jobDslScript, LIST_VIEW_NAME);
assertThat(view, containsJob(jobs.get(0)));
assertThat(view, containsJob(jobs.get(1)));
}
use of org.jenkinsci.test.acceptance.junit.WithPlugins 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))));
}
Aggregations