use of de.carne.certmgr.certs.x509.OtherName in project ORCID-Source by ORCID.
the class OrcidSecurityManager_PersonTest method testPerson_When_AllPrivate_Source_ReadLimitedToken.
@Test
public void testPerson_When_AllPrivate_Source_ReadLimitedToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.PERSON_READ_LIMITED);
Name name = createName(Visibility.PRIVATE);
Biography bio = createBiography(Visibility.PRIVATE);
Address a1 = createAddress(Visibility.PRIVATE, CLIENT_1);
Address a2 = createAddress(Visibility.PRIVATE, CLIENT_1);
Address a3 = createAddress(Visibility.PRIVATE, CLIENT_1);
Addresses addresses = new Addresses();
addresses.setAddress(new ArrayList<Address>(Arrays.asList(a1, a2, a3)));
Email e1 = createEmail(Visibility.PRIVATE, CLIENT_1);
Email e2 = createEmail(Visibility.PRIVATE, CLIENT_1);
Email e3 = createEmail(Visibility.PRIVATE, CLIENT_1);
Emails emails = new Emails();
emails.setEmails(new ArrayList<Email>(Arrays.asList(e1, e2, e3)));
Keyword k1 = createKeyword(Visibility.PRIVATE, CLIENT_1);
Keyword k2 = createKeyword(Visibility.PRIVATE, CLIENT_1);
Keyword k3 = createKeyword(Visibility.PRIVATE, CLIENT_1);
Keywords keywords = new Keywords();
keywords.setKeywords(new ArrayList<Keyword>(Arrays.asList(k1, k2, k3)));
OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_1);
OtherName o2 = createOtherName(Visibility.PRIVATE, CLIENT_1);
OtherName o3 = createOtherName(Visibility.PRIVATE, CLIENT_1);
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
PersonExternalIdentifier ext1 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_1);
PersonExternalIdentifier ext2 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_1);
PersonExternalIdentifier ext3 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_1);
PersonExternalIdentifiers extIds = new PersonExternalIdentifiers();
extIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(Arrays.asList(ext1, ext2, ext3)));
ResearcherUrl r1 = createResearcherUrl(Visibility.PRIVATE, CLIENT_1);
ResearcherUrl r2 = createResearcherUrl(Visibility.PRIVATE, CLIENT_1);
ResearcherUrl r3 = createResearcherUrl(Visibility.PRIVATE, CLIENT_1);
ResearcherUrls researcherUrls = new ResearcherUrls();
researcherUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(Arrays.asList(r1, r2, r3)));
Person p = new Person();
p.setBiography(bio);
p.setName(name);
p.setAddresses(addresses);
p.setEmails(emails);
p.setExternalIdentifiers(extIds);
p.setKeywords(keywords);
p.setOtherNames(otherNames);
p.setResearcherUrls(researcherUrls);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertNull(p.getName());
assertNull(p.getBiography());
// Check addresses
assertEquals(3, p.getAddresses().getAddress().size());
assertTrue(p.getAddresses().getAddress().contains(a1));
assertTrue(p.getAddresses().getAddress().contains(a2));
assertTrue(p.getAddresses().getAddress().contains(a3));
// Check emails
assertEquals(3, p.getEmails().getEmails().size());
assertTrue(p.getEmails().getEmails().contains(e1));
assertTrue(p.getEmails().getEmails().contains(e2));
assertTrue(p.getEmails().getEmails().contains(e3));
// Check ext ids
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext1));
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext2));
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext3));
// Check keywords
assertEquals(3, p.getKeywords().getKeywords().size());
assertTrue(p.getKeywords().getKeywords().contains(k1));
assertTrue(p.getKeywords().getKeywords().contains(k2));
assertTrue(p.getKeywords().getKeywords().contains(k3));
// Check other names
assertEquals(3, p.getOtherNames().getOtherNames().size());
assertTrue(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
// Check researcher urls
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r1));
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r2));
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r3));
}
use of de.carne.certmgr.certs.x509.OtherName in project ORCID-Source by ORCID.
the class OrcidSecurityManager_PersonTest method testPerson_When_SomeLimited_NoSource_ReadLimitedToken.
@Test
public void testPerson_When_SomeLimited_NoSource_ReadLimitedToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.PERSON_READ_LIMITED);
Name name = createName(Visibility.LIMITED);
Biography bio = createBiography(Visibility.LIMITED);
Address a1 = createAddress(Visibility.PUBLIC, CLIENT_2);
Address a2 = createAddress(Visibility.LIMITED, CLIENT_2);
Address a3 = createAddress(Visibility.LIMITED, CLIENT_2);
Addresses addresses = new Addresses();
addresses.setAddress(new ArrayList<Address>(Arrays.asList(a1, a2, a3)));
Email e1 = createEmail(Visibility.PUBLIC, CLIENT_2);
Email e2 = createEmail(Visibility.LIMITED, CLIENT_2);
Email e3 = createEmail(Visibility.LIMITED, CLIENT_2);
Emails emails = new Emails();
emails.setEmails(new ArrayList<Email>(Arrays.asList(e1, e2, e3)));
Keyword k1 = createKeyword(Visibility.PUBLIC, CLIENT_2);
Keyword k2 = createKeyword(Visibility.LIMITED, CLIENT_2);
Keyword k3 = createKeyword(Visibility.LIMITED, CLIENT_2);
Keywords keywords = new Keywords();
keywords.setKeywords(new ArrayList<Keyword>(Arrays.asList(k1, k2, k3)));
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)));
PersonExternalIdentifier ext1 = createPersonExternalIdentifier(Visibility.PUBLIC, CLIENT_2);
PersonExternalIdentifier ext2 = createPersonExternalIdentifier(Visibility.LIMITED, CLIENT_2);
PersonExternalIdentifier ext3 = createPersonExternalIdentifier(Visibility.LIMITED, CLIENT_2);
PersonExternalIdentifiers extIds = new PersonExternalIdentifiers();
extIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(Arrays.asList(ext1, ext2, ext3)));
ResearcherUrl r1 = createResearcherUrl(Visibility.PUBLIC, CLIENT_2);
ResearcherUrl r2 = createResearcherUrl(Visibility.LIMITED, CLIENT_2);
ResearcherUrl r3 = createResearcherUrl(Visibility.LIMITED, CLIENT_2);
ResearcherUrls researcherUrls = new ResearcherUrls();
researcherUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(Arrays.asList(r1, r2, r3)));
Person p = new Person();
p.setBiography(bio);
p.setName(name);
p.setAddresses(addresses);
p.setEmails(emails);
p.setExternalIdentifiers(extIds);
p.setKeywords(keywords);
p.setOtherNames(otherNames);
p.setResearcherUrls(researcherUrls);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertEquals(name, p.getName());
assertEquals(bio, p.getBiography());
// Check addresses
assertEquals(3, p.getAddresses().getAddress().size());
assertTrue(p.getAddresses().getAddress().contains(a1));
assertTrue(p.getAddresses().getAddress().contains(a2));
assertTrue(p.getAddresses().getAddress().contains(a3));
// Check emails
assertEquals(3, p.getEmails().getEmails().size());
assertTrue(p.getEmails().getEmails().contains(e1));
assertTrue(p.getEmails().getEmails().contains(e2));
assertTrue(p.getEmails().getEmails().contains(e3));
// Check ext ids
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext1));
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext2));
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext3));
// Check keywords
assertEquals(3, p.getKeywords().getKeywords().size());
assertTrue(p.getKeywords().getKeywords().contains(k1));
assertTrue(p.getKeywords().getKeywords().contains(k2));
assertTrue(p.getKeywords().getKeywords().contains(k3));
// Check other names
assertEquals(3, p.getOtherNames().getOtherNames().size());
assertTrue(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
// Check researcher urls
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r1));
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r2));
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r3));
}
use of de.carne.certmgr.certs.x509.OtherName in project ORCID-Source by ORCID.
the class OrcidSecurityManager_PersonTest method testPerson_When_SomeLimited_ReadPublicToken.
@Test
public void testPerson_When_SomeLimited_ReadPublicToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
Name name = createName(Visibility.LIMITED);
Biography bio = createBiography(Visibility.PUBLIC);
Address a1 = createAddress(Visibility.LIMITED, CLIENT_2);
Address a2 = createAddress(Visibility.PUBLIC, CLIENT_2);
Address a3 = createAddress(Visibility.LIMITED, CLIENT_2);
Addresses addresses = new Addresses();
addresses.setAddress(new ArrayList<Address>(Arrays.asList(a1, a2, a3)));
Email e1 = createEmail(Visibility.LIMITED, CLIENT_2);
Email e2 = createEmail(Visibility.PUBLIC, CLIENT_2);
Email e3 = createEmail(Visibility.LIMITED, CLIENT_2);
Emails emails = new Emails();
emails.setEmails(new ArrayList<Email>(Arrays.asList(e1, e2, e3)));
Keyword k1 = createKeyword(Visibility.LIMITED, CLIENT_2);
Keyword k2 = createKeyword(Visibility.PUBLIC, CLIENT_2);
Keyword k3 = createKeyword(Visibility.LIMITED, CLIENT_2);
Keywords keywords = new Keywords();
keywords.setKeywords(new ArrayList<Keyword>(Arrays.asList(k1, k2, k3)));
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)));
PersonExternalIdentifier ext1 = createPersonExternalIdentifier(Visibility.LIMITED, CLIENT_2);
PersonExternalIdentifier ext2 = createPersonExternalIdentifier(Visibility.PUBLIC, CLIENT_2);
PersonExternalIdentifier ext3 = createPersonExternalIdentifier(Visibility.LIMITED, CLIENT_2);
PersonExternalIdentifiers extIds = new PersonExternalIdentifiers();
extIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(Arrays.asList(ext1, ext2, ext3)));
ResearcherUrl r1 = createResearcherUrl(Visibility.LIMITED, CLIENT_2);
ResearcherUrl r2 = createResearcherUrl(Visibility.PUBLIC, CLIENT_2);
ResearcherUrl r3 = createResearcherUrl(Visibility.LIMITED, CLIENT_2);
ResearcherUrls researcherUrls = new ResearcherUrls();
researcherUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(Arrays.asList(r1, r2, r3)));
Person p = new Person();
p.setBiography(bio);
p.setName(name);
p.setAddresses(addresses);
p.setEmails(emails);
p.setExternalIdentifiers(extIds);
p.setKeywords(keywords);
p.setOtherNames(otherNames);
p.setResearcherUrls(researcherUrls);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertNull(p.getName());
assertEquals(bio, p.getBiography());
// Check addresses
assertEquals(1, p.getAddresses().getAddress().size());
assertFalse(p.getAddresses().getAddress().contains(a1));
assertTrue(p.getAddresses().getAddress().contains(a2));
assertFalse(p.getAddresses().getAddress().contains(a3));
// Check emails
assertEquals(1, p.getEmails().getEmails().size());
assertFalse(p.getEmails().getEmails().contains(e1));
assertTrue(p.getEmails().getEmails().contains(e2));
assertFalse(p.getEmails().getEmails().contains(e3));
// Check ext ids
assertEquals(1, p.getExternalIdentifiers().getExternalIdentifiers().size());
assertFalse(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext1));
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext2));
assertFalse(p.getExternalIdentifiers().getExternalIdentifiers().contains(ext3));
// Check keywords
assertEquals(1, p.getKeywords().getKeywords().size());
assertFalse(p.getKeywords().getKeywords().contains(k1));
assertTrue(p.getKeywords().getKeywords().contains(k2));
assertFalse(p.getKeywords().getKeywords().contains(k3));
// Check other names
assertEquals(1, p.getOtherNames().getOtherNames().size());
assertFalse(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertFalse(p.getOtherNames().getOtherNames().contains(o3));
// Check researcher urls
assertEquals(1, p.getResearcherUrls().getResearcherUrls().size());
assertFalse(p.getResearcherUrls().getResearcherUrls().contains(r1));
assertTrue(p.getResearcherUrls().getResearcherUrls().contains(r2));
assertFalse(p.getResearcherUrls().getResearcherUrls().contains(r3));
}
use of de.carne.certmgr.certs.x509.OtherName in project ORCID-Source by ORCID.
the class AccessTokenSecurityChecksTest method testTokenIssuedForOneUserFailForOtherUsers_20API.
@Test
public void testTokenIssuedForOneUserFailForOtherUsers_20API() throws JSONException, InterruptedException, URISyntaxException {
String accessToken = getNonCachedAccessTokens(getUser2OrcidId(), getUser2Password(), getScopes(), getClient1ClientId(), getClient1ClientSecret(), getClient1RedirectUri());
String orcid = getUser1OrcidId();
Long putCode = 1L;
Address address = (Address) unmarshallFromPath("/record_2.0/samples/read_samples/address-2.0.xml", Address.class);
evaluateResponse(memberV2ApiClient.createAddress(orcid, address, accessToken));
Education education = (Education) unmarshallFromPath("/record_2.0/samples/read_samples/education-2.0.xml", Education.class);
evaluateResponse(memberV2ApiClient.createEducationJson(orcid, education, accessToken));
evaluateResponse(memberV2ApiClient.createEducationXml(orcid, education, accessToken));
Employment employment = (Employment) unmarshallFromPath("/record_2.0/samples/read_samples/employment-2.0.xml", Employment.class);
evaluateResponse(memberV2ApiClient.createEmploymentJson(orcid, employment, accessToken));
evaluateResponse(memberV2ApiClient.createEmploymentXml(orcid, employment, accessToken));
PersonExternalIdentifier externalIdentifier = (PersonExternalIdentifier) unmarshallFromPath("/record_2.0/samples/read_samples/external-identifier-2.0.xml", PersonExternalIdentifier.class);
evaluateResponse(memberV2ApiClient.createExternalIdentifier(orcid, externalIdentifier, accessToken));
Funding funding = (Funding) unmarshallFromPath("/record_2.0/samples/read_samples/funding-2.0.xml", Funding.class);
evaluateResponse(memberV2ApiClient.createFundingJson(orcid, funding, accessToken));
evaluateResponse(memberV2ApiClient.createFundingXml(orcid, funding, accessToken));
Keyword keyword = (Keyword) unmarshallFromPath("/record_2.0/samples/read_samples/keyword-2.0.xml", Keyword.class);
evaluateResponse(memberV2ApiClient.createKeyword(orcid, keyword, accessToken));
OtherName otherName = (OtherName) unmarshallFromPath("/record_2.0/samples/read_samples/other-name-2.0.xml", OtherName.class);
evaluateResponse(memberV2ApiClient.createOtherName(orcid, otherName, accessToken));
PeerReview peerReview = (PeerReview) unmarshallFromPath("/record_2.0/samples/read_samples/peer-review-2.0.xml", PeerReview.class);
evaluateResponse(memberV2ApiClient.createPeerReviewJson(orcid, peerReview, accessToken));
evaluateResponse(memberV2ApiClient.createPeerReviewXml(orcid, peerReview, accessToken));
ResearcherUrl rUrl = (ResearcherUrl) unmarshallFromPath("/record_2.0/samples/read_samples/researcher-url-2.0.xml", ResearcherUrl.class);
evaluateResponse(memberV2ApiClient.createResearcherUrls(orcid, rUrl, accessToken));
Work work = (Work) unmarshallFromPath("/record_2.0/samples/read_samples/work-2.0.xml", Work.class);
evaluateResponse(memberV2ApiClient.createWorkJson(orcid, work, accessToken));
evaluateResponse(memberV2ApiClient.createWorkXml(orcid, work, accessToken));
evaluateResponse(memberV2ApiClient.deleteAddress(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteEducationXml(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteEmploymentXml(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteExternalIdentifier(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteFundingXml(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteKeyword(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteOtherName(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deletePeerReviewXml(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteResearcherUrl(orcid, putCode, accessToken));
evaluateResponse(memberV2ApiClient.deleteWorkXml(orcid, putCode, accessToken));
address.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateAddress(orcid, address, accessToken));
education.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateEducation(orcid, education, accessToken));
employment.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateEmployment(orcid, employment, accessToken));
externalIdentifier.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateExternalIdentifier(orcid, externalIdentifier, accessToken));
funding.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateFunding(orcid, funding, accessToken));
keyword.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateKeyword(orcid, keyword, accessToken));
otherName.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateOtherName(orcid, otherName, accessToken));
peerReview.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updatePeerReview(orcid, peerReview, accessToken));
rUrl.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateResearcherUrls(orcid, rUrl, accessToken));
work.setPutCode(putCode);
evaluateResponse(memberV2ApiClient.updateWork(orcid, work, accessToken));
evaluateResponse(memberV2ApiClient.getResearcherUrls(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewAddresses(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewExternalIdentifiers(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewKeywords(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewOtherNames(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewBiography(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewPersonalDetailsXML(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewActivities(orcid, accessToken));
evaluateResponse(memberV2ApiClient.viewPerson(orcid, accessToken));
}
use of de.carne.certmgr.certs.x509.OtherName in project ORCID-Source by ORCID.
the class BlackBoxBaseRC4 method unmarshallFromPath.
public Object unmarshallFromPath(String path, Class<?> type) {
try (Reader reader = new InputStreamReader(getClass().getResourceAsStream(path))) {
Object obj = unmarshall(reader, type);
Object result = null;
if (Address.class.equals(type)) {
result = (Address) obj;
} else if (Education.class.equals(type)) {
result = (Education) obj;
} else if (Employment.class.equals(type)) {
result = (Employment) obj;
} else if (Funding.class.equals(type)) {
result = (Funding) obj;
} else if (Keyword.class.equals(type)) {
result = (Keyword) obj;
} else if (Work.class.equals(type)) {
result = (Work) obj;
} else if (PeerReview.class.equals(type)) {
result = (PeerReview) obj;
} else if (ResearcherUrl.class.equals(type)) {
result = (ResearcherUrl) obj;
} else if (PersonalDetails.class.equals(type)) {
result = (PersonalDetails) obj;
} else if (OtherName.class.equals(type)) {
result = (OtherName) obj;
} else if (PersonExternalIdentifier.class.equals(type)) {
result = (PersonExternalIdentifier) obj;
}
return result;
} catch (IOException e) {
throw new RuntimeException("Error reading notification from classpath", e);
}
}
Aggregations