Search in sources :

Example 21 with OtherName

use of sun.security.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));
}
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 22 with OtherName

use of sun.security.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));
}
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 23 with OtherName

use of sun.security.x509.OtherName in project ORCID-Source by ORCID.

the class OrcidSecurityManager_generalTest method testCollection_When_NotSource_ReadLimitedToken.

@Test
public void testCollection_When_NotSource_ReadLimitedToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.ORCID_BIO_READ_LIMITED);
    List<OtherName> list = new ArrayList<OtherName>();
    OtherName o1 = createOtherName(Visibility.PUBLIC, CLIENT_2);
    OtherName o2 = createOtherName(Visibility.LIMITED, CLIENT_2);
    OtherName o3 = createOtherName(Visibility.PRIVATE, CLIENT_2);
    list.add(o1);
    list.add(o2);
    list.add(o3);
    orcidSecurityManager.checkAndFilter(ORCID_1, list, ScopePathType.ORCID_BIO_READ_LIMITED);
    assertEquals(2, list.size());
    assertTrue(list.contains(o1));
    assertTrue(list.contains(o2));
    assertFalse(list.contains(o3));
}
Also used : ArrayList(java.util.ArrayList) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Test(org.junit.Test)

Example 24 with OtherName

use of sun.security.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));
}
Also used : Address(org.orcid.jaxb.model.record_v2.Address) Keyword(org.orcid.jaxb.model.record_v2.Keyword) Education(org.orcid.jaxb.model.record_v2.Education) Employment(org.orcid.jaxb.model.record_v2.Employment) Funding(org.orcid.jaxb.model.record_v2.Funding) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Work(org.orcid.jaxb.model.record_v2.Work) ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) PersonExternalIdentifier(org.orcid.jaxb.model.record_v2.PersonExternalIdentifier) PeerReview(org.orcid.jaxb.model.record_v2.PeerReview) Test(org.junit.Test)

Example 25 with OtherName

use of sun.security.x509.OtherName in project ORCID-Source by ORCID.

the class RecordTest method testViewRecordFromPublicAPI.

