use of org.orcid.jaxb.model.record_v2.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_v2.PersonalDetails in project ORCID-Source by ORCID.
the class SourceUtils method setSourceName.
public void setSourceName(PersonalDetails personalDetails) {
if (personalDetails == null) {
return;
}
if (personalDetails.getOtherNames() != null) {
OtherNames otherNames = personalDetails.getOtherNames();
setSourceName(otherNames);
}
}
use of org.orcid.jaxb.model.record_v2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_TokenForOtherUser.
// ---- PERSONAL DETAILS ----
@Test(expected = OrcidUnauthorizedException.class)
public void testPersonalDetails_When_TokenForOtherUser() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.ORCID_BIO_READ_LIMITED);
PersonalDetails p = new PersonalDetails();
orcidSecurityManager.checkAndFilter(ORCID_2, p);
fail();
}
use of org.orcid.jaxb.model.record_v2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomePrivate_ReadPublicToken.
@Test
public void testPersonalDetails_When_SomePrivate_ReadPublicToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
Name name = createName(Visibility.PUBLIC);
Biography bio = createBiography(Visibility.PRIVATE);
OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_2);
OtherName o2 = createOtherName(Visibility.PRIVATE, 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());
assertNull(p.getBiography());
assertNotNull(p.getOtherNames());
assertNotNull(p.getOtherNames().getOtherNames());
assertEquals(1, p.getOtherNames().getOtherNames().size());
assertFalse(p.getOtherNames().getOtherNames().contains(o1));
assertFalse(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
use of org.orcid.jaxb.model.record_v2.PersonalDetails in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomeLimited_NoSource_ReadLimitedToken.
@Test
public void testPersonalDetails_When_SomeLimited_NoSource_ReadLimitedToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.ORCID_BIO_READ_LIMITED);
Name name = createName(Visibility.LIMITED);
Biography bio = createBiography(Visibility.LIMITED);
OtherName o1 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherName o2 = createOtherName(Visibility.LIMITED, 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);
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