Search in sources :

Example 61 with Person

use of org.orcid.jaxb.model.record_v2.Person in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method checkIsPublicPersonTest.

@Test
public void checkIsPublicPersonTest() {
    Person p = getPersonElement();
    publicAPISecurityManagerV2.filter(p);
    // Nothing is filtered yet
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Addresses filtered
    p = getPersonElement();
    setVisibility(p.getAddresses().getAddress(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    // --- filtered ---
    assertNotNull(p.getAddresses());
    assertTrue(p.getAddresses().getAddress().isEmpty());
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Bio filtered
    p = getPersonElement();
    p.getBiography().setVisibility(Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    // --- filtered ---
    assertNull(p.getBiography());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Emails filtered
    p = getPersonElement();
    setVisibility(p.getEmails().getEmails(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    // --- filtered ---
    assertNotNull(p.getEmails());
    assertTrue(p.getEmails().getEmails().isEmpty());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // External ids filtered
    p = getPersonElement();
    setVisibility(p.getExternalIdentifiers().getExternalIdentifiers(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    // --- filtered ---
    assertNotNull(p.getExternalIdentifiers());
    assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().isEmpty());
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Keywords filtered
    p = getPersonElement();
    setVisibility(p.getKeywords().getKeywords(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    // --- filtered ---
    assertNotNull(p.getKeywords());
    assertTrue(p.getKeywords().getKeywords().isEmpty());
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Name filtered
    p = getPersonElement();
    p.getName().setVisibility(Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    // --- filtered ---
    assertNull(p.getName());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Other names filtered
    p = getPersonElement();
    setVisibility(p.getOtherNames().getOtherNames(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    // --- filtered ---
    assertNotNull(p.getOtherNames());
    assertTrue(p.getOtherNames().getOtherNames().isEmpty());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
    // Researcher urls filtered
    p = getPersonElement();
    setVisibility(p.getResearcherUrls().getResearcherUrls(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(p);
    assertEquals(3, p.getAddresses().getAddress().size());
    p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
    assertEquals(3, p.getEmails().getEmails().size());
    p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
    assertEquals(3, p.getKeywords().getKeywords().size());
    p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
    assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
    // --- filtered ---
    assertNotNull(p.getResearcherUrls());
    assertTrue(p.getResearcherUrls().getResearcherUrls().isEmpty());
}
Also used : Person(org.orcid.jaxb.model.record_v2.Person) Test(org.junit.Test)

Example 62 with Person

use of org.orcid.jaxb.model.record_v2.Person in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method checkIsPublicRecordTest.

@Test
public void checkIsPublicRecordTest() {
    Record r = getRecordElement();
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - nothing filtered
    ActivitiesSummary as = r.getActivitiesSummary();
    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());
    // Verify bio sections - nothing filtered
    Person p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertAllArePublic(p.getAddresses().getAddress());
    assertEquals(3, p.getEmails().getEmails().size());
    assertAllArePublic(p.getEmails().getEmails());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertAllArePublic(p.getExternalIdentifiers().getExternalIdentifiers());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertAllArePublic(p.getKeywords().getKeywords());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertAllArePublic(p.getOtherNames().getOtherNames());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertAllArePublic(p.getResearcherUrls().getResearcherUrls());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
    // Filter biography, name, educations and funding
    r = getRecordElement();
    r.getPerson().getBiography().setVisibility(Visibility.LIMITED);
    r.getPerson().getName().setVisibility(Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getEducations().getSummaries(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getFundings(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - educations and funding filtered
    as = r.getActivitiesSummary();
    assertNotNull(as.getEducations());
    assertTrue(as.getEducations().getSummaries().isEmpty());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertTrue(as.getFundings().getFundingGroup().isEmpty());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    // Verify bio sections - bio and name filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertEquals(3, p.getEmails().getEmails().size());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNull(p.getBiography());
    assertNull(p.getName());
    // Filter emails, external identifiers, peer reviews and works
    r = getRecordElement();
    setVisibility(r.getPerson().getEmails().getEmails(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getPerson().getExternalIdentifiers().getExternalIdentifiers(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getPeerReviews(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getWorks(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - peer reviews and works filtered
    as = r.getActivitiesSummary();
    assertEquals(3, as.getEducations().getSummaries().size());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertTrue(as.getPeerReviews().getPeerReviewGroup().isEmpty());
    assertTrue(as.getWorks().getWorkGroup().isEmpty());
    // Verify bio sections - emails, external identifiers filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertNotNull(p.getEmails());
    assertTrue(p.getEmails().getEmails().isEmpty());
    assertNotNull(p.getExternalIdentifiers());
    assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().isEmpty());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
    // Filter keywords and other names
    r = getRecordElement();
    setVisibility(r.getPerson().getOtherNames().getOtherNames(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getPerson().getKeywords().getKeywords(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - nothing filtered
    as = r.getActivitiesSummary();
    assertEquals(3, as.getEducations().getSummaries().size());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    // Verify bio sections - keywords and other names filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertEquals(3, p.getEmails().getEmails().size());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertNotNull(p.getKeywords());
    assertTrue(p.getKeywords().getKeywords().isEmpty());
    assertNotNull(p.getOtherNames());
    assertTrue(p.getOtherNames().getOtherNames().isEmpty());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
}
Also used : Record(org.orcid.jaxb.model.record_v2.Record) Person(org.orcid.jaxb.model.record_v2.Person) ActivitiesSummary(org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary) Test(org.junit.Test)

Example 63 with Person

use of org.orcid.jaxb.model.record_v2.Person in project ORCID-Source by ORCID.

the class PublicV2ApiServiceDelegatorImpl method viewPerson.

@Override
public Response viewPerson(String orcid) {
    Person person = personDetailsManagerReadOnly.getPublicPersonDetails(orcid);
    publicAPISecurityManagerV2.filter(person);
    ElementUtils.setPathToPerson(person, orcid);
    Api2_0_LastModifiedDatesHelper.calculateLastModified(person);
    sourceUtilsReadOnly.setSourceName(person);
    return Response.ok(person).build();
}
Also used : Person(org.orcid.jaxb.model.record_v2.Person)

Example 64 with Person

use of org.orcid.jaxb.model.record_v2.Person in project ORCID-Source by ORCID.

the class MemberV2ApiServiceDelegator_ReadPersonTest method testPerson.

private void testPerson(Person p, String orcid) {
    // This is more an utility that will work only for 0000-0000-0000-0003
    assertEquals("0000-0000-0000-0003", orcid);
    assertNotNull(p);
    assertEquals("/0000-0000-0000-0003/person", p.getPath());
    Utils.verifyLastModified(p.getLastModifiedDate());
    // Address
    assertNotNull(p.getAddresses());
    Addresses a = p.getAddresses();
    assertNotNull(a);
    Utils.verifyLastModified(a.getLastModifiedDate());
    assertEquals(3, a.getAddress().size());
    boolean found1 = false, found2 = false, found3 = false;
    for (Address element : a.getAddress()) {
        Utils.verifyLastModified(element.getLastModifiedDate());
        if (element.getPutCode() == 9) {
            found1 = true;
        } else if (element.getPutCode() == 10) {
            found2 = true;
        } else if (element.getPutCode() == 11) {
            found3 = true;
        } else {
            fail("Invalid put code " + element.getPutCode());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    // Biography
    assertNotNull(p.getBiography());
    Biography b = p.getBiography();
    assertNotNull(b);
    Utils.verifyLastModified(b.getLastModifiedDate());
    assertEquals("Biography for 0000-0000-0000-0003", b.getContent());
    // Email
    assertNotNull(p.getEmails());
    Emails email = p.getEmails();
    assertNotNull(email);
    Utils.verifyLastModified(email.getLastModifiedDate());
    assertEquals(3, email.getEmails().size());
    assertEquals("public_0000-0000-0000-0003@test.orcid.org", email.getEmails().get(0).getEmail());
    found1 = false;
    found2 = false;
    found3 = false;
    for (Email element : email.getEmails()) {
        if (element.getEmail().equals("public_0000-0000-0000-0003@test.orcid.org")) {
            found1 = true;
        } else if (element.getEmail().equals("limited_0000-0000-0000-0003@test.orcid.org")) {
            found2 = true;
        } else if (element.getEmail().equals("private_0000-0000-0000-0003@test.orcid.org")) {
            found3 = true;
        } else {
            fail("Invalid email " + element.getEmail());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    // External identifiers
    assertNotNull(p.getExternalIdentifiers());
    PersonExternalIdentifiers extIds = p.getExternalIdentifiers();
    assertNotNull(extIds);
    Utils.verifyLastModified(extIds.getLastModifiedDate());
    assertEquals(3, extIds.getExternalIdentifiers().size());
    found1 = false;
    found2 = false;
    found3 = false;
    for (PersonExternalIdentifier element : extIds.getExternalIdentifiers()) {
        Utils.verifyLastModified(element.getLastModifiedDate());
        if (element.getPutCode() == 13) {
            found1 = true;
        } else if (element.getPutCode() == 14) {
            found2 = true;
        } else if (element.getPutCode() == 15) {
            found3 = true;
        } else {
            fail("Invalid put code " + element.getPutCode());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    // Keywords
    assertNotNull(p.getKeywords());
    Keywords k = p.getKeywords();
    assertNotNull(k);
    Utils.verifyLastModified(k.getLastModifiedDate());
    assertEquals(3, k.getKeywords().size());
    found1 = false;
    found2 = false;
    found3 = false;
    for (Keyword element : k.getKeywords()) {
        Utils.verifyLastModified(element.getLastModifiedDate());
        if (element.getPutCode() == 9) {
            found1 = true;
        } else if (element.getPutCode() == 10) {
            found2 = true;
        } else if (element.getPutCode() == 11) {
            found3 = true;
        } else {
            fail("Invalid put code " + element.getPutCode());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    // Name
    assertNotNull(p.getName());
    assertEquals("Credit Name", p.getName().getCreditName().getContent());
    assertEquals("Given Names", p.getName().getGivenNames().getContent());
    assertEquals("Family Name", p.getName().getFamilyName().getContent());
    // Other names
    assertNotNull(p.getOtherNames());
    OtherNames o = p.getOtherNames();
    assertNotNull(o);
    Utils.verifyLastModified(o.getLastModifiedDate());
    assertEquals(3, o.getOtherNames().size());
    found1 = false;
    found2 = false;
    found3 = false;
    for (OtherName element : o.getOtherNames()) {
        Utils.verifyLastModified(element.getLastModifiedDate());
        if (element.getPutCode() == 13) {
            found1 = true;
        } else if (element.getPutCode() == 14) {
            found2 = true;
        } else if (element.getPutCode() == 15) {
            found3 = true;
        } else {
            fail("Invalid put code " + element.getPutCode());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    // Researcher urls
    assertNotNull(p.getResearcherUrls());
    ResearcherUrls ru = p.getResearcherUrls();
    assertNotNull(ru);
    Utils.verifyLastModified(ru.getLastModifiedDate());
    assertEquals(3, ru.getResearcherUrls().size());
    found1 = false;
    found2 = false;
    found3 = false;
    for (ResearcherUrl element : ru.getResearcherUrls()) {
        Utils.verifyLastModified(element.getLastModifiedDate());
        if (element.getPutCode() == 13) {
            found1 = true;
        } else if (element.getPutCode() == 14) {
            found2 = true;
        } else if (element.getPutCode() == 15) {
            found3 = true;
        } else {
            fail("Invalid put code " + element.getPutCode());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    assertNotNull(p.getPath());
}
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) 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)

Example 65 with Person

use of org.orcid.jaxb.model.record_v2.Person in project ORCID-Source by ORCID.

the class MemberV2ApiServiceDelegator_ReadPersonTest method testReadPrivateEmails_OtherThingsJustPublic_Person.

@Test
public void testReadPrivateEmails_OtherThingsJustPublic_Person() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID, "APP-5555555555555556", ScopePathType.EMAIL_READ_PRIVATE);
    Response response = serviceDelegator.viewPerson(ORCID);
    assertNotNull(response);
    assertEquals(Person.class.getName(), response.getEntity().getClass().getName());
    Person p = (Person) response.getEntity();
    assertEquals("/0000-0000-0000-0003/person", p.getPath());
    // Check email
    // Email
    assertNotNull(p.getEmails());
    Emails email = p.getEmails();
    assertNotNull(email);
    Utils.verifyLastModified(email.getLastModifiedDate());
    assertEquals(5, email.getEmails().size());
    boolean found1 = false, found2 = false, found3 = false, found4 = false, found5 = false;
    for (Email element : email.getEmails()) {
        if (element.getEmail().equals("public_0000-0000-0000-0003@test.orcid.org")) {
            found1 = true;
        } else if (element.getEmail().equals("limited_0000-0000-0000-0003@test.orcid.org")) {
            found2 = true;
        } else if (element.getEmail().equals("private_0000-0000-0000-0003@test.orcid.org")) {
            found3 = true;
        } else if (element.getEmail().equals("self_limited_0000-0000-0000-0003@test.orcid.org")) {
            found4 = true;
        } else if (element.getEmail().equals("self_private_0000-0000-0000-0003@test.orcid.org")) {
            found5 = true;
        } else {
            fail("Invalid email " + element.getEmail());
        }
    }
    assertTrue(found1);
    assertTrue(found2);
    assertTrue(found3);
    assertTrue(found4);
    assertTrue(found5);
    this.assertAllPublicButEmails(p);
}
Also used : Response(javax.ws.rs.core.Response) Email(org.orcid.jaxb.model.record_v2.Email) Emails(org.orcid.jaxb.model.record_v2.Emails) Person(org.orcid.jaxb.model.record_v2.Person) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)69 Person (org.orcid.jaxb.model.record_v2.Person)58 Email (org.orcid.jaxb.model.record_v2.Email)40 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)40 Address (org.orcid.jaxb.model.record_v2.Address)35 Keyword (org.orcid.jaxb.model.record_v2.Keyword)35 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)35 OtherName (org.orcid.jaxb.model.record_v2.OtherName)34 PersonExternalIdentifiers (org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers)34 Emails (org.orcid.jaxb.model.record_v2.Emails)33 Biography (org.orcid.jaxb.model.record_v2.Biography)32 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)32 Addresses (org.orcid.jaxb.model.record_v2.Addresses)30 Keywords (org.orcid.jaxb.model.record_v2.Keywords)30 ResearcherUrls (org.orcid.jaxb.model.record_v2.ResearcherUrls)30 Name (org.orcid.jaxb.model.record_v2.Name)27 Record (org.orcid.jaxb.model.record_v2.Record)22 ActivitiesSummary (org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary)21 DBUnitTest (org.orcid.test.DBUnitTest)16 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)14