Search in sources :

Example 21 with Job

use of hudson.model.Job in project hudson-2.x by hudson.

the class CascadingUtilTest method testUnlinkProjectFromCascadingParents.

@Test
@PrepareForTest(Hudson.class)
public void testUnlinkProjectFromCascadingParents() throws Exception {
    //Prepare data
    FreeStyleProject project1 = new FreeStyleProjectMock("project1");
    FreeStyleProjectMock child1 = new FreeStyleProjectMock("child1");
    String cascadingName = "newCascadingProject";
    FreeStyleProjectMock child = new FreeStyleProjectMock(cascadingName);
    child1.setCascadingProject(project1);
    CascadingUtil.linkCascadingProjectsToChild(child1, cascadingName);
    List<Job> jobs = new ArrayList<Job>();
    jobs.add(project1);
    jobs.add(child1);
    jobs.add(child);
    Hudson hudson = createMock(Hudson.class);
    mockStatic(Hudson.class);
    expect(hudson.getAllItems(Job.class)).andReturn(jobs).anyTimes();
    expect(Hudson.getInstance()).andReturn(hudson).anyTimes();
    replay(Hudson.class, hudson);
    //Can't unlink from null project
    assertFalse(CascadingUtil.unlinkProjectFromCascadingParents(null, cascadingName));
    //Can't unlink null cascading name
    assertFalse(CascadingUtil.unlinkProjectFromCascadingParents(project1, null));
    //Verify whether cascadingName is present in parent and child
    assertTrue(project1.getCascadingChildrenNames().contains(cascadingName));
    assertTrue(child1.getCascadingChildrenNames().contains(cascadingName));
    boolean result = CascadingUtil.unlinkProjectFromCascadingParents(child1, cascadingName);
    assertTrue(result);
    //Name should disappear from hierarchy.
    assertFalse(project1.getCascadingChildrenNames().contains(cascadingName));
    assertFalse(child1.getCascadingChildrenNames().contains(cascadingName));
    CascadingUtil.linkCascadingProjectsToChild(project1, cascadingName);
    assertTrue(project1.getCascadingChildrenNames().contains(cascadingName));
    result = CascadingUtil.unlinkProjectFromCascadingParents(child1, cascadingName);
    assertTrue(result);
    assertFalse(project1.getCascadingChildrenNames().contains(cascadingName));
}
Also used : FreeStyleProjectMock(hudson.model.FreeStyleProjectMock) Hudson(hudson.model.Hudson) ArrayList(java.util.ArrayList) FreeStyleProject(hudson.model.FreeStyleProject) Job(hudson.model.Job) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 22 with Job

use of hudson.model.Job in project hudson-2.x by hudson.

the class CascadingUtilTest method testHasCyclicCascadingLink.

@Test
@PrepareForTest(Hudson.class)
public void testHasCyclicCascadingLink() throws Exception {
    FreeStyleProject project1 = new FreeStyleProjectMock("p1");
    FreeStyleProjectMock project2 = new FreeStyleProjectMock("p2");
    FreeStyleProjectMock project3 = new FreeStyleProjectMock("p3");
    FreeStyleProjectMock project4 = new FreeStyleProjectMock("p4");
    List<Job> jobs = new ArrayList<Job>();
    jobs.add(project1);
    jobs.add(project2);
    jobs.add(project3);
    jobs.add(project4);
    Hudson hudson = createMock(Hudson.class);
    mockStatic(Hudson.class);
    expect(hudson.getAllItems(Job.class)).andReturn(jobs).anyTimes();
    expect(Hudson.getInstance()).andReturn(hudson).anyTimes();
    replay(Hudson.class, hudson);
    project2.setCascadingProject(project1);
    CascadingUtil.linkCascadingProjectsToChild(project1, "p2");
    project3.setCascadingProject(project1);
    CascadingUtil.linkCascadingProjectsToChild(project1, "p3");
    project4.setCascadingProject(project3);
    CascadingUtil.linkCascadingProjectsToChild(project3, "p4");
    verifyCyclicCascadingLink(true, project2, project1);
    verifyCyclicCascadingLink(true, project3, project1);
    verifyCyclicCascadingLink(true, project4, project3);
    verifyCyclicCascadingLink(true, project4, project1);
    verifyCyclicCascadingLink(false, project3, project2);
    verifyCyclicCascadingLink(false, project1, project2);
    verifyCyclicCascadingLink(false, project2, project3);
    verifyCyclicCascadingLink(false, null, project1);
    verifyCyclicCascadingLink(false, null, project4);
    verify(Hudson.class, hudson);
}
Also used : FreeStyleProjectMock(hudson.model.FreeStyleProjectMock) Hudson(hudson.model.Hudson) ArrayList(java.util.ArrayList) FreeStyleProject(hudson.model.FreeStyleProject) Job(hudson.model.Job) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 23 with Job

use of hudson.model.Job in project hudson-2.x by hudson.

the class CascadingUtilTest method testBuildExternalProperties.

@Test
@PrepareForTest({ Hudson.class, StaplerRequest.class })
public void testBuildExternalProperties() throws Exception {
    Job job = new FreeStyleProjectMock("job");
    StaplerRequest req = createMock(StaplerRequest.class);
    String javadocArchiverKey = "hudson-tasks-JavadocArchiver";
    JSONObject archiver = new JSONObject();
    archiver.put("javadoc_dir", "dir");
    archiver.put("keep_all", true);
    JSONObject json = new JSONObject();
    json.put(javadocArchiverKey, archiver);
    Hudson hudson = createMock(Hudson.class);
    Descriptor<Publisher> javadocDescriptor = new JavadocArchiver.DescriptorImpl();
    expect(hudson.getDescriptorOrDie(JavadocArchiver.class)).andReturn(javadocDescriptor);
    JavadocArchiver javadocArchiver = new JavadocArchiver("dir", true);
    expect(req.bindJSON(JavadocArchiver.class, archiver)).andReturn(javadocArchiver).anyTimes();
    List<Descriptor<Publisher>> descriptors = new ArrayList<Descriptor<Publisher>>();
    descriptors.add(javadocDescriptor);
    mockStatic(Hudson.class);
    expect(Hudson.getInstance()).andReturn(hudson).anyTimes();
    replay(Hudson.class, hudson, req);
    assertNull(CascadingUtil.getExternalProjectProperty(job, javadocArchiverKey).getValue());
    CascadingUtil.buildExternalProperties(req, archiver, descriptors, job);
    assertNull(CascadingUtil.getExternalProjectProperty(job, javadocArchiverKey).getValue());
    CascadingUtil.buildExternalProperties(req, json, descriptors, job);
    assertNotNull(CascadingUtil.getExternalProjectProperty(job, javadocArchiverKey).getValue());
    verifyAll();
}
Also used : FreeStyleProjectMock(hudson.model.FreeStyleProjectMock) Hudson(hudson.model.Hudson) StaplerRequest(org.kohsuke.stapler.StaplerRequest) ArrayList(java.util.ArrayList) Publisher(hudson.tasks.Publisher) JSONObject(net.sf.json.JSONObject) Descriptor(hudson.model.Descriptor) JavadocArchiver(hudson.tasks.JavadocArchiver) Job(hudson.model.Job) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 24 with Job

use of hudson.model.Job in project hudson-2.x by hudson.

the class CascadingUtilTest method testUnlinkProjectFromCascadingParents2.

@Test
@PrepareForTest(Hudson.class)
public void testUnlinkProjectFromCascadingParents2() throws Exception {
    FreeStyleProject project1 = new FreeStyleProjectMock("p1");
    FreeStyleProjectMock project2 = new FreeStyleProjectMock("p2");
    FreeStyleProjectMock project3 = new FreeStyleProjectMock("p3");
    project2.setCascadingProject(project1);
    CascadingUtil.linkCascadingProjectsToChild(project1, "p2");
    project3.setCascadingProject(project2);
    CascadingUtil.linkCascadingProjectsToChild(project2, "p3");
    List<Job> jobs = new ArrayList<Job>();
    jobs.add(project1);
    jobs.add(project2);
    jobs.add(project3);
    Hudson hudson = createMock(Hudson.class);
    mockStatic(Hudson.class);
    expect(hudson.getAllItems(Job.class)).andReturn(jobs);
    expect(Hudson.getInstance()).andReturn(hudson);
    replay(Hudson.class, hudson);
    CascadingUtil.unlinkProjectFromCascadingParents(project1, "p2");
    //Project3 should disappear from project1's children.
    assertTrue(project1.getCascadingChildrenNames().isEmpty());
}
Also used : FreeStyleProjectMock(hudson.model.FreeStyleProjectMock) Hudson(hudson.model.Hudson) ArrayList(java.util.ArrayList) FreeStyleProject(hudson.model.FreeStyleProject) Job(hudson.model.Job) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 25 with Job

use of hudson.model.Job in project hudson-2.x by hudson.

the class MetaProject method find.

public static MetaProject find(final UUID id) {
    checkNotNull(id);
    Job job = JobUuid.find(id);
    if (job instanceof AbstractProject) {
        return new MetaProject((AbstractProject) job);
    }
    return null;
}
Also used : Job(hudson.model.Job) AbstractProject(hudson.model.AbstractProject)

Aggregations

Job (hudson.model.Job)31 Test (org.junit.Test)13 ArrayList (java.util.ArrayList)11 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)11 Hudson (hudson.model.Hudson)7 FreeStyleProjectMock (hudson.model.FreeStyleProjectMock)6 FreeStyleProject (hudson.model.FreeStyleProject)5 Run (hudson.model.Run)5 BlueRun (io.jenkins.blueocean.rest.model.BlueRun)5 User (hudson.model.User)4 ICascadingJob (org.hudsonci.api.model.ICascadingJob)4 Item (hudson.model.Item)2 Link (io.jenkins.blueocean.rest.hal.Link)2 IOException (java.io.IOException)2 ObjectMetadataAction (jenkins.scm.api.metadata.ObjectMetadataAction)2 WorkflowJob (org.jenkinsci.plugins.workflow.job.WorkflowJob)2 AbstractProject (hudson.model.AbstractProject)1 Descriptor (hudson.model.Descriptor)1 ItemGroup (hudson.model.ItemGroup)1 ParameterDefinition (hudson.model.ParameterDefinition)1