@Test
public void testViewRecordFromPublicAPI() {
    ClientResponse response = publicV2ApiClient.viewRecordXML(getUser1OrcidId());
    assertNotNull(response);
    assertEquals("invalid " + response, 200, response.getStatus());
    Record record = response.getEntity(Record.class);
    assertNotNull(record);
    assertNotNull(record.getOrcidIdentifier());
    assertEquals(getUser1OrcidId(), record.getOrcidIdentifier().getPath());
    //Check the visibility of every activity that exists
    if (record.getActivitiesSummary() != null) {
        if (record.getActivitiesSummary() != null) {
            //Educations
            if (record.getActivitiesSummary().getEducations() != null) {
                Educations e = record.getActivitiesSummary().getEducations();
                if (e.getSummaries() != null) {
                    for (EducationSummary s : e.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            //Employments
            if (record.getActivitiesSummary().getEmployments() != null) {
                Employments e = record.getActivitiesSummary().getEmployments();
                if (e.getSummaries() != null) {
                    for (EmploymentSummary s : e.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            //Fundings
            if (record.getActivitiesSummary().getFundings() != null) {
                Fundings f = record.getActivitiesSummary().getFundings();
                List<FundingGroup> groups = f.getFundingGroup();
                if (groups != null) {
                    for (FundingGroup fGroup : groups) {
                        List<FundingSummary> summaries = fGroup.getFundingSummary();
                        if (summaries != null) {
                            for (FundingSummary s : summaries) {
                                assertNotNull(s.getSource());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
            //PeerReviews
            if (record.getActivitiesSummary().getPeerReviews() != null) {
                PeerReviews p = record.getActivitiesSummary().getPeerReviews();
                List<PeerReviewGroup> groups = p.getPeerReviewGroup();
                if (groups != null) {
                    for (PeerReviewGroup pGroup : groups) {
                        List<PeerReviewSummary> summaries = pGroup.getPeerReviewSummary();
                        if (summaries != null) {
                            for (PeerReviewSummary s : summaries) {
                                assertNotNull(s.getSource());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
            //Works
            if (record.getActivitiesSummary().getWorks() != null) {
                Works w = record.getActivitiesSummary().getWorks();
                List<WorkGroup> groups = w.getWorkGroup();
                if (groups != null) {
                    for (WorkGroup wGroup : groups) {
                        List<WorkSummary> summaries = wGroup.getWorkSummary();
                        if (summaries != null) {
                            for (WorkSummary s : summaries) {
                                assertNotNull(s.getSource());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
        }
    }
    //Check the visibility of every biography elements that exists
    if (record.getPerson() != null) {
        //Address
        if (record.getPerson().getAddresses() != null) {
            Addresses addresses = record.getPerson().getAddresses();
            List<Address> list = addresses.getAddress();
            if (list != null) {
                for (Address o : list) {
                    assertNotNull(o.getSource());
                    assertEquals(Visibility.PUBLIC, o.getVisibility());
                }
            }
        }
        //Biography
        if (record.getPerson().getBiography() != null) {
            Biography b = record.getPerson().getBiography();
            if (b != null) {
                assertNotNull(b.getVisibility());
                assertEquals(Visibility.PUBLIC, b.getVisibility());
            }
        }
        //Emails
        if (record.getPerson().getEmails() != null) {
            Emails emails = record.getPerson().getEmails();
            List<Email> list = emails.getEmails();
            if (list != null) {
                for (Email e : list) {
                    assertNotNull(e.getVisibility());
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        //External identifiers
        if (record.getPerson().getExternalIdentifiers() != null) {
            PersonExternalIdentifiers extIds = record.getPerson().getExternalIdentifiers();
            List<PersonExternalIdentifier> list = extIds.getExternalIdentifiers();
            if (list != null) {
                for (PersonExternalIdentifier e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        //Keywords
        if (record.getPerson().getKeywords() != null) {
            Keywords keywords = record.getPerson().getKeywords();
            List<Keyword> list = keywords.getKeywords();
            if (list != null) {
                for (Keyword e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        //Name
        if (record.getPerson().getName() != null) {
            Name name = record.getPerson().getName();
            assertEquals(Visibility.PUBLIC, name.getVisibility());
        }
        //Other names
        if (record.getPerson().getOtherNames() != null) {
            OtherNames otherNames = record.getPerson().getOtherNames();
            List<OtherName> list = otherNames.getOtherNames();
            if (list != null) {
                for (OtherName e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        //Researcher urls
        if (record.getPerson().getResearcherUrls() != null) {
            ResearcherUrls rUrls = record.getPerson().getResearcherUrls();
            List<ResearcherUrl> list = rUrls.getResearcherUrls();
            if (list != null) {
                for (ResearcherUrl e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
    }
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) Email(org.orcid.jaxb.model.record_rc4.Email) Keywords(org.orcid.jaxb.model.record_rc4.Keywords) Address(org.orcid.jaxb.model.record_rc4.Address) Fundings(org.orcid.jaxb.model.record.summary_rc4.Fundings) OtherNames(org.orcid.jaxb.model.record_rc4.OtherNames) PeerReviews(org.orcid.jaxb.model.record.summary_rc4.PeerReviews) OtherName(org.orcid.jaxb.model.record_rc4.OtherName) Name(org.orcid.jaxb.model.record_rc4.Name) Addresses(org.orcid.jaxb.model.record_rc4.Addresses) WorkGroup(org.orcid.jaxb.model.record.summary_rc4.WorkGroup) WorkSummary(org.orcid.jaxb.model.record.summary_rc4.WorkSummary) FundingSummary(org.orcid.jaxb.model.record.summary_rc4.FundingSummary) Biography(org.orcid.jaxb.model.record_rc4.Biography) ResearcherUrls(org.orcid.jaxb.model.record_rc4.ResearcherUrls) Record(org.orcid.jaxb.model.record_rc4.Record) ResearcherUrl(org.orcid.jaxb.model.record_rc4.ResearcherUrl) Emails(org.orcid.jaxb.model.record_rc4.Emails) Works(org.orcid.jaxb.model.record.summary_rc4.Works) PeerReviewGroup(org.orcid.jaxb.model.record.summary_rc4.PeerReviewGroup) Keyword(org.orcid.jaxb.model.record_rc4.Keyword) OtherName(org.orcid.jaxb.model.record_rc4.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.record_rc4.PersonExternalIdentifier) FundingGroup(org.orcid.jaxb.model.record.summary_rc4.FundingGroup) Employments(org.orcid.jaxb.model.record.summary_rc4.Employments) PersonExternalIdentifiers(org.orcid.jaxb.model.record_rc4.PersonExternalIdentifiers) EducationSummary(org.orcid.jaxb.model.record.summary_rc4.EducationSummary) PeerReviewSummary(org.orcid.jaxb.model.record.summary_rc4.PeerReviewSummary) Educations(org.orcid.jaxb.model.record.summary_rc4.Educations) EmploymentSummary(org.orcid.jaxb.model.record.summary_rc4.EmploymentSummary) Test(org.junit.Test)

Aggregations

OtherName (org.orcid.jaxb.model.record_v2.OtherName)114 Test (org.junit.Test)99 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)55 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)45 Biography (org.orcid.jaxb.model.record_v2.Biography)44 Address (org.orcid.jaxb.model.record_v2.Address)43 Keyword (org.orcid.jaxb.model.record_v2.Keyword)42 Name (org.orcid.jaxb.model.record_v2.Name)42 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)42 Email (org.orcid.jaxb.model.record_v2.Email)39 Addresses (org.orcid.jaxb.model.record_v2.Addresses)32 Emails (org.orcid.jaxb.model.record_v2.Emails)32 Keywords (org.orcid.jaxb.model.record_v2.Keywords)32 PersonExternalIdentifiers (org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers)32 ResearcherUrls (org.orcid.jaxb.model.record_v2.ResearcherUrls)32 Person (org.orcid.jaxb.model.record_v2.Person)30 ArrayList (java.util.ArrayList)23 DBUnitTest (org.orcid.test.DBUnitTest)22 Response (javax.ws.rs.core.Response)20 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)18