From 5b2a8f3defe012215b1206e791383267a312432e Mon Sep 17 00:00:00 2001 From: Aron Roberts Date: Tue, 1 Sep 2009 20:59:32 +0000 Subject: [PATCH] CSPACE-360,CSPACE-385,CSPACE-387: Renamed methods in CollectionObject client classes for consistency with test classes, and statements affected by these changes in other modules. --- .../test/RelationIntegrationTest.java | 2 +- .../client/AuthenticationServiceTest.java | 14 ++--- .../client/test/AbstractServiceTest.java | 50 +++++++++++---- .../client/test/ServiceRequestType.java | 6 +- .../services/client/test/ServiceTest.java | 12 ++-- .../client/CollectionObjectClient.java | 20 +++--- .../client/CollectionObjectProxy.java | 10 +-- .../test/CollectionObjectServiceTest.java | 63 +++++++++---------- 8 files changed, 102 insertions(+), 75 deletions(-) diff --git a/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/RelationIntegrationTest.java b/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/RelationIntegrationTest.java index c8e3044b7..e53ba456d 100644 --- a/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/RelationIntegrationTest.java +++ b/services/IntegrationTests/src/test/java/org/collectionspace/services/ItegrationTests/test/RelationIntegrationTest.java @@ -93,7 +93,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { // CollectionObject co = new CollectionObject(); fillCollectionObject(co, createIdentifier()); - ClientResponse coResponse = collectionObjectClient.createCollectionObject(co); + ClientResponse coResponse = collectionObjectClient.create(co); Assert.assertEquals(coResponse.getStatus(), Response.Status.CREATED.getStatusCode()); String collectionObjectCsid = extractId(coResponse); diff --git a/services/authentication/client/src/test/java/org/collectionspace/services/authentication/client/AuthenticationServiceTest.java b/services/authentication/client/src/test/java/org/collectionspace/services/authentication/client/AuthenticationServiceTest.java index efab061d8..adcca32d1 100644 --- a/services/authentication/client/src/test/java/org/collectionspace/services/authentication/client/AuthenticationServiceTest.java +++ b/services/authentication/client/src/test/java/org/collectionspace/services/authentication/client/AuthenticationServiceTest.java @@ -67,7 +67,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObject: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObject: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.CREATED.getStatusCode(), "expected " + Response.Status.CREATED.getStatusCode()); @@ -95,7 +95,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObjectWithoutUser: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObjectWithoutUser: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); @@ -120,7 +120,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObjectWithoutPassword: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObjectWithoutPassword: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); @@ -145,7 +145,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObjectWithIncorrectPassword: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObjectWithIncorrectPassword: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); @@ -170,7 +170,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObjectWithoutUserPassword: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObjectWithoutUserPassword: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.FORBIDDEN.getStatusCode(), "expected " + Response.Status.FORBIDDEN.getStatusCode()); @@ -195,7 +195,7 @@ public class AuthenticationServiceTest { logger.error("auth_createCollectionObjectWithIncorrectUserPassword: caught " + e.getMessage()); return; } - ClientResponse res = collectionObjectClient.createCollectionObject(collectionObject); + ClientResponse res = collectionObjectClient.create(collectionObject); verbose("auth_createCollectionObjectWithIncorrectUserPassword: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); @@ -220,7 +220,7 @@ public class AuthenticationServiceTest { return; } verbose("Calling deleteCollectionObject:" + knownCollectionObjectId); - ClientResponse res = collectionObjectClient.deleteCollectionObject(knownCollectionObjectId); + ClientResponse res = collectionObjectClient.delete(knownCollectionObjectId); verbose("auth_deleteCollectionObject: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), Response.Status.OK.getStatusCode(), "expected " + Response.Status.OK.getStatusCode()); diff --git a/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTest.java b/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTest.java index df8f11acc..1e379820f 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTest.java +++ b/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTest.java @@ -102,9 +102,9 @@ public abstract class AbstractServiceTest implements ServiceTest { } @Override - public abstract void createMultiple(); + public abstract void createList(); - // No setup required for createMultiple() + // No setup required for createList() // Failure outcomes @@ -177,7 +177,7 @@ public abstract class AbstractServiceTest implements ServiceTest { clearSetup(); // Expected status code: 200 OK EXPECTED_STATUS_CODE = Response.Status.OK.getStatusCode(); - REQUEST_TYPE = ServiceRequestType.READ_MULTIPLE; + REQUEST_TYPE = ServiceRequestType.READ_LIST; } // Failure outcomes @@ -293,30 +293,58 @@ public abstract class AbstractServiceTest implements ServiceTest { REQUEST_TYPE = ServiceRequestType.NON_EXISTENT; } - // @TODO Add Javadoc comments to all methods requiring them, below. - + /** + * Returns an error message indicating that the status code returned by a + * specific call to a service does not fall within a set of valid status + * codes for that service. + * + * @param serviceRequestType A type of service request (e.g. CREATE, DELETE). + * + * @param statusCode The invalid status code that was returned in the response, + * from submitting that type of request to the service. + * + * @return An error message. + */ protected String invalidStatusCodeMessage(ServiceRequestType requestType, int statusCode) { return "Status code '" + statusCode + "' in response is NOT within the expected set: " + requestType.validStatusCodesAsString(); } - protected String getServiceRootURL() { + /** + * Returns the root URL for a service. + * + * This URL consists of a base URL for all services, followed by + * a path component (or components) for a service. + * + * @return The root URL for a service. + */ + protected String getServiceRootURL() { return serviceClient.getBaseURL() + getServicePathComponent(); } + /** + * Returns the URL of a specific resource managed by a service, and + * designated by an identifier (such as a universally unique ID, or UUID). + * + * @param resourceIdentifier An identifier (such as a UUID) for a resource. + * + * @return The URL of a specific resource managed by a service. + */ protected String getResourceURL(String resourceIdentifier) { return getServiceRootURL() + "/" + resourceIdentifier; } + // @TODO Add Javadoc comments to all methods requiring them, below. + protected int submitRequest(String method, String url) { int statusCode = 0; try { ClientRequest request = new ClientRequest(url); - if (method.equalsIgnoreCase("DELETE")) { + if (method.equals(javax.ws.rs.HttpMethod.DELETE)) { ClientResponse res = request.delete(); statusCode = res.getStatus(); - } else if (method.equalsIgnoreCase("GET")) { + } else if (method.equals(javax.ws.rs.HttpMethod.GET)) { ClientResponse res = request.get(); statusCode = res.getStatus(); } else { @@ -324,7 +352,7 @@ public abstract class AbstractServiceTest implements ServiceTest { } } catch (Exception e) { logger.error( - "Exception during HTTP " + method + " request to " + url + " :", + "Exception during HTTP " + method + " request to " + url + ":", e); } return statusCode; @@ -335,10 +363,10 @@ public abstract class AbstractServiceTest implements ServiceTest { try { ClientRequest request = new ClientRequest(url); request.body(MediaType.APPLICATION_XML, entityStr); - if (method.equalsIgnoreCase("POST")) { + if (method.equals(javax.ws.rs.HttpMethod.POST)) { ClientResponse res = request.post(); statusCode = res.getStatus(); - } else if (method.equalsIgnoreCase("PUT")) { + } else if (method.equals(javax.ws.rs.HttpMethod.PUT)) { ClientResponse res = request.put(); statusCode = res.getStatus(); } else { diff --git a/services/client/src/main/java/org/collectionspace/services/client/test/ServiceRequestType.java b/services/client/src/main/java/org/collectionspace/services/client/test/ServiceRequestType.java index 802e0ccdd..59e60b2e3 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/test/ServiceRequestType.java +++ b/services/client/src/main/java/org/collectionspace/services/client/test/ServiceRequestType.java @@ -106,7 +106,7 @@ public enum ServiceRequestType { }, - READ_MULTIPLE { + READ_LIST { @Override public int[] validStatusCodes() { final int[] STATUS_CODES = { @@ -120,7 +120,7 @@ public enum ServiceRequestType { } @Override public boolean isValidStatusCode(int statusCode) { - if (Arrays.binarySearch(READ_MULTIPLE.validStatusCodes(), statusCode) >= 0) { + if (Arrays.binarySearch(READ_LIST.validStatusCodes(), statusCode) >= 0) { return true; } else { return false; @@ -128,7 +128,7 @@ public enum ServiceRequestType { } @Override public String validStatusCodesAsString() { - return Arrays.toString(READ_MULTIPLE.validStatusCodes()); + return Arrays.toString(READ_LIST.validStatusCodes()); } @Override public String httpMethodName() { diff --git a/services/client/src/main/java/org/collectionspace/services/client/test/ServiceTest.java b/services/client/src/main/java/org/collectionspace/services/client/test/ServiceTest.java index 7c5bb5790..751fbf520 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/test/ServiceTest.java +++ b/services/client/src/main/java/org/collectionspace/services/client/test/ServiceTest.java @@ -43,12 +43,12 @@ public interface ServiceTest { public void create(); /** - * Tests creation of two or more new resources by repeatedly + * Tests creation of a list of two or more new resources by repeatedly * calling create(), and relies on the latter's test assertion(s). * - * Relied upon by 'read multiple' tests, below. + * Relied upon by 'read list' tests, below. */ - public void createMultiple(); + public void createList(); // Failure outcomes @@ -114,9 +114,9 @@ public interface ServiceTest { // Failure outcomes // If feasible, implement a negative (failure) test - // with unrecognized query parameters, other than - // filtering or chunking parameters, etc., recognized - // by the service. + // of handling of unrecognized query parameters + // (e.g. other than filtering or chunking parameters, etc. + // that may be supported by the service). // --------------------------------------------------------------- // CRUD tests : UPDATE tests diff --git a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java index b9070c37f..c44e452b9 100644 --- a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java +++ b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectClient.java @@ -50,8 +50,8 @@ public class CollectionObjectClient extends BaseServiceClient { * @return * @see org.collectionspace.hello.client.CollectionObjectProxy#getCollectionObject() */ - public ClientResponse getCollectionObjectList() { - return collectionObjectProxy.getCollectionObjectList(); + public ClientResponse readList() { + return collectionObjectProxy.readList(); } /** @@ -59,8 +59,8 @@ public class CollectionObjectClient extends BaseServiceClient { * @return * @see org.collectionspace.hello.client.CollectionObjectProxy#getCollectionObject(java.lang.String) */ - public ClientResponse getCollectionObject(String csid) { - return collectionObjectProxy.getCollectionObject(csid); + public ClientResponse read(String csid) { + return collectionObjectProxy.read(csid); } /** @@ -68,8 +68,8 @@ public class CollectionObjectClient extends BaseServiceClient { * @return * @see org.collectionspace.hello.client.CollectionObjectProxy#createCollectionObject(org.collectionspace.hello.CollectionObject) */ - public ClientResponse createCollectionObject(CollectionObject collectionObject) { - return collectionObjectProxy.createCollectionObject(collectionObject); + public ClientResponse create(CollectionObject collectionObject) { + return collectionObjectProxy.create(collectionObject); } /** @@ -78,8 +78,8 @@ public class CollectionObjectClient extends BaseServiceClient { * @return * @see org.collectionspace.hello.client.CollectionObjectProxy#updateCollectionObject(java.lang.Long, org.collectionspace.hello.CollectionObject) */ - public ClientResponse updateCollectionObject(String csid, CollectionObject collectionObject) { - return collectionObjectProxy.updateCollectionObject(csid, collectionObject); + public ClientResponse update(String csid, CollectionObject collectionObject) { + return collectionObjectProxy.update(csid, collectionObject); } /** @@ -87,7 +87,7 @@ public class CollectionObjectClient extends BaseServiceClient { * @return * @see org.collectionspace.hello.client.CollectionObjectProxy#deleteCollectionObject(java.lang.Long) */ - public ClientResponse deleteCollectionObject(String csid) { - return collectionObjectProxy.deleteCollectionObject(csid); + public ClientResponse delete(String csid) { + return collectionObjectProxy.delete(csid); } } diff --git a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java index 124e243c5..a324f1cc0 100644 --- a/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java +++ b/services/collectionobject/client/src/main/java/org/collectionspace/services/client/CollectionObjectProxy.java @@ -23,24 +23,24 @@ import org.jboss.resteasy.client.ClientResponse; public interface CollectionObjectProxy { @GET - ClientResponse getCollectionObjectList(); + ClientResponse readList(); //(C)reate @POST - ClientResponse createCollectionObject(CollectionObject co); + ClientResponse create(CollectionObject co); //(R)ead @GET @Path("/{csid}") - ClientResponse getCollectionObject(@PathParam("csid") String csid); + ClientResponse read(@PathParam("csid") String csid); //(U)pdate @PUT @Path("/{csid}") - ClientResponse updateCollectionObject(@PathParam("csid") String csid, CollectionObject co); + ClientResponse update(@PathParam("csid") String csid, CollectionObject co); //(D)elete @DELETE @Path("/{csid}") - ClientResponse deleteCollectionObject(@PathParam("csid") String csid); + ClientResponse delete(@PathParam("csid") String csid); } \ No newline at end of file diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java index 8ee73fa2c..97b8b322f 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectServiceTest.java @@ -69,7 +69,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { // Submit the request to the service and store the response. String identifier = createIdentifier(); CollectionObject collectionObject = createCollectionObject(identifier); - ClientResponse res = client.createCollectionObject(collectionObject); + ClientResponse res = client.create(collectionObject); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -87,7 +87,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { @Override @Test(dependsOnMethods = {"create"}) - public void createMultiple() { + public void createList() { for(int i = 0; i < 3; i++){ create (); } @@ -98,7 +98,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { @Override @Test(dependsOnMethods = {"create"}, expectedExceptions = IllegalArgumentException.class) public void createNull() { - ClientResponse res = client.createCollectionObject(null); + ClientResponse res = client.create(null); } // Placeholders until the two tests below can be uncommented. See Issue CSPACE-401. @@ -161,8 +161,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { setupRead(); // Submit the request to the service and store the response. - ClientResponse res = - client.getCollectionObject(knownObjectId); + ClientResponse res = client.read(knownObjectId); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -180,8 +179,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { setupReadNonExistent(); // Submit the request to the service and store the response. - ClientResponse res = - client.getCollectionObject(NON_EXISTENT_ID); + ClientResponse res = client.read(NON_EXISTENT_ID); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -193,21 +191,21 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { // --------------------------------------------------------------- - // CRUD tests : READ (list, or multiple) tests + // CRUD tests : READ_LIST tests // --------------------------------------------------------------- // Success outcomes @Override - @Test(dependsOnMethods = {"createMultiple"}) + @Test(dependsOnMethods = {"createList"}) public void readList() { // Perform setup. setupReadList(); // Submit the request to the service and store the response. - ClientResponse res = client.getCollectionObjectList(); - CollectionObjectList coList = res.getEntity(); + ClientResponse res = client.readList(); + CollectionObjectList list = res.getEntity(); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -219,13 +217,13 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { // Optionally output additional data about list members for debugging. boolean iterateThroughList = false; if (iterateThroughList && logger.isDebugEnabled()) { - List coItemList = - coList.getCollectionObjectListItem(); + List items = + list.getCollectionObjectListItem(); int i = 0; - for(CollectionObjectList.CollectionObjectListItem pli : coItemList){ - verbose("readList: list-item[" + i + "] csid=" + pli.getCsid()); - verbose("readList: list-item[" + i + "] objectNumber=" + pli.getObjectNumber()); - verbose("readList: list-item[" + i + "] URI=" + pli.getUri()); + for(CollectionObjectList.CollectionObjectListItem item : items){ + verbose("readList: list-item[" + i + "] csid=" + item.getCsid()); + verbose("readList: list-item[" + i + "] objectNumber=" + item.getObjectNumber()); + verbose("readList: list-item[" + i + "] URI=" + item.getUri()); i++; } } @@ -251,8 +249,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { setupUpdate(); // Retrieve an existing resource that we can update. - ClientResponse res = - client.getCollectionObject(knownObjectId); + ClientResponse res = client.read(knownObjectId); verbose("read: status = " + res.getStatus()); Assert.assertEquals(res.getStatus(), EXPECTED_STATUS_CODE); CollectionObject collectionObject = res.getEntity(); @@ -265,9 +262,9 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { collectionObject.setObjectName("updated-" + collectionObject.getObjectName()); // Submit the request to the service and store the response. - res = client.updateCollectionObject(knownObjectId, collectionObject); + res = client.update(knownObjectId, collectionObject); int statusCode = res.getStatus(); - CollectionObject updatedCollectionObject = res.getEntity(); + CollectionObject updatedObject = res.getEntity(); // Check the status code of the response: does it match the expected response(s)? verbose("update: status = " + res.getStatus()); @@ -276,8 +273,8 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { Assert.assertEquals(statusCode, EXPECTED_STATUS_CODE); // Check the contents of the response: does it match what was submitted? - verbose("update: ", updatedCollectionObject, CollectionObject.class); - Assert.assertEquals(updatedCollectionObject.getObjectName(), + verbose("update: ", updatedObject, CollectionObject.class); + Assert.assertEquals(updatedObject.getObjectName(), collectionObject.getObjectName(), "Data in updated object did not match submitted data."); } @@ -326,7 +323,6 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { invalidStatusCodeMessage(REQUEST_TYPE, statusCode)); Assert.assertEquals(statusCode, EXPECTED_STATUS_CODE); } - */ @Override @@ -338,10 +334,10 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { // Submit the request to the service and store the response. // Note: The ID used in this 'create' call may be arbitrary. - // The only relevant ID may be the one used in updateCollectionObject(), below. + // The only relevant ID may be the one used in update(), below. CollectionObject collectionObject = createCollectionObject(NON_EXISTENT_ID); ClientResponse res = - client.updateCollectionObject(NON_EXISTENT_ID, collectionObject); + client.update(NON_EXISTENT_ID, collectionObject); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -366,7 +362,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { setupDelete(); // Submit the request to the service and store the response. - ClientResponse res = client.deleteCollectionObject(knownObjectId); + ClientResponse res = client.delete(knownObjectId); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -386,8 +382,7 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { setupDeleteNonExistent(); // Submit the request to the service and store the response. - ClientResponse res = - client.deleteCollectionObject(NON_EXISTENT_ID); + ClientResponse res = client.delete(NON_EXISTENT_ID); int statusCode = res.getStatus(); // Check the status code of the response: does it match the expected response(s)? @@ -430,14 +425,18 @@ public class CollectionObjectServiceTest extends AbstractServiceTest { @Override public String getServicePathComponent() { // @TODO Determine if it is possible to obtain this value programmatically. + // // We set this in an annotation in the CollectionObjectProxy interface, for instance. - // We also set service-specific constants in each service module. + // We also set service-specific constants in each service module, which might + // also return this value. return SERVICE_PATH_COMPONENT; } private CollectionObject createCollectionObject(String identifier) { - CollectionObject collectionObject = createCollectionObject("objectNumber-" + identifier, - "objectName-" + identifier); + CollectionObject collectionObject = + createCollectionObject( + "objectNumber-" + identifier, + "objectName-" + identifier); return collectionObject; } -- 2.47.3