Search in sources :

Example 71 with Works

use of org.orcid.jaxb.model.record.summary_v2.Works in project ORCID-Source by ORCID.

the class PublicV2ApiServiceDelegatorTest method testGetPublicWorksUsingToken.

@Test
public void testGetPublicWorksUsingToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED);
    Response r = serviceDelegator.viewWorks(ORCID);
    assertNotNull(r);
    Works works = (Works) r.getEntity();
    assertNotNull(works);
    assertNotNull(works.getLastModifiedDate());
    assertNotNull(works.getLastModifiedDate().getValue());
    assertNotNull(works.getWorkGroup());
    assertEquals(1, works.getWorkGroup().size());
    assertNotNull(works.getWorkGroup().get(0).getIdentifiers());
    assertEquals(1, works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().size());
    assertEquals("1", works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertNotNull(works.getWorkGroup().get(0).getWorkSummary());
    assertEquals(Long.valueOf(11), works.getWorkGroup().get(0).getWorkSummary().get(0).getPutCode());
    assertNotNull(works.getWorkGroup().get(0).getWorkSummary().get(0).getLastModifiedDate());
    assertNotNull(works.getWorkGroup().get(0).getWorkSummary().get(0).getLastModifiedDate().getValue());
}
Also used : Response(javax.ws.rs.core.Response) Works(org.orcid.jaxb.model.record.summary_v2.Works) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 72 with Works

use of org.orcid.jaxb.model.record.summary_v2.Works in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method checkIsPublicActivitiesSummaryTest.

