use of org.orcid.jaxb.model.v3.dev1.record.Name in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_DistinctionsTest method testUpdateDistinction.
@Test
public void testUpdateDistinction() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewDistinction(ORCID, 27L);
assertNotNull(response);
Distinction distinction = (Distinction) response.getEntity();
assertNotNull(distinction);
assertEquals("PUBLIC Department", distinction.getDepartmentName());
assertEquals("PUBLIC", distinction.getRoleTitle());
Utils.verifyLastModified(distinction.getLastModifiedDate());
LastModifiedDate before = distinction.getLastModifiedDate();
distinction.setDepartmentName("Updated department name");
distinction.setRoleTitle("The updated role title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("abc456");
disambiguatedOrg.setDisambiguationSource("WDB");
distinction.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
response = serviceDelegator.updateDistinction(ORCID, 27L, distinction);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewDistinction(ORCID, 27L);
assertNotNull(response);
distinction = (Distinction) response.getEntity();
assertNotNull(distinction);
Utils.verifyLastModified(distinction.getLastModifiedDate());
assertTrue(distinction.getLastModifiedDate().after(before));
assertEquals("Updated department name", distinction.getDepartmentName());
assertEquals("The updated role title", distinction.getRoleTitle());
// Rollback changes
distinction.setDepartmentName("PUBLIC Department");
distinction.setRoleTitle("PUBLIC");
response = serviceDelegator.updateDistinction(ORCID, 27L, distinction);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.v3.dev1.record.Name in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_DistinctionsTest method testUpdateDistinctionYouAreNotTheSourceOf.
@Test(expected = WrongSourceException.class)
public void testUpdateDistinctionYouAreNotTheSourceOf() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewDistinction(ORCID, 30L);
assertNotNull(response);
Distinction distinction = (Distinction) response.getEntity();
assertNotNull(distinction);
distinction.setDepartmentName("Updated department name");
distinction.setRoleTitle("The updated role title");
serviceDelegator.updateDistinction(ORCID, 30L, distinction);
fail();
}
use of org.orcid.jaxb.model.v3.dev1.record.Name in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_EducationsTest method testUpdateEducation.
@Test
public void testUpdateEducation() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewEducation(ORCID, 20L);
assertNotNull(response);
Education education = (Education) response.getEntity();
assertNotNull(education);
assertEquals("PUBLIC Department", education.getDepartmentName());
assertEquals("PUBLIC", education.getRoleTitle());
Utils.verifyLastModified(education.getLastModifiedDate());
LastModifiedDate before = education.getLastModifiedDate();
education.setDepartmentName("Updated department name");
education.setRoleTitle("The updated role title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("abc456");
disambiguatedOrg.setDisambiguationSource("WDB");
education.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
response = serviceDelegator.updateEducation(ORCID, 20L, education);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewEducation(ORCID, 20L);
assertNotNull(response);
education = (Education) response.getEntity();
assertNotNull(education);
Utils.verifyLastModified(education.getLastModifiedDate());
assertTrue(education.getLastModifiedDate().after(before));
assertEquals("Updated department name", education.getDepartmentName());
assertEquals("The updated role title", education.getRoleTitle());
// Rollback changes
education.setDepartmentName("PUBLIC Department");
education.setRoleTitle("PUBLIC");
response = serviceDelegator.updateEducation(ORCID, 20L, education);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.v3.dev1.record.Name in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_EmploymentsTest method testUpdateEmployment.
@Test
public void testUpdateEmployment() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewEmployment(ORCID, 18L);
assertNotNull(response);
Employment employment = (Employment) response.getEntity();
assertNotNull(employment);
assertEquals("LIMITED Department", employment.getDepartmentName());
assertEquals("LIMITED", employment.getRoleTitle());
Utils.verifyLastModified(employment.getLastModifiedDate());
LastModifiedDate before = employment.getLastModifiedDate();
employment.setDepartmentName("Updated department name");
employment.setRoleTitle("The updated role title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("abc456");
disambiguatedOrg.setDisambiguationSource("WDB");
employment.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
response = serviceDelegator.updateEmployment(ORCID, 18L, employment);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewEmployment(ORCID, 18L);
assertNotNull(response);
employment = (Employment) response.getEntity();
assertNotNull(employment);
Utils.verifyLastModified(employment.getLastModifiedDate());
assertTrue(employment.getLastModifiedDate().after(before));
assertEquals("Updated department name", employment.getDepartmentName());
assertEquals("The updated role title", employment.getRoleTitle());
// Rollback changes
employment.setDepartmentName("LIMITED Department");
employment.setRoleTitle("LIMITED");
response = serviceDelegator.updateEmployment(ORCID, 18L, employment);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.v3.dev1.record.Name in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_ExternalIdentifiersTest method testAddExternalIdentifier.
@Test
public void testAddExternalIdentifier() {
SecurityContextTestUtils.setUpSecurityContext("4444-4444-4444-4443", ScopePathType.PERSON_READ_LIMITED, ScopePathType.PERSON_UPDATE);
Response response = serviceDelegator.viewExternalIdentifiers("4444-4444-4444-4443");
assertNotNull(response);
PersonExternalIdentifiers extIds = (PersonExternalIdentifiers) response.getEntity();
assertNotNull(extIds);
assertNotNull(extIds.getExternalIdentifiers());
assertEquals(1, extIds.getExternalIdentifiers().size());
assertEquals(Long.valueOf(1), extIds.getExternalIdentifiers().get(0).getPutCode());
assertNotNull(extIds.getExternalIdentifiers().get(0).getUrl());
assertEquals("http://www.facebook.com/d3clan", extIds.getExternalIdentifiers().get(0).getUrl().getValue());
assertEquals("d3clan", extIds.getExternalIdentifiers().get(0).getValue());
assertEquals(Visibility.PUBLIC, extIds.getExternalIdentifiers().get(0).getVisibility());
response = serviceDelegator.createExternalIdentifier("4444-4444-4444-4443", Utils.getPersonExternalIdentifier());
assertNotNull(response);
assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
Map<?, ?> map = response.getMetadata();
assertNotNull(map);
assertTrue(map.containsKey("Location"));
List<?> resultWithPutCode = (List<?>) map.get("Location");
Long putCode = Long.valueOf(String.valueOf(resultWithPutCode.get(0)));
response = serviceDelegator.viewExternalIdentifiers("4444-4444-4444-4443");
assertNotNull(response);
extIds = (PersonExternalIdentifiers) response.getEntity();
assertNotNull(extIds);
Utils.verifyLastModified(extIds.getLastModifiedDate());
assertNotNull(extIds.getExternalIdentifiers());
assertEquals(2, extIds.getExternalIdentifiers().size());
for (PersonExternalIdentifier extId : extIds.getExternalIdentifiers()) {
Utils.verifyLastModified(extId.getLastModifiedDate());
assertNotNull(extId.getUrl());
if (extId.getPutCode() != 1L) {
assertEquals(Visibility.PUBLIC, extId.getVisibility());
assertEquals("new-common-name", extId.getType());
assertEquals("new-reference", extId.getValue());
assertEquals("http://newUrl.com", extId.getUrl().getValue());
assertEquals(putCode, extId.getPutCode());
} else {
assertEquals(Visibility.PUBLIC, extId.getVisibility());
assertEquals("Facebook", extId.getType());
assertEquals("d3clan", extId.getValue());
assertEquals("http://www.facebook.com/d3clan", extId.getUrl().getValue());
}
}
}
Aggregations