Search in sources :

Example 16 with Email

use of org.orcid.jaxb.model.record_rc4.Email 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));
}
Also used : Email(org.orcid.jaxb.model.record_v2.Email) Keywords(org.orcid.jaxb.model.record_v2.Keywords) Address(org.orcid.jaxb.model.record_v2.Address) Keyword(org.orcid.jaxb.model.record_v2.Keyword) OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.record_v2.PersonExternalIdentifier) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Addresses(org.orcid.jaxb.model.record_v2.Addresses) PersonExternalIdentifiers(org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers) Biography(org.orcid.jaxb.model.record_v2.Biography) ResearcherUrls(org.orcid.jaxb.model.record_v2.ResearcherUrls) ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) Emails(org.orcid.jaxb.model.record_v2.Emails) Person(org.orcid.jaxb.model.record_v2.Person) Test(org.junit.Test)

Example 17 with Email

use of org.orcid.jaxb.model.record_rc4.Email 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));
}
Also used : Email(org.orcid.jaxb.model.record_v2.Email) Keywords(org.orcid.jaxb.model.record_v2.Keywords) Address(org.orcid.jaxb.model.record_v2.Address) Keyword(org.orcid.jaxb.model.record_v2.Keyword) OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.record_v2.PersonExternalIdentifier) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Addresses(org.orcid.jaxb.model.record_v2.Addresses) PersonExternalIdentifiers(org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers) Biography(org.orcid.jaxb.model.record_v2.Biography) ResearcherUrls(org.orcid.jaxb.model.record_v2.ResearcherUrls) ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) Emails(org.orcid.jaxb.model.record_v2.Emails) Person(org.orcid.jaxb.model.record_v2.Person) Test(org.junit.Test)

Example 18 with Email

use of org.orcid.jaxb.model.record_rc4.Email in project ORCID-Source by ORCID.

the class OrcidSecurityManager_EmailTest method testEmail_NoSource_ReadPublic.

@Test
public void testEmail_NoSource_ReadPublic() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Email e1 = createEmail(Visibility.PUBLIC, CLIENT_2);
    Email e2 = createEmail(Visibility.LIMITED, CLIENT_2);
    Email e3 = createEmail(Visibility.PRIVATE, CLIENT_2);
    List<Email> emails = new ArrayList<Email>(Arrays.asList(e1, e2, e3));
    orcidSecurityManager.checkAndFilter(ORCID_1, emails, ScopePathType.ORCID_BIO_READ_LIMITED);
    assertEquals(1, emails.size());
    assertTrue(emails.contains(e1));
    assertFalse(emails.contains(e2));
    assertFalse(emails.contains(e3));
}
Also used : Email(org.orcid.jaxb.model.record_v2.Email) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 19 with Email

use of org.orcid.jaxb.model.record_rc4.Email in project ORCID-Source by ORCID.

the class OrcidSecurityManager_EmailTest method testEmail_SourceOfALL_ReadPublic.

@Test
public void testEmail_SourceOfALL_ReadPublic() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Email e1 = createEmail(Visibility.PUBLIC, CLIENT_1);
    Email e2 = createEmail(Visibility.LIMITED, CLIENT_1);
    Email e3 = createEmail(Visibility.PRIVATE, CLIENT_1);
    List<Email> emails = new ArrayList<Email>(Arrays.asList(e1, e2, e3));
    orcidSecurityManager.checkAndFilter(ORCID_1, emails, ScopePathType.ORCID_BIO_READ_LIMITED);
    assertEquals(3, emails.size());
    assertTrue(emails.contains(e1));
    assertTrue(emails.contains(e2));
    assertTrue(emails.contains(e3));
}
Also used : Email(org.orcid.jaxb.model.record_v2.Email) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 20 with Email

use of org.orcid.jaxb.model.record_rc4.Email in project ORCID-Source by ORCID.

the class OrcidSecurityManager_EmailTest method testEmail_NoSource_AllPrivate_ReadPrivateEmail.

@Test
public void testEmail_NoSource_AllPrivate_ReadPrivateEmail() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.EMAIL_READ_PRIVATE);
    Email e1 = createEmail(Visibility.PRIVATE, CLIENT_2);
    Email e2 = createEmail(Visibility.PRIVATE, CLIENT_2);
    Email e3 = createEmail(Visibility.PRIVATE, CLIENT_2);
    List<Email> emails = new ArrayList<Email>(Arrays.asList(e1, e2, e3));
    orcidSecurityManager.checkAndFilter(ORCID_1, emails, ScopePathType.ORCID_BIO_READ_LIMITED);
    assertEquals(3, emails.size());
    assertTrue(emails.contains(e1));
    assertTrue(emails.contains(e2));
    assertTrue(emails.contains(e3));
}
Also used : Email(org.orcid.jaxb.model.record_v2.Email) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Aggregations

Email (org.orcid.jaxb.model.record_v2.Email)83 Test (org.junit.Test)76 Emails (org.orcid.jaxb.model.record_v2.Emails)52 Address (org.orcid.jaxb.model.record_v2.Address)41 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)40 Keyword (org.orcid.jaxb.model.record_v2.Keyword)39 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)39 OtherName (org.orcid.jaxb.model.record_v2.OtherName)38 Person (org.orcid.jaxb.model.record_v2.Person)36 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)34 Addresses (org.orcid.jaxb.model.record_v2.Addresses)33 Biography (org.orcid.jaxb.model.record_v2.Biography)33 ResearcherUrls (org.orcid.jaxb.model.record_v2.ResearcherUrls)32 Keywords (org.orcid.jaxb.model.record_v2.Keywords)31 PersonExternalIdentifiers (org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers)31 Name (org.orcid.jaxb.model.record_v2.Name)30 Record (org.orcid.jaxb.model.record_v2.Record)20 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)18 EmploymentSummary (org.orcid.jaxb.model.record.summary_v2.EmploymentSummary)18 FundingSummary (org.orcid.jaxb.model.record.summary_v2.FundingSummary)18