@Test
public void checkIsPublicActivitiesSummaryTest() {
    ActivitiesSummary as = getActivitiesSummaryElement();
    publicAPISecurityManagerV2.filter(as);
    // Assert it have all activities
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Assert it filters educations
    as = getActivitiesSummaryElement();
    setVisibility(as.getEducations().getSummaries(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(as);
    assertNotNull(as.getEducations());
    assertTrue(as.getEducations().getSummaries().isEmpty());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Assert it filters employments
    as = getActivitiesSummaryElement();
    setVisibility(as.getEmployments().getSummaries(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(as);
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertNotNull(as.getEmployments());
    assertTrue(as.getEmployments().getSummaries().isEmpty());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Assert it filters funding
    as = getActivitiesSummaryElement();
    setVisibility(as.getFundings(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(as);
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertTrue(as.getFundings().getFundingGroup().isEmpty());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Assert it filters peer reviews
    as = getActivitiesSummaryElement();
    setVisibility(as.getPeerReviews(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(as);
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertTrue(as.getPeerReviews().getPeerReviewGroup().isEmpty());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Assert it filters works
    as = getActivitiesSummaryElement();
    setVisibility(as.getWorks(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(as);
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertTrue(as.getWorks().getWorkGroup().isEmpty());
}
Also used : ActivitiesSummary(org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary) Test(org.junit.Test)

Example 73 with Works

use of org.orcid.jaxb.model.record.summary_v2.Works in project ORCID-Source by ORCID.

the class ConvertVrc1ToVrc2Test method upgradeWorksToVrc2Test.

@Test
public void upgradeWorksToVrc2Test() throws JAXBException {
    JAXBContext jaxbContext1 = JAXBContext.newInstance(Works.class);
    JAXBContext jaxbContext2 = JAXBContext.newInstance(org.orcid.jaxb.model.record.summary_rc2.Works.class);
    Unmarshaller jaxbUnmarshaller = jaxbContext1.createUnmarshaller();
    InputStream rc1Stream = ConvertVrc1ToVrc2Test.class.getClassLoader().getResourceAsStream("test-works-2.0_rc1.xml");
    InputStream rc2Stream = ConvertVrc1ToVrc2Test.class.getClassLoader().getResourceAsStream("test-works-2.0_rc2.xml");
    Works rc1Works = (Works) jaxbUnmarshaller.unmarshal(rc1Stream);
    jaxbUnmarshaller = jaxbContext2.createUnmarshaller();
    org.orcid.jaxb.model.record.summary_rc2.Works rc2Works1 = (org.orcid.jaxb.model.record.summary_rc2.Works) jaxbUnmarshaller.unmarshal(rc2Stream);
    V2Convertible result = versionConverterV2_0_rc1ToV2_0_rc2.upgrade(new V2Convertible(rc1Works, "v2_rc1"));
    org.orcid.jaxb.model.record.summary_rc2.Works rc2Works2 = (org.orcid.jaxb.model.record.summary_rc2.Works) result.getObjectToConvert();
    assertEquals(rc2Works1.getLastModifiedDate(), rc2Works2.getLastModifiedDate());
}
Also used : V2Convertible(org.orcid.core.version.V2Convertible) InputStream(java.io.InputStream) JAXBContext(javax.xml.bind.JAXBContext) Unmarshaller(javax.xml.bind.Unmarshaller) Works(org.orcid.jaxb.model.record.summary_rc1.Works) Test(org.junit.Test) BaseTest(org.orcid.core.BaseTest)

Example 74 with Works

use of org.orcid.jaxb.model.record.summary_v2.Works in project ORCID-Source by ORCID.

the class ActivitiesGroupGenerator_GroupingWorksTest method groupWorks_MergeTwoGroups_Test.

/**
     * work-1 and work-3 will be in different groups
     * then work-2 will go to the same group as work-1
     * then work-4 contains ARG(Y) and ARG(B) so, the two groups should be merged
     * */
@Test
public void groupWorks_MergeTwoGroups_Test() {
    ActivitiesGroupGenerator generator = new ActivitiesGroupGenerator();
    Map<String, WorkSummary> works = generateWorks();
    //Group the first group
    WorkSummary work1 = works.get("work-1");
    WorkSummary work2 = works.get("work-2");
    WorkSummary work3 = works.get("work-3");
    WorkSummary work4 = works.get("work-4");
    generator.group(work1);
    generator.group(work2);
    generator.group(work3);
    /**
         * At this point there are two groups
         * G1 with work1 and work2
         * G2 with work3
         * */
    List<ActivitiesGroup> groups = generator.getGroups();
    assertNotNull(groups);
    assertEquals(2, groups.size());
    checkActivitiesBelongsToTheSameGroup(groups, work1, work2);
    checkActivitiesDontBelongsToTheSameGroup(groups, work1, work3);
    checkActivitiesDontBelongsToTheSameGroup(groups, work2, work3);
    //group work4, which should merge the two groups
    generator.group(work4);
    groups = generator.getGroups();
    assertNotNull(groups);
    assertEquals(1, groups.size());
    assertEquals(4, groups.get(0).getActivities().size());
    assertEquals(9, groups.get(0).getGroupKeys().size());
    checkActivityIsOnGroups(work1, groups);
    checkActivityIsOnGroups(work2, groups);
    checkActivityIsOnGroups(work3, groups);
    checkActivityIsOnGroups(work4, groups);
    checkActivitiesBelongsToTheSameGroup(groups, work1, work2, work3, work4);
}
Also used : WorkSummary(org.orcid.jaxb.model.record.summary_v2.WorkSummary) Test(org.junit.Test)

Example 75 with Works

use of org.orcid.jaxb.model.record.summary_v2.Works in project ORCID-Source by ORCID.

the class ActivitiesGroupGenerator_GroupingWorksTest method groupWorks_2GroupsOf2Works_Test.

/**
     * Test grouping (work-1 and work-2) and (work-6 and work-7) 
     * */
@Test
public void groupWorks_2GroupsOf2Works_Test() {
    ActivitiesGroupGenerator generator = new ActivitiesGroupGenerator();
    Map<String, WorkSummary> works = generateWorks();
    WorkSummary work1 = works.get("work-1");
    WorkSummary work2 = works.get("work-2");
    WorkSummary work6 = works.get("work-6");
    WorkSummary work7 = works.get("work-7");
    generator.group(work1);
    generator.group(work2);
    generator.group(work6);
    generator.group(work7);
    List<ActivitiesGroup> groups = generator.getGroups();
    assertNotNull(groups);
    assertEquals(2, groups.size());
    //Check there are two activities in each group
    assertEquals(2, groups.get(0).getActivities().size());
    assertEquals(2, groups.get(1).getActivities().size());
    //Check there are five external ids in each group
    assertEquals(5, groups.get(0).getGroupKeys().size());
    assertEquals(5, groups.get(1).getGroupKeys().size());
    //Check each work
    checkActivityIsOnGroups(work1, groups);
    checkActivityIsOnGroups(work2, groups);
    checkActivityIsOnGroups(work6, groups);
    checkActivityIsOnGroups(work7, groups);
    //Check work1 and work2 are in the same group
    checkActivitiesBelongsToTheSameGroup(groups, work1, work2);
    //Check work6 and work7 are in the same group
    checkActivitiesBelongsToTheSameGroup(groups, work6, work7);
    //Check works are not mixed
    checkActivitiesDontBelongsToTheSameGroup(groups, work1, work6);
    checkActivitiesDontBelongsToTheSameGroup(groups, work1, work7);
    checkActivitiesDontBelongsToTheSameGroup(groups, work2, work6);
    checkActivitiesDontBelongsToTheSameGroup(groups, work2, work7);
}
Also used : WorkSummary(org.orcid.jaxb.model.record.summary_v2.WorkSummary) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)84 WorkSummary (org.orcid.jaxb.model.record.summary_v2.WorkSummary)65 ActivitiesSummary (org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary)48 FundingSummary (org.orcid.jaxb.model.record.summary_v2.FundingSummary)42 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)41 EmploymentSummary (org.orcid.jaxb.model.record.summary_v2.EmploymentSummary)41 PeerReviewSummary (org.orcid.jaxb.model.record.summary_v2.PeerReviewSummary)40 Works (org.orcid.jaxb.model.record.summary_v2.Works)26 WorkGroup (org.orcid.jaxb.model.record.summary_v2.WorkGroup)19 Address (org.orcid.jaxb.model.record_v2.Address)19 Email (org.orcid.jaxb.model.record_v2.Email)19 Keyword (org.orcid.jaxb.model.record_v2.Keyword)19 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)19 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)19 Record (org.orcid.jaxb.model.record_v2.Record)18 Biography (org.orcid.jaxb.model.record_v2.Biography)17 Name (org.orcid.jaxb.model.record_v2.Name)17 OtherName (org.orcid.jaxb.model.record_v2.OtherName)17 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)17 Addresses (org.orcid.jaxb.model.record_v2.Addresses)15