From a85b63a3f04a1e11e793a661eb223c3c7ccf4fe6 Mon Sep 17 00:00:00 2001 From: Patrick Schmitz Date: Tue, 2 Mar 2010 01:55:53 +0000 Subject: [PATCH] CSPACE-590, CSPACE-852. Added tests for getting a list of persons from a named (not CSID-based) authority. --- .../client/PersonAuthorityClient.java | 9 ++++++ .../services/client/PersonAuthorityProxy.java | 6 ++++ .../test/PersonAuthorityServiceTest.java | 28 +++++++++++++------ 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java index fecd59d42..c17eeec0b 100644 --- a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java +++ b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityClient.java @@ -1,5 +1,6 @@ package org.collectionspace.services.client; +import javax.ws.rs.PathParam; import javax.ws.rs.core.Response; import org.collectionspace.services.contact.ContactsCommonList; @@ -138,6 +139,14 @@ public class PersonAuthorityClient extends AbstractServiceClientImpl { return personAuthorityProxy.readItemList(vcsid); } + /** + * @return + * @see org.collectionspace.services.client.PersonAuthorityProxy#readItemListForNamedAuthority() + */ + public ClientResponse readItemListForNamedAuthority(String specifier) { + return personAuthorityProxy.readItemListForNamedAuthority(specifier); + } + /** * @param csid * @return diff --git a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java index 3a25ba8a1..10c27a001 100644 --- a/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java +++ b/services/person/client/src/main/java/org/collectionspace/services/client/PersonAuthorityProxy.java @@ -60,6 +60,12 @@ public interface PersonAuthorityProxy { @Path("/{vcsid}/items/") ClientResponse readItemList(@PathParam("vcsid") String vcsid); + // List Items for a named authority + @GET + @Produces({"application/xml"}) + @Path("/urn:cspace:name({specifier})/items/") + ClientResponse readItemListForNamedAuthority(@PathParam("specifier") String specifier); + //(C)reate Item @POST @Path("/{vcsid}/items/") diff --git a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServiceTest.java b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServiceTest.java index 31f726b21..1fce517d4 100644 --- a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServiceTest.java +++ b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServiceTest.java @@ -810,7 +810,7 @@ public class PersonAuthorityServiceTest extends AbstractServiceTestImpl { item.getDisplayName()); logger.debug(testName + ": list-item[" + i + "] URI=" + item.getUri()); - readItemList(csid); + readItemList(csid, null); i++; } } @@ -818,19 +818,31 @@ public class PersonAuthorityServiceTest extends AbstractServiceTestImpl { @Test(groups = {"readList"}, dependsOnMethods = {"readList"}) public void readItemList() { - readItemList(knownResourceId); + readItemList(knownResourceId, null); } - private void readItemList(String vcsid) { + @Test(groups = {"readList"}, dependsOnMethods = {"readItemList"}) + public void readItemListByAuthorityName() { + readItemList(null, knownResourceDisplayName); + } + private void readItemList(String vcsid, String name) { final String testName = "readItemList"; // Perform setup. setupReadList(testName); - - // Submit the request to the service and store the response. - ClientResponse res = - client.readItemList(vcsid); + + ClientResponse res = null; + + if(vcsid!= null) { + // Submit the request to the service and store the response. + res = client.readItemList(vcsid); + } else if(name!= null) { + // Submit the request to the service and store the response. + res = client.readItemListForNamedAuthority(name); + } else { + Assert.fail("readItemList passed null csid and name!"); + } PersonsCommonList list = res.getEntity(); int statusCode = res.getStatus(); @@ -946,7 +958,7 @@ public class PersonAuthorityServiceTest extends AbstractServiceTestImpl { // Success outcomes @Override @Test(dataProvider="testName", dataProviderClass=AbstractServiceTestImpl.class, - groups = {"update"}, dependsOnGroups = {"read"}) + groups = {"update"}, dependsOnGroups = {"read", "readList"}) public void update(String testName) throws Exception { // Perform setup. -- 2.47.3