Search in sources :

Example 36 with Job

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);
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Job(org.jenkinsci.test.acceptance.po.Job) FreeStyleJob(org.jenkinsci.test.acceptance.po.FreeStyleJob) AbstractJUnitTest(org.jenkinsci.test.acceptance.junit.AbstractJUnitTest) Test(org.junit.Test)

Example 37 with Job

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)));
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Job(org.jenkinsci.test.acceptance.po.Job) FreeStyleJob(org.jenkinsci.test.acceptance.po.FreeStyleJob) ListView(org.jenkinsci.test.acceptance.po.ListView) View(org.jenkinsci.test.acceptance.po.View) AbstractJUnitTest(org.jenkinsci.test.acceptance.junit.AbstractJUnitTest) Test(org.junit.Test) WithPlugins(org.jenkinsci.test.acceptance.junit.WithPlugins)

Example 38 with Job

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)));
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Job(org.jenkinsci.test.acceptance.po.Job) FreeStyleJob(org.jenkinsci.test.acceptance.po.FreeStyleJob) ListView(org.jenkinsci.test.acceptance.po.ListView) View(org.jenkinsci.test.acceptance.po.View) AbstractJUnitTest(org.jenkinsci.test.acceptance.junit.AbstractJUnitTest) Test(org.junit.Test)

Example 39 with Job

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))));
}
Also used : CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Job(org.jenkinsci.test.acceptance.po.Job) FreeStyleJob(org.jenkinsci.test.acceptance.po.FreeStyleJob) ListView(org.jenkinsci.test.acceptance.po.ListView) View(org.jenkinsci.test.acceptance.po.View) AbstractJUnitTest(org.jenkinsci.test.acceptance.junit.AbstractJUnitTest) Test(org.junit.Test) WithPlugins(org.jenkinsci.test.acceptance.junit.WithPlugins)

Example 40 with Job

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));
}
Also used : Build(org.jenkinsci.test.acceptance.po.Build) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) Job(org.jenkinsci.test.acceptance.po.Job) FreeStyleJob(org.jenkinsci.test.acceptance.po.FreeStyleJob) AbstractJUnitTest(org.jenkinsci.test.acceptance.junit.AbstractJUnitTest) Test(org.junit.Test)

Aggregations

Job (org.jenkinsci.test.acceptance.po.Job)55 FreeStyleJob (org.jenkinsci.test.acceptance.po.FreeStyleJob)48 Test (org.junit.Test)45 AbstractJUnitTest (org.jenkinsci.test.acceptance.junit.AbstractJUnitTest)42 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)37 WithPlugins (org.jenkinsci.test.acceptance.junit.WithPlugins)22 ListView (org.jenkinsci.test.acceptance.po.ListView)21 View (org.jenkinsci.test.acceptance.po.View)18 Build (org.jenkinsci.test.acceptance.po.Build)13 WebElement (org.openqa.selenium.WebElement)7 IOException (java.io.IOException)5 GerritTriggerJob (org.jenkinsci.test.acceptance.plugins.gerrit_trigger.GerritTriggerJob)5 GerritTriggerNewServer (org.jenkinsci.test.acceptance.plugins.gerrit_trigger.GerritTriggerNewServer)5 GerritTriggerServer (org.jenkinsci.test.acceptance.plugins.gerrit_trigger.GerritTriggerServer)5 GitScm (org.jenkinsci.test.acceptance.plugins.git.GitScm)5 Since (org.jenkinsci.test.acceptance.junit.Since)4 AnalysisAction (org.jenkinsci.test.acceptance.plugins.analysis_core.AnalysisAction)4 WorkflowJob (org.jenkinsci.test.acceptance.po.WorkflowJob)4 Issue (org.jvnet.hudson.test.Issue)4 Arrays (java.util.Arrays)3