use of org.orcid.jaxb.model.record_rc2.PersonalDetails in project ORCID-Source by ORCID.
the class PublicAPISecurityManagerV2Test method checkIsPublicPersonalDetailsTest.
@Test
public void checkIsPublicPersonalDetailsTest() {
PersonalDetails p = getPersonalDetailsElement(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.PUBLIC);
publicAPISecurityManagerV2.filter(p);
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertNotNull(p.getOtherNames().getOtherNames());
p.getOtherNames().getOtherNames().forEach(e -> {
assertIsPublic(e);
});
// Should not fail, but name should be empty
p = getPersonalDetailsElement(Visibility.LIMITED, Visibility.PUBLIC, Visibility.PUBLIC);
publicAPISecurityManagerV2.filter(p);
assertNull(p.getName());
assertNotNull(p.getBiography());
assertNotNull(p.getOtherNames().getOtherNames());
p.getOtherNames().getOtherNames().forEach(e -> {
assertIsPublic(e);
});
// Should not fail, but bio should be null
p = getPersonalDetailsElement(Visibility.PUBLIC, Visibility.LIMITED, Visibility.PUBLIC);
publicAPISecurityManagerV2.filter(p);
assertNotNull(p.getName());
assertNull(p.getBiography());
assertNotNull(p.getOtherNames().getOtherNames());
p.getOtherNames().getOtherNames().forEach(e -> {
assertIsPublic(e);
});
p = getPersonalDetailsElement(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.LIMITED);
publicAPISecurityManagerV2.filter(p);
assertNotNull(p.getName());
assertNotNull(p.getBiography());
assertNotNull(p.getOtherNames());
assertTrue(p.getOtherNames().getOtherNames().isEmpty());
p = getPersonalDetailsElement(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.PRIVATE);
publicAPISecurityManagerV2.filter(p);
assertNotNull(p.getName());
assertNotNull(p.getBiography());
assertNotNull(p.getOtherNames());
assertTrue(p.getOtherNames().getOtherNames().isEmpty());
}
use of org.orcid.jaxb.model.record_rc2.PersonalDetails in project ORCID-Source by ORCID.
the class MemberV2ApiServiceDelegator_PersonalDetailsTest method testViewPersonalDetailsReadPublic.
@Test
public void testViewPersonalDetailsReadPublic() {
SecurityContextTestUtils.setUpSecurityContextForClientOnly("APP-5555555555555555", ScopePathType.READ_PUBLIC);
Response r = serviceDelegator.viewPersonalDetails(ORCID);
PersonalDetails element = (PersonalDetails) r.getEntity();
assertNotNull(element);
assertEquals("/0000-0000-0000-0003/personal-details", element.getPath());
Utils.assertIsPublicOrSource(element, "APP-5555555555555555");
}
use of org.orcid.jaxb.model.record_rc2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomeLimited_ReadPublicToken.
@Test
public void testPersonalDetails_When_SomeLimited_ReadPublicToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
Name name = createName(Visibility.LIMITED);
Biography bio = createBiography(Visibility.PUBLIC);
OtherName o1 = createOtherName(Visibility.LIMITED, CLIENT_2);
OtherName o2 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherName o3 = createOtherName(Visibility.LIMITED, CLIENT_2);
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
PersonalDetails p = new PersonalDetails();
p.setBiography(bio);
p.setName(name);
p.setOtherNames(otherNames);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertNull(p.getName());
assertEquals(bio, p.getBiography());
assertNotNull(p.getOtherNames());
assertNotNull(p.getOtherNames().getOtherNames());
assertEquals(1, p.getOtherNames().getOtherNames().size());
assertFalse(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertFalse(p.getOtherNames().getOtherNames().contains(o3));
}
use of org.orcid.jaxb.model.record_rc2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPublicClient_checkAndFilter_PersonalDetails.
@Test(expected = OrcidUnauthorizedException.class)
public void testPublicClient_checkAndFilter_PersonalDetails() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, PUBLIC_CLIENT, ScopePathType.READ_PUBLIC);
orcidSecurityManager.checkAndFilter(ORCID_1, new PersonalDetails());
}
use of org.orcid.jaxb.model.record_rc2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_AllPublic_ReadPublicToken.
@Test
public void testPersonalDetails_When_AllPublic_ReadPublicToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
Name name = createName(Visibility.PUBLIC);
Biography bio = createBiography(Visibility.PUBLIC);
OtherName o1 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherName o2 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherName o3 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
PersonalDetails p = new PersonalDetails();
p.setBiography(bio);
p.setName(name);
p.setOtherNames(otherNames);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertEquals(name, p.getName());
assertEquals(bio, p.getBiography());
assertNotNull(p.getOtherNames());
assertNotNull(p.getOtherNames().getOtherNames());
assertEquals(3, p.getOtherNames().getOtherNames().size());
assertTrue(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
Aggregations