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());
}
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());
}
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());
}
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);
}
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);
}
Aggregations