From 4dd6a0cfa7044f45024d85524d751fa233904509 Mon Sep 17 00:00:00 2001 From: remillet Date: Fri, 31 Jul 2015 14:01:34 -0700 Subject: [PATCH] CSPACE-6281: Replacing refs of now deprecated ClientResponse with javax.ws.rs.core.Response. --- .../test/CollectionSpaceIntegrationTest.java | 13 ++ .../test/RelationIntegrationTest.java | 64 +++++---- .../test/CollectionSpacePerformanceTest.java | 13 ++ .../PerformanceTests/test/I1591Multiple.java | 10 +- .../PerformanceTests/test/I1591OneInst.java | 4 +- .../test/I1591OneInstOneClose.java | 30 ++-- .../test/PerformanceTest.java | 4 +- .../client/test/AcquisitionAuthRefsTest.java | 4 +- .../client/test/AcquisitionServiceTest.java | 4 +- .../nuxeo/UpdateObjectLocationBatchJob.java | 7 +- .../client/test/BlobAuthRefsTest.java | 8 +- .../client/AbstractPoxServiceClientImpl.java | 2 +- .../client/AbstractServiceClientImpl.java | 62 +++++++++ .../client/CollectionSpaceClient.java | 4 +- .../client/CollectionSpacePoxProxy.java | 2 +- .../client/test/AbstractServiceTestImpl.java | 26 ++-- .../services/client/test/BaseServiceTest.java | 35 ++++- .../test/CollectionObjectAuthRefsTest.java | 41 +++--- .../test/CollectionObjectSearchTest.java | 4 +- .../test/CollectionObjectServiceTest.java | 80 ++++++----- services/common/pom.xml | 6 + .../AbstractCollectionSpaceResourceImpl.java | 4 +- .../common/CollectionSpaceResource.java | 2 +- .../common/publicitem/PublicItemResource.java | 2 +- .../common/security/SecurityInterceptor.java | 16 +-- .../test/ConditioncheckAuthRefsTest.java | 23 ++-- .../test/ConditioncheckServiceTest.java | 4 +- .../client/test/ContactServiceTest.java | 39 +++--- .../client/test/ExhibitionServiceTest.java | 4 +- .../client/test/IntakeAuthRefsTest.java | 60 ++++---- .../test/OrganizationAuthRefDocsTest.java | 6 +- .../client/test/PersonAuthRefDocsTest.java | 22 +-- .../client/test/LoaninAuthRefsTest.java | 52 +++---- .../client/test/LoaninServiceTest.java | 4 +- .../client/test/LoanoutAuthRefsTest.java | 60 ++++---- .../client/test/LoanoutServiceTest.java | 39 +++--- .../client/test/MediaAuthRefsTest.java | 8 +- .../client/test/MediaServiceTest.java | 4 +- .../client/test/MovementAuthRefsTest.java | 75 ++++++---- .../client/test/MovementSortByTest.java | 4 +- .../client/test/ObjectExitAuthRefsTest.java | 8 +- .../client/test/OrgAuthorityAuthRefsTest.java | 10 +- .../client/PersonAuthorityClientUtils.java | 16 +++ .../test/PersonAuthoritySearchTest.java | 4 +- .../test/PersonAuthorityServicePerfTest.java | 4 +- .../test/PersonAuthorityServiceTest.java | 8 +- .../client/test/PublicItemServiceTest.java | 4 +- .../client/test/RelationServiceTest.java | 32 +++-- .../client/test/ReportServiceTest.java | 4 +- .../test/AuthenticationServiceTest.java | 129 ++++++++++-------- .../client/test/AuthorizationServiceTest.java | 114 +++++++++------- .../client/test/MultiTenancyTest.java | 4 +- .../test/ValuationcontrolServiceTest.java | 4 +- services/vocabulary/client/pom.xml | 6 + .../client/test/VocabularyServiceTest.java | 4 +- 55 files changed, 734 insertions(+), 468 deletions(-) diff --git a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java index 209cccf9f..c7b598880 100644 --- a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java +++ b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/CollectionSpaceIntegrationTest.java @@ -157,6 +157,19 @@ public abstract class CollectionSpaceIntegrationTest { return result; } + + String extractId(Response res) { + String result = null; + + MultivaluedMap mvm = res.getMetadata(); + String uri = (String) ((ArrayList) mvm.get("Location")).get(0); + verbose("extractId:uri=" + uri); + String[] segments = uri.split("/"); + result = segments[segments.length - 1]; + verbose("id=" + result); + + return result; + } /** * Extract part. diff --git a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/RelationIntegrationTest.java b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/RelationIntegrationTest.java index ba1707657..1c1c6af86 100644 --- a/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/RelationIntegrationTest.java +++ b/services/IntegrationTests/src/test/java/org/collectionspace/services/IntegrationTests/test/RelationIntegrationTest.java @@ -144,14 +144,14 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { PayloadOutputPart commonPart = multipart.addPart(collectionObjectClient.getCommonPartName(), co); // Make the "create" call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); String collectionObjectCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED .getStatusCode()); collectionObjectCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Create a new dimension record @@ -163,7 +163,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); dimensionCsid1 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Relate the entities, by creating a new relation object @@ -181,7 +181,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid1 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Now lock the dimension record. @@ -197,7 +197,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { try { Assert.assertEquals(response.getStatus(), Response.Status.BAD_REQUEST.getStatusCode()); } finally { - response.releaseConnection(); + response.close(); } // Also, try to soft-delete. This should also fail. @@ -215,14 +215,14 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { PayloadOutputPart commonPart = multipart.addPart(collectionObjectClient.getCommonPartName(), co); // Make the create call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); String collectionObjectCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED .getStatusCode()); collectionObjectCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } //Next, create the first of three Dimension records to relate the collection object record @@ -234,7 +234,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); dimensionCsid1 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } //Next, create a the second Dimension record @@ -246,7 +246,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); dimensionCsid2 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } //Next, create a the 3rd Dimension record @@ -258,7 +258,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); dimensionCsid3 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Relate the entities, by creating a new relation object @@ -277,7 +277,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid1 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Wait 1 second and create the second relationship try { @@ -302,7 +302,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid2 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Wait 1 second and create the 3rd relationship try { @@ -327,7 +327,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid3 = extractId(response); } finally { - response.releaseConnection(); + response.close(); } } @@ -344,14 +344,14 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make the create call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); String collectionObjectCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED .getStatusCode()); collectionObjectCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } //Next, create a Dimension record to relate the collection object to @@ -363,7 +363,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); dimensionCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } @SuppressWarnings("unused") @@ -381,16 +381,14 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { commonPart.setLabel(relationClient.getCommonPartName()); // Make the call to crate - ClientResponse relationresponse = relationClient.create(multipart); - @SuppressWarnings("unused") + Response relationresponse = relationClient.create(multipart); String relationCsid = null; try { Assert.assertEquals(relationresponse.getStatus(), Response.Status.BAD_REQUEST.getStatusCode()); relationCsid = extractId(response); } finally { - relationresponse.releaseConnection(); + relationresponse.close(); } - } @Test @@ -407,14 +405,14 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make the create call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); String collectionObjectCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED .getStatusCode()); collectionObjectCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } @@ -433,7 +431,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); intakeCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Lastly, relate the two entities, by creating a new relation object @@ -453,7 +451,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // @@ -471,7 +469,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(resultResponse.getStatus(), Response.Status.OK.getStatusCode()); relationList = resultResponse.getEntity(); } finally { - resultResponse.releaseConnection(); + resultResponse.close(); } // @@ -498,7 +496,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { } catch (Exception e) { e.printStackTrace(); } finally { - multiPartResponse.releaseConnection(); + multiPartResponse.close(); } Assert.assertEquals(resultRelation.getSubjectCsid(), collectionObjectCsid); @@ -530,7 +528,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make the create call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); String collectionObjectCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED @@ -538,7 +536,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { collectionObjectCsid = extractId(response); collectionObjectIDList.add(collectionObjectCsid); } finally { - response.releaseConnection(); + response.close(); } } @@ -552,13 +550,13 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { commonPart.setLabel(intakeClient.getCommonPartName()); // Make the call to create and check the response - ClientResponse response = intakeClient.create(multipart); + Response response = intakeClient.create(multipart); String intakeCsid = null; try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); intakeCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } // Lastly, relate the two entities, by creating a new relation object @@ -580,7 +578,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); relationCsid = extractId(response); } finally { - response.releaseConnection(); + response.close(); } } @@ -601,7 +599,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { Assert.assertEquals(resultResponse.getStatus(), Response.Status.OK.getStatusCode()); relationList = resultResponse.getEntity(); } finally { - resultResponse.releaseConnection(); + resultResponse.close(); } // @@ -627,7 +625,7 @@ public class RelationIntegrationTest extends CollectionSpaceIntegrationTest { } catch (Exception e) { e.printStackTrace(); } finally { - multiPartResponse.releaseConnection(); + multiPartResponse.close(); } Assert.assertEquals(resultRelation.getSubjectCsid(), intakeCsid); diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java index cdefbad9e..282013877 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/CollectionSpacePerformanceTest.java @@ -158,6 +158,19 @@ public abstract class CollectionSpacePerformanceTest { return result; } + + String extractId(Response res) { + String result = null; + + MultivaluedMap mvm = res.getMetadata(); + String uri = (String) ((ArrayList) mvm.get("Location")).get(0); + verbose("extractId:uri=" + uri); + String[] segments = uri.split("/"); + result = segments[segments.length - 1]; + verbose("id=" + result); + + return result; + } /** * Extract part. diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591Multiple.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591Multiple.java index d77d03b3d..5e6c9f67f 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591Multiple.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591Multiple.java @@ -91,15 +91,15 @@ public class I1591Multiple extends CollectionSpacePerformanceTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make a create call with that payload and check the response. - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); resourceId = extractId(response); - // Since failed Asserts can throw an Exception, ensure - // that the underlying HTTP connection is explicitly closed - // under all circumstances. + // Since failed Asserts can throw an Exception, ensure + // that the underlying HTTP connection is explicitly closed + // under all circumstances. } finally { - response.releaseConnection(); + response.close(); } // Return the ID of the newly-created CollectionObject resource. diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInst.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInst.java index 6dfb2d1b7..e20b3f77f 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInst.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInst.java @@ -92,7 +92,7 @@ public class I1591OneInst extends CollectionSpacePerformanceTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make a create call with that payload and check the response. - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); try { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); coList[i] = extractId(response); @@ -107,7 +107,7 @@ public class I1591OneInst extends CollectionSpacePerformanceTest { // that the underlying HTTP connection is explicitly closed // under all circumstances. } finally { - response.releaseConnection(); + response.close(); } if (logger.isDebugEnabled() == true) { diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInstOneClose.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInstOneClose.java index 1e7eccb08..e2418267c 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInstOneClose.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/I1591OneInstOneClose.java @@ -78,10 +78,8 @@ public class I1591OneInstOneClose extends CollectionSpacePerformanceTest { CollectionObjectClient collectionObjectClient = new CollectionObjectClient(); long identifier = 0; int i = 0; - ClientResponse response = null; try { - for (i = 0; i <= numberOfObjects; i++) { // Create a CollectionObject instance. @@ -95,31 +93,23 @@ public class I1591OneInstOneClose extends CollectionSpacePerformanceTest { commonPart.setLabel(collectionObjectClient.getCommonPartName()); // Make a create call with that payload and check the response. - response = collectionObjectClient.create(multipart); - - Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); - coList[i] = extractId(response); - - if (logger.isDebugEnabled() == true) { - logger.debug("Created CollectionObject #: " + i); + Response response = collectionObjectClient.create(multipart); + try { + Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); + coList[i] = extractId(response); + if (logger.isDebugEnabled() == true) { + logger.debug("Created CollectionObject #: " + i); + } + } finally { + response.close(); } - } - } catch (AssertionError e) { if (logger.isDebugEnabled() == true) { - logger.debug("FAILURE: Created " + i + - " of " + numberOfObjects + - " before failing."); + logger.debug("FAILURE: Created " + i + " of " + numberOfObjects + " before failing."); } Assert.assertTrue(false); - // Since failed Asserts can throw an Exception, ensure - // that the underlying HTTP connection is explicitly closed - // under all circumstances. - } finally { - response.releaseConnection(); } - } @AfterClass(alwaysRun=true) diff --git a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java index e1ec5a2c3..563577903 100644 --- a/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java +++ b/services/PerformanceTests/src/test/java/org/collectionspace/services/PerformanceTests/test/PerformanceTest.java @@ -174,7 +174,7 @@ public class PerformanceTest extends CollectionSpacePerformanceTest { PoxPayloadOut multipart) { String result = null; // Make the create call and check the response - ClientResponse response = collectionObjectClient.create(multipart); + Response response = collectionObjectClient.create(multipart); try { int responseStatus = response.getStatus(); if (logger.isDebugEnabled() == true) { @@ -187,7 +187,7 @@ public class PerformanceTest extends CollectionSpacePerformanceTest { Assert.assertEquals(response.getStatus(), Response.Status.CREATED.getStatusCode()); result = extractId(response); } finally { - response.releaseConnection(); + response.close(); } return result; diff --git a/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionAuthRefsTest.java b/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionAuthRefsTest.java index 4a6ebbc9a..fca3d9424 100644 --- a/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionAuthRefsTest.java +++ b/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionAuthRefsTest.java @@ -121,7 +121,7 @@ public class AcquisitionAuthRefsTest extends BaseServiceTest acquisitionSourcesRefNames); AcquisitionClient acquisitionClient = new AcquisitionClient(); - ClientResponse res = acquisitionClient.create(multipart); + Response res = acquisitionClient.create(multipart); int statusCode = res.getStatus(); @@ -156,7 +156,7 @@ public class AcquisitionAuthRefsTest extends BaseServiceTest PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); int statusCode = res.getStatus(); Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), diff --git a/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionServiceTest.java b/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionServiceTest.java index 18ed56d7e..14c08f283 100644 --- a/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionServiceTest.java +++ b/services/acquisition/client/src/test/java/org/collectionspace/services/client/test/AcquisitionServiceTest.java @@ -103,7 +103,7 @@ public class AcquisitionServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); int statusCode = res.getStatus(); @@ -791,7 +791,7 @@ public class AcquisitionServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); int statusCode = res.getStatus(); if (logger.isDebugEnabled()) { diff --git a/services/batch/service/src/main/java/org/collectionspace/services/batch/nuxeo/UpdateObjectLocationBatchJob.java b/services/batch/service/src/main/java/org/collectionspace/services/batch/nuxeo/UpdateObjectLocationBatchJob.java index 8a80800a0..0f2dddc9b 100644 --- a/services/batch/service/src/main/java/org/collectionspace/services/batch/nuxeo/UpdateObjectLocationBatchJob.java +++ b/services/batch/service/src/main/java/org/collectionspace/services/batch/nuxeo/UpdateObjectLocationBatchJob.java @@ -9,9 +9,12 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; + import javax.ws.rs.core.PathSegment; import javax.ws.rs.core.UriInfo; + import org.collectionspace.services.batch.AbstractBatchInvocable; +import org.collectionspace.services.batch.UriInfoImpl; import org.collectionspace.services.client.AbstractCommonListUtils; import org.collectionspace.services.client.CollectionObjectClient; import org.collectionspace.services.client.IQueryManager; @@ -25,7 +28,7 @@ import org.collectionspace.services.common.api.Tools; import org.collectionspace.services.common.invocable.InvocationResults; import org.collectionspace.services.jaxb.AbstractCommonList; import org.dom4j.DocumentException; -import org.jboss.resteasy.specimpl.UriInfoImpl; +//import org.jboss.resteasy.specimpl.UriInfoImpl; import org.jdom.Document; import org.jdom.Element; import org.jdom.Namespace; @@ -391,7 +394,7 @@ public class UpdateObjectLocationBatchJob extends AbstractBatchInvocable { return createUriInfo(""); } - protected UriInfo createUriInfo(String queryString) throws URISyntaxException { + private UriInfo createUriInfo(String queryString) throws URISyntaxException { URI absolutePath = new URI(""); URI baseUri = new URI(""); return new UriInfoImpl(absolutePath, baseUri, "", queryString, Collections.emptyList()); diff --git a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java index b8a547394..c91bcad95 100644 --- a/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java +++ b/services/blob/client/src/test/java/org/collectionspace/services/client/test/BlobAuthRefsTest.java @@ -110,7 +110,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { // references, and will refer to Person resources by their refNames. BlobClient blobClient = new BlobClient(); PoxPayloadOut multipart = createBlobInstance(depositorRefName); - ClientResponse res = blobClient.create(multipart); + Response res = blobClient.create(multipart); try { assertStatusCode(res, testName); if (knownResourceId == null) {// Store the ID returned from the first resource created for additional tests below. @@ -119,7 +119,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { blobIdsCreated.add(extractId(res));// Store the IDs from every resource created; delete on cleanup } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } } @@ -128,7 +128,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); // Create a temporary PersonAuthority resource, and its corresponding refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance(PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); try { assertStatusCode(res, "createPersonRefs (not a surefire test)"); personAuthCSID = extractId(res); @@ -145,7 +145,7 @@ public class BlobAuthRefsTest extends BaseServiceTest { depositorRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } } diff --git a/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java index b326a2cfb..91fc655d5 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AbstractPoxServiceClientImpl.java @@ -14,7 +14,7 @@ public abstract class AbstractPoxServiceClientImpl { @Override - public ClientResponse create(PoxPayloadOut xmlPayload) { + public Response create(PoxPayloadOut xmlPayload) { return getProxy().create(xmlPayload.getBytes()); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java index 2b85244e7..2b6d0c5f9 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/AbstractServiceClientImpl.java @@ -23,13 +23,19 @@ */ package org.collectionspace.services.client; +import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URL; import java.util.Properties; import javax.ws.rs.PathParam; +import javax.ws.rs.client.ClientBuilder; +import javax.ws.rs.client.ClientRequestContext; +import javax.ws.rs.client.ClientRequestFilter; +import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.core.Response; +import javax.xml.bind.DatatypeConverter; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.UsernamePasswordCredentials; @@ -40,12 +46,48 @@ import org.collectionspace.services.jaxb.AbstractCommonList; import org.jboss.resteasy.client.ClientResponse; //import org.collectionspace.services.common.context.ServiceContext; import org.jboss.resteasy.client.ProxyFactory; import org.jboss.resteasy.client.core.executors.ApacheHttpClient4Executor; +import org.jboss.resteasy.client.jaxrs.ResteasyClient; //import org.jboss.resteasy.client.core.executors.ApacheHttpClientExecutor; import org.jboss.resteasy.plugins.providers.RegisterBuiltin; import org.jboss.resteasy.spi.ResteasyProviderFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Private class for JAX-RS authentication + */ +class Authenticator implements ClientRequestFilter { + + private final String user; + private final String password; + + public Authenticator(String user, String password) { + this.user = user; + this.password = password; + } + + @Override + public void filter(ClientRequestContext requestContext) throws IOException { + MultivaluedMap headers = requestContext.getHeaders(); + final String basicAuthentication = getBasicAuthentication(); + headers.add("Authorization", basicAuthentication); + + } + + private String getBasicAuthentication() { + String result = null; + String token = this.user + ":" + this.password; + try { + result = "Basic " + DatatypeConverter.printBase64Binary(token.getBytes("UTF-8")); + } catch (UnsupportedEncodingException ex) { + throw new IllegalStateException("Cannot encode with UTF-8", ex); + } + + return result; + } +} + + /** * BaseServiceClient is an abstract base client of all service clients FIXME: * http://issues.collectionspace.org/browse/CSPACE-1684 @@ -405,6 +447,26 @@ public abstract class AbstractServiceClientImpl proxyClass = this.getProxyClass(); + + if (useAuth()) { + String user = properties.getProperty(USER_PROPERTY); + String password = properties.getProperty(PASSWORD_PROPERTY); + client = (ResteasyClient)ClientBuilder.newClient().register(new Authenticator(user, password)); + } else { + client = (ResteasyClient)ClientBuilder.newClient(); + } + + proxy = client.target(urlString).proxy(proxyClass); + } + + /** + * allow to reset proxy as per security needs + */ + @Deprecated + public void _setProxy() { Class

proxyClass = this.getProxyClass(); if (useAuth()) { proxy = ProxyFactory.create(proxyClass, diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java index cf960100f..5f3e55772 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpaceClient.java @@ -178,7 +178,7 @@ public interface CollectionSpaceClient create(REQUEST_TYPE payload); + public Response create(REQUEST_TYPE payload); public ClientResponse read(String csid); @@ -234,5 +234,5 @@ public interface CollectionSpaceClient delete(String csid); + public Response delete(String csid); } diff --git a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java index 5fd88ad33..e8aade4ea 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java +++ b/services/client/src/main/java/org/collectionspace/services/client/CollectionSpacePoxProxy.java @@ -18,7 +18,7 @@ public interface CollectionSpacePoxProxy extends // (C)reate @POST - ClientResponse create(byte[] payload); + Response create(byte[] payload); // (R)ead @GET diff --git a/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTestImpl.java b/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTestImpl.java index 9a1abdaaf..6d6550f44 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTestImpl.java +++ b/services/client/src/main/java/org/collectionspace/services/client/test/AbstractServiceTestImpl.java @@ -156,7 +156,7 @@ public abstract class AbstractServiceTestImpl res = client.create(payload); + Response res = client.create(payload); try { int statusCode = res.getStatus(); if (logger.isDebugEnabled()) { @@ -171,7 +171,7 @@ public abstract class AbstractServiceTestImpl res = client.delete(getKnowResourceId()); - int statusCode = res.getStatus(); - + Response res = client.delete(getKnowResourceId()); + int statusCode; + try { + statusCode = res.getStatus(); + } finally { + res.close(); + } + // Check the status code of the response: does it match // the expected response(s)? if (logger.isDebugEnabled()) { @@ -257,8 +262,13 @@ public abstract class AbstractServiceTestImpl res = client.delete(NON_EXISTENT_ID); - int statusCode = res.getStatus(); + Response res = client.delete(NON_EXISTENT_ID); + int statusCode; + try { + statusCode = res.getStatus(); + } finally { + res.close(); + } // Check the status code of the response: does it match // the expected response(s)? @@ -999,7 +1009,7 @@ public abstract class AbstractServiceTestImpl res = client.create(payload); + Response res = client.create(payload); int statusCode = res.getStatus(); Assert.assertEquals(statusCode, STATUS_CREATED); diff --git a/services/client/src/main/java/org/collectionspace/services/client/test/BaseServiceTest.java b/services/client/src/main/java/org/collectionspace/services/client/test/BaseServiceTest.java index 383bdcd46..6852ab9c8 100644 --- a/services/client/src/main/java/org/collectionspace/services/client/test/BaseServiceTest.java +++ b/services/client/src/main/java/org/collectionspace/services/client/test/BaseServiceTest.java @@ -399,6 +399,27 @@ public abstract class BaseServiceTest { } return id; } + + /** + * Extract id. + * + * @param res the res + * @return the string + */ + static protected String extractId(Response res) { + MultivaluedMap mvm = res.getMetadata(); + String uri = (String) ((List) mvm.get("Location")).get(0); + if (logger.isDebugEnabled()) { + logger.debug("extractId:uri=" + uri); + } + String[] segments = uri.split("/"); + String id = segments[segments.length - 1]; + if (logger.isDebugEnabled()) { + logger.debug("id=" + id); + } + return id; + } + /** * Tests can override this method to customize their identifiers. @@ -668,6 +689,18 @@ public abstract class BaseServiceTest { return statusCode; } + + public int assertStatusCode(Response res, String testName) { + int statusCode = res.getStatus(); + + // Check the status code of the response: does it match the expected response(s)? + logger.debug(testName + ": status = " + statusCode); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + + return statusCode; + } public static String getUTF8DataFragment() { return UTF8_DATA_FRAGMENT; @@ -729,7 +762,7 @@ public abstract class BaseServiceTest { // for (String resourceId : allResourceIdsCreated) { // Note: Any non-success responses are ignored and not reported. - client.delete(resourceId).releaseConnection(); + client.delete(resourceId).close(); } } diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java index 4fe61a3fb..dc5eeb6a6 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectAuthRefsTest.java @@ -190,14 +190,14 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest res = collectionObjectClient.create(multipart); + Response res = collectionObjectClient.create(multipart); String newCsid = null; try { assertStatusCode(res, testName); newCsid = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } // Store the ID returned from the first resource created @@ -225,14 +225,17 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); - personAuthRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); + try { + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + personAuthRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); + } finally { + res.close(); + } } /** @@ -325,14 +328,18 @@ public class CollectionObjectAuthRefsTest extends BaseServiceTest res = orgAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - orgAuthCSID = extractId(res); - orgAuthRefName = OrgAuthorityClientUtils.getAuthorityRefName(orgAuthCSID, null); + Response res = orgAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + orgAuthCSID = extractId(res); + orgAuthRefName = OrgAuthorityClientUtils.getAuthorityRefName(orgAuthCSID, null); + } finally { + res.close(); + } } /** diff --git a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java index 28df7e0fb..94d44e921 100644 --- a/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java +++ b/services/collectionobject/client/src/test/java/org/collectionspace/services/client/test/CollectionObjectSearchTest.java @@ -461,7 +461,7 @@ public class CollectionObjectSearchTest extends BaseServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); Assert.assertEquals(statusCode, testExpectedStatusCode); @@ -472,7 +472,7 @@ public class CollectionObjectSearchTest extends BaseServiceTest res = client.create(multipart); - int statusCode = res.getStatus(); - - // Read the response and verify that the create attempt failed. - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + statusCode); + Response res = client.create(multipart); + try { + int statusCode = res.getStatus(); + // Read the response and verify that the create attempt failed. + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, Response.Status.BAD_REQUEST.getStatusCode()); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, Response.Status.BAD_REQUEST.getStatusCode()); - + // FIXME: Consider splitting off the following into its own test method. // Build a payload with invalid content, by setting a value to the @@ -507,18 +510,21 @@ public class CollectionObjectServiceTest extends AbstractPoxServiceTestImpl - public boolean allowAnonymousAccess(HttpRequest request, Method method); + public boolean allowAnonymousAccess(HttpRequest request, Class resourceClass); } diff --git a/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java b/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java index f105b0c11..7d6138701 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java +++ b/services/common/src/main/java/org/collectionspace/services/common/publicitem/PublicItemResource.java @@ -77,7 +77,7 @@ public class PublicItemResource extends NuxeoBasedResource { @Override public boolean allowAnonymousAccess(HttpRequest request, - Method method) { + Class resourceClass) { return true; } diff --git a/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java b/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java index 2f1659592..8e907a1d1 100644 --- a/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java +++ b/services/common/src/main/java/org/collectionspace/services/common/security/SecurityInterceptor.java @@ -89,13 +89,13 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn private static final String ERROR_NUXEO_LOGOUT = "Attempt to logout when Nuxeo login context was null"; private static final String ERROR_UNBALANCED_LOGINS = "The number of Logins vs Logouts to the Nuxeo framework was unbalanced."; - private boolean isAnonymousRequest(HttpRequest request, Method resourceMethod) { + private boolean isAnonymousRequest(HttpRequest request, ResourceMethodInvoker resourceMethodInvoker) { boolean result = false; - Class resourceClass = resourceMethod.getClass(); + Class resourceClass = resourceMethodInvoker.getResourceClass(); try { CollectionSpaceResource resourceInstance = (CollectionSpaceResource)resourceClass.newInstance(); - result = resourceInstance.allowAnonymousAccess(request, resourceMethod); + result = resourceInstance.allowAnonymousAccess(request, resourceClass); } catch (InstantiationException e) { logger.error("isAnonymousRequest: ", e); } catch (IllegalAccessException e) { @@ -104,7 +104,7 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn return result; } - + /* (non-Javadoc) * @see org.jboss.resteasy.spi.interception.PreProcessInterceptor#preProcess(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.core.ResourceMethod) */ @@ -115,10 +115,10 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn Method resourceMethod = resourceMethodInvoker.getMethod(); try { - if (isAnonymousRequest(request, resourceMethod) == true) { + if (isAnonymousRequest(request, resourceMethodInvoker) == true) { // We don't need to check credentials for anonymous requests. Just login to Nuxeo and // exit - nuxeoPreProcess(request, resourceMethod); + nuxeoPreProcess(request, resourceMethodInvoker); return result; } @@ -184,7 +184,7 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn // // Login to Nuxeo // - nuxeoPreProcess(request, resourceMethod); + nuxeoPreProcess(request, resourceMethodInvoker); // // We've passed all the checks. Now just log the results @@ -269,7 +269,7 @@ public class SecurityInterceptor implements PreProcessInterceptor, PostProcessIn // // Nuxeo login support // - public ServerResponse nuxeoPreProcess(HttpRequest request, Method resourceMethod) + public ServerResponse nuxeoPreProcess(HttpRequest request, ResourceMethodInvoker resourceMethodInvoker) throws Failure, CSWebApplicationException { try { nuxeoLogin(); diff --git a/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckAuthRefsTest.java b/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckAuthRefsTest.java index 9071f3534..7d8a018d1 100644 --- a/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckAuthRefsTest.java +++ b/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckAuthRefsTest.java @@ -113,7 +113,7 @@ public class ConditioncheckAuthRefsTest extends BaseServiceTest response = conditioncheckClient.create(multipart); + Response response = conditioncheckClient.create(multipart); int statusCode = response.getStatus(); try { // Check the status code of the response: does it match @@ -142,27 +142,28 @@ public class ConditioncheckAuthRefsTest extends BaseServiceTest res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); - // Create temporary Person resources, and their corresponding refNames // by which they can be identified. String csid = createPerson("Carrie", "ConditionChecker1", "carrieConditionChecker", authRefName); diff --git a/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckServiceTest.java b/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckServiceTest.java index 68d2919e2..e8cd3b933 100644 --- a/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckServiceTest.java +++ b/services/conditioncheck/client/src/test/java/org/collectionspace/services/client/test/ConditioncheckServiceTest.java @@ -105,7 +105,7 @@ public class ConditioncheckServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); @@ -125,7 +125,7 @@ public class ConditioncheckServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); - - int statusCode = res.getStatus(); - - // Check the status code of the response: does it match - // the expected response(s)? - // - // Specifically: - // Does it fall within the set of valid status codes? - // Does it exactly match the expected status code? - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + statusCode); + Response res = client.create(multipart); + String newId = null; + try { + int statusCode = res.getStatus(); + + // Check the status code of the response: does it match + // the expected response(s)? + // + // Specifically: + // Does it fall within the set of valid status codes? + // Does it exactly match the expected status code? + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + newId = extractId(res); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, testExpectedStatusCode); // Store the ID returned from the first resource created // for additional tests below. if (knownResourceId == null) { - knownResourceId = extractId(res); + knownResourceId = newId; if (logger.isDebugEnabled()) { logger.debug(testName + ": knownResourceId=" + knownResourceId); } @@ -141,7 +146,7 @@ public class ContactServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); @@ -115,7 +115,7 @@ public class ExhibitionServiceTest extends AbstractPoxServiceTestImpl { conditionCheckerOrAssessorRefName, insurerRefName, valuerRefName ); - ClientResponse res = intakeClient.create(multipart); - int statusCode = res.getStatus(); - - // Check the status code of the response: does it match - // the expected response(s)? - // - // Specifically: - // Does it fall within the set of valid status codes? - // Does it exactly match the expected status code? - if(logger.isDebugEnabled()){ - logger.debug(testName + ": status = " + statusCode); + String newId = null; + Response res = intakeClient.create(multipart); + try { + int statusCode = res.getStatus(); + // Check the status code of the response: does it match + // the expected response(s)? + // + // Specifically: + // Does it fall within the set of valid status codes? + // Does it exactly match the expected status code? + if(logger.isDebugEnabled()){ + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + newId = extractId(res); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, testExpectedStatusCode); // Store the ID returned from the first resource created // for additional tests below. if (knownResourceId == null){ - knownResourceId = extractId(res); + knownResourceId = newId; if (logger.isDebugEnabled()) { logger.debug(testName + ": knownResourceId=" + knownResourceId); } @@ -159,23 +164,28 @@ public class IntakeAuthRefsTest extends BaseServiceTest { // Store the IDs from every resource created by tests, // so they can be deleted after tests have been run. - intakeIdsCreated.add(extractId(res)); + intakeIdsCreated.add(newId); } - protected void createPersonRefs(){ + protected void createPersonRefs() { + // + // First, create a new person authority + // PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); - String csid = createPerson("Olivier", "Owner", "olivierOwner", authRefName); currentOwnerRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null); personIdsCreated.add(csid); diff --git a/services/intake/client/src/test/java/org/collectionspace/services/client/test/OrganizationAuthRefDocsTest.java b/services/intake/client/src/test/java/org/collectionspace/services/client/test/OrganizationAuthRefDocsTest.java index be59cc252..02284dbd9 100644 --- a/services/intake/client/src/test/java/org/collectionspace/services/client/test/OrganizationAuthRefDocsTest.java +++ b/services/intake/client/src/test/java/org/collectionspace/services/client/test/OrganizationAuthRefDocsTest.java @@ -134,7 +134,7 @@ public class OrganizationAuthRefDocsTest extends BaseServiceTest res = intakeClient.create(multipart); + Response res = intakeClient.create(multipart); try { int statusCode = res.getStatus(); @@ -151,7 +151,7 @@ public class OrganizationAuthRefDocsTest extends BaseServiceTest res = orgAuthClient.create(multipart); + Response res = orgAuthClient.create(multipart); int statusCode = res.getStatus(); Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), diff --git a/services/intake/client/src/test/java/org/collectionspace/services/client/test/PersonAuthRefDocsTest.java b/services/intake/client/src/test/java/org/collectionspace/services/client/test/PersonAuthRefDocsTest.java index d1fd4b6a6..9f81cccb3 100644 --- a/services/intake/client/src/test/java/org/collectionspace/services/client/test/PersonAuthRefDocsTest.java +++ b/services/intake/client/src/test/java/org/collectionspace/services/client/test/PersonAuthRefDocsTest.java @@ -134,7 +134,7 @@ public class PersonAuthRefDocsTest extends BaseServiceTest { insurerRefName, valuerRefName); - ClientResponse res = intakeClient.create(multipart); + Response res = intakeClient.create(multipart); try { int statusCode = res.getStatus(); @@ -151,7 +151,7 @@ public class PersonAuthRefDocsTest extends BaseServiceTest { invalidStatusCodeMessage(testRequestType, statusCode)); Assert.assertEquals(statusCode, testExpectedStatusCode); } finally { - res.releaseConnection(); + res.close(); } // Store the ID returned from the first resource created @@ -175,13 +175,16 @@ public class PersonAuthRefDocsTest extends BaseServiceTest { PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); @@ -220,7 +223,6 @@ public class PersonAuthRefDocsTest extends BaseServiceTest { } Assert.assertNotNull(valuerRefName); personIdsCreated.add(csid); - } protected String createPerson(String firstName, String surName, String shortId, String authRefName) { diff --git a/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninAuthRefsTest.java b/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninAuthRefsTest.java index 9837fe0a1..7322af4d2 100644 --- a/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninAuthRefsTest.java +++ b/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninAuthRefsTest.java @@ -127,9 +127,10 @@ public class LoaninAuthRefsTest extends BaseServiceTest { lendersContactRefName, borrowersContactRefName, borrowersAuthorizerRefName); - ClientResponse response = loaninClient.create(multipart); - int statusCode = response.getStatus(); + String newId = null; + Response response = loaninClient.create(multipart); try { + int statusCode = response.getStatus(); // Check the status code of the response: does it match // the expected response(s)? // @@ -142,22 +143,23 @@ public class LoaninAuthRefsTest extends BaseServiceTest { Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), invalidStatusCodeMessage(testRequestType, statusCode)); Assert.assertEquals(statusCode, testExpectedStatusCode); - - // Store the ID returned from the first resource created - // for additional tests below. - if (knownResourceId == null){ - knownResourceId = extractId(response); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": knownResourceId=" + knownResourceId); - } - } - - // Store the IDs from every resource created by tests, - // so they can be deleted after tests have been run. - loaninIdsCreated.add(extractId(response)); + newId = extractId(response); } finally { - response.releaseConnection(); + response.close(); } + + // Store the ID returned from the first resource created + // for additional tests below. + if (knownResourceId == null){ + knownResourceId = newId; + if (logger.isDebugEnabled()) { + logger.debug(testName + ": knownResourceId=" + knownResourceId); + } + } + + // Store the IDs from every resource created by tests, + // so they can be deleted after tests have been run. + loaninIdsCreated.add(newId); } protected void createPersonRefs(){ @@ -167,13 +169,17 @@ public class LoaninAuthRefsTest extends BaseServiceTest { // refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); diff --git a/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninServiceTest.java b/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninServiceTest.java index 9cf4a86db..75a223331 100644 --- a/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninServiceTest.java +++ b/services/loanin/client/src/test/java/org/collectionspace/services/client/test/LoaninServiceTest.java @@ -105,7 +105,7 @@ public class LoaninServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); @@ -125,7 +125,7 @@ public class LoaninServiceTest extends AbstractPoxServiceTestImpl { borrowersContactRefName, lendersAuthorizerRefName, lendersContactRefName); - ClientResponse res = loanoutClient.create(multipart); - int statusCode = res.getStatus(); - - // Check the status code of the response: does it match - // the expected response(s)? - // - // Specifically: - // Does it fall within the set of valid status codes? - // Does it exactly match the expected status code? - if(logger.isDebugEnabled()){ - logger.debug(testName + ": status = " + statusCode); + String newId = null; + Response res = loanoutClient.create(multipart); + try { + int statusCode = res.getStatus(); + + // Check the status code of the response: does it match + // the expected response(s)? + // + // Specifically: + // Does it fall within the set of valid status codes? + // Does it exactly match the expected status code? + if(logger.isDebugEnabled()){ + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + newId = extractId(res); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, testExpectedStatusCode); // Store the ID returned from the first resource created // for additional tests below. if (knownResourceId == null){ - knownResourceId = extractId(res); + knownResourceId = newId; if (logger.isDebugEnabled()) { logger.debug(testName + ": knownResourceId=" + knownResourceId); } @@ -155,7 +161,7 @@ public class LoanoutAuthRefsTest extends BaseServiceTest { // Store the IDs from every resource created by tests, // so they can be deleted after tests have been run. - loanoutIdsCreated.add(extractId(res)); + loanoutIdsCreated.add(newId); } protected void createPersonRefs(){ @@ -165,22 +171,23 @@ public class LoanoutAuthRefsTest extends BaseServiceTest { // refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); // Create temporary Person resources, and their corresponding refNames // by which they can be identified. - String csid = ""; - - csid = createPerson("Betty", "Borrower", "bettyBorrower", authRefName); + String csid = createPerson("Betty", "Borrower", "bettyBorrower", authRefName); personIdsCreated.add(csid); borrowerRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null); @@ -195,7 +202,6 @@ public class LoanoutAuthRefsTest extends BaseServiceTest { csid = createPerson("Larry", "Lenderscontact", "larryLenderscontact", authRefName); personIdsCreated.add(csid); lendersContactRefName = PersonAuthorityClientUtils.getPersonRefName(personAuthCSID, csid, null); - } protected String createPerson(String firstName, String surName, String shortId, String authRefName ) { diff --git a/services/loanout/client/src/test/java/org/collectionspace/services/client/test/LoanoutServiceTest.java b/services/loanout/client/src/test/java/org/collectionspace/services/client/test/LoanoutServiceTest.java index ce50a7b9b..41d46a08c 100644 --- a/services/loanout/client/src/test/java/org/collectionspace/services/client/test/LoanoutServiceTest.java +++ b/services/loanout/client/src/test/java/org/collectionspace/services/client/test/LoanoutServiceTest.java @@ -98,27 +98,32 @@ public class LoanoutServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); - - int statusCode = res.getStatus(); - - // Check the status code of the response: does it match - // the expected response(s)? - // - // Specifically: - // Does it fall within the set of valid status codes? - // Does it exactly match the expected status code? - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + statusCode); + String newId = null; + Response res = client.create(multipart); + try { + int statusCode = res.getStatus(); + + // Check the status code of the response: does it match + // the expected response(s)? + // + // Specifically: + // Does it fall within the set of valid status codes? + // Does it exactly match the expected status code? + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + newId = extractId(res); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, testExpectedStatusCode); // Store the ID returned from the first resource created // for additional tests below. if (knownResourceId == null) { - knownResourceId = extractId(res); + knownResourceId = newId; if (logger.isDebugEnabled()) { logger.debug(testName + ": knownResourceId=" + knownResourceId); } @@ -126,7 +131,7 @@ public class LoanoutServiceTest extends AbstractPoxServiceTestImpl { // references, and will refer to Person resources by their refNames. MediaClient mediaClient = new MediaClient(); PoxPayloadOut multipart = createMediaInstance(depositorRefName, "media.title-" + identifier); - ClientResponse res = mediaClient.create(multipart); + Response res = mediaClient.create(multipart); try { assertStatusCode(res, testName); if (knownResourceId == null) {// Store the ID returned from the first resource created for additional tests below. @@ -118,7 +118,7 @@ public class MediaAuthRefsTest extends BaseServiceTest { mediaIdsCreated.add(extractId(res));// Store the IDs from every resource created; delete on cleanup } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } } @@ -128,13 +128,13 @@ public class MediaAuthRefsTest extends BaseServiceTest { // Create a temporary PersonAuthority resource, and its corresponding refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); try { assertStatusCode(res, "createPersonRefs (not a surefire test)"); personAuthCSID = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); diff --git a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java index d491d90d6..347757dc1 100644 --- a/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java +++ b/services/media/client/src/test/java/org/collectionspace/services/client/test/MediaServiceTest.java @@ -116,14 +116,14 @@ public class MediaServiceTest extends AbstractPoxServiceTestImpl mediaRes = client.create(multipart); + Response mediaRes = client.create(multipart); String mediaCsid = null; try { assertStatusCode(mediaRes, testName); mediaCsid = extractId(mediaRes); } finally { if (mediaRes != null) { - mediaRes.releaseConnection(); + mediaRes.close(); } } // diff --git a/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementAuthRefsTest.java b/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementAuthRefsTest.java index 325266c82..73f373e16 100644 --- a/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementAuthRefsTest.java +++ b/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementAuthRefsTest.java @@ -120,26 +120,31 @@ public class MovementAuthRefsTest extends BaseServiceTest { "movementReferenceNumber-" + identifier, GregorianCalendarDateTimeUtils.timestampUTC(), movementContactRefName); - ClientResponse res = movementClient.create(multipart); + String newId = null; + Response res = movementClient.create(multipart); int statusCode = res.getStatus(); - - // Check the status code of the response: does it match - // the expected response(s)? - // - // Specifically: - // Does it fall within the set of valid status codes? - // Does it exactly match the expected status code? - if(logger.isDebugEnabled()){ - logger.debug(testName + ": status = " + statusCode); + try { + // Check the status code of the response: does it match + // the expected response(s)? + // + // Specifically: + // Does it fall within the set of valid status codes? + // Does it exactly match the expected status code? + if(logger.isDebugEnabled()){ + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, testExpectedStatusCode); + newId = extractId(res); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, testExpectedStatusCode); // Store the ID returned from the first resource created // for additional tests below. if (knownResourceId == null){ - knownResourceId = extractId(res); + knownResourceId = newId; if (logger.isDebugEnabled()) { logger.debug(testName + ": knownResourceId=" + knownResourceId); } @@ -147,23 +152,26 @@ public class MovementAuthRefsTest extends BaseServiceTest { // Store the IDs from every resource created by tests, // so they can be deleted after tests have been run. - movementIdsCreated.add(extractId(res)); + movementIdsCreated.add(newId); } protected void createPersonRefs(){ - PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); // Create a temporary PersonAuthority resource, and its corresponding // refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance( PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); @@ -175,6 +183,8 @@ public class MovementAuthRefsTest extends BaseServiceTest { } protected String createPerson(String firstName, String surName, String shortId, String authRefName ) { + String result = null; + PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); Map personInfo = new HashMap(); personInfo.put(PersonJAXBSchema.FORE_NAME, firstName); @@ -189,13 +199,18 @@ public class MovementAuthRefsTest extends BaseServiceTest { PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonInstance(personAuthCSID, authRefName, personInfo, personTerms, personAuthClient.getItemCommonPartName()); - ClientResponse res = personAuthClient.createItem(personAuthCSID, multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - return extractId(res); + Response res = personAuthClient.createItem(personAuthCSID, multipart); + try { + int statusCode = res.getStatus(); + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + result = extractId(res); + } finally { + res.close(); + } + + return result; } // Success outcomes diff --git a/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementSortByTest.java b/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementSortByTest.java index d4886b29f..54841b467 100644 --- a/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementSortByTest.java +++ b/services/movement/client/src/test/java/org/collectionspace/services/client/test/MovementSortByTest.java @@ -609,7 +609,7 @@ public class MovementSortByTest extends BaseServiceTest { PoxPayloadOut multipart = createMovementInstance(createIdentifier(), movementNote, locationDate); MovementClient client = new MovementClient(); - ClientResponse res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); // Store the IDs from every resource created by tests, @@ -617,7 +617,7 @@ public class MovementSortByTest extends BaseServiceTest { result = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } diff --git a/services/objectexit/client/src/test/java/org/collectionspace/services/client/test/ObjectExitAuthRefsTest.java b/services/objectexit/client/src/test/java/org/collectionspace/services/client/test/ObjectExitAuthRefsTest.java index c517d0b83..a98bbf47a 100644 --- a/services/objectexit/client/src/test/java/org/collectionspace/services/client/test/ObjectExitAuthRefsTest.java +++ b/services/objectexit/client/src/test/java/org/collectionspace/services/client/test/ObjectExitAuthRefsTest.java @@ -124,7 +124,7 @@ public class ObjectExitAuthRefsTest extends BaseServiceTest ObjectExitClient objectexitClient = new ObjectExitClient(); PoxPayloadOut multipart = createObjectExitInstance(depositorRefName, "exitNumber-" + identifier, CURRENT_DATE_UTC); - ClientResponse res = objectexitClient.create(multipart); + Response res = objectexitClient.create(multipart); try { assertStatusCode(res, testName); if (knownResourceId == null) {// Store the ID returned from the first resource created for additional tests below. @@ -132,7 +132,7 @@ public class ObjectExitAuthRefsTest extends BaseServiceTest } } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } objectexitIdsCreated.add(extractId(res));// Store the IDs from every resource created; delete on cleanup @@ -142,13 +142,13 @@ public class ObjectExitAuthRefsTest extends BaseServiceTest PersonAuthorityClient personAuthClient = new PersonAuthorityClient(); // Create a temporary PersonAuthority resource, and its corresponding refName by which it can be identified. PoxPayloadOut multipart = PersonAuthorityClientUtils.createPersonAuthorityInstance(PERSON_AUTHORITY_NAME, PERSON_AUTHORITY_NAME, personAuthClient.getCommonPartName()); - ClientResponse res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); try { assertStatusCode(res, "createPersonRefs (not a surefire test)"); personAuthCSID = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); diff --git a/services/organization/client/src/test/java/org/collectionspace/services/client/test/OrgAuthorityAuthRefsTest.java b/services/organization/client/src/test/java/org/collectionspace/services/client/test/OrgAuthorityAuthRefsTest.java index 7e5f25e58..9b3b6275f 100644 --- a/services/organization/client/src/test/java/org/collectionspace/services/client/test/OrgAuthorityAuthRefsTest.java +++ b/services/organization/client/src/test/java/org/collectionspace/services/client/test/OrgAuthorityAuthRefsTest.java @@ -148,7 +148,7 @@ public class OrgAuthorityAuthRefsTest extends BaseServiceTest res = orgAuthClient.create(multipart); + Response res = orgAuthClient.create(multipart); try { int statusCode = res.getStatus(); // Check the status code of the response: does it match @@ -168,11 +168,11 @@ public class OrgAuthorityAuthRefsTest extends BaseServiceTest res = personAuthClient.create(multipart); + Response res = personAuthClient.create(multipart); try { int statusCode = res.getStatus(); Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), @@ -225,7 +225,7 @@ public class OrgAuthorityAuthRefsTest extends BaseServiceTest mvm = res.getMetadata(); + // FIXME: This may throw an NPE if the Location: header isn't present + String uri = (String) ((ArrayList) mvm.get("Location")).get(0); + if(logger.isDebugEnabled()){ + logger.debug("extractId:uri=" + uri); + } + String[] segments = uri.split("/"); + String id = segments[segments.length - 1]; + if(logger.isDebugEnabled()){ + logger.debug("id=" + id); + } + return id; + } + public static String extractId(ClientResponse res) { MultivaluedMap mvm = res.getMetadata(); // FIXME: This may throw an NPE if the Location: header isn't present @@ -384,6 +399,7 @@ public class PersonAuthorityClientUtils { return id; } + /** * 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 diff --git a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthoritySearchTest.java b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthoritySearchTest.java index a9b1cf7dc..5d0013f6d 100644 --- a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthoritySearchTest.java +++ b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthoritySearchTest.java @@ -559,13 +559,13 @@ public class PersonAuthoritySearchTest extends BaseServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); newID = PersonAuthorityClientUtils.extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } // Store the refname from the first resource created diff --git a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServicePerfTest.java b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServicePerfTest.java index 158326ae1..217e1722e 100644 --- a/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServicePerfTest.java +++ b/services/person/client/src/test/java/org/collectionspace/services/client/test/PersonAuthorityServicePerfTest.java @@ -162,14 +162,14 @@ public class PersonAuthorityServicePerfTest extends BaseServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); newID = PersonAuthorityClientUtils.extractId(res); logger.info("{}: succeeded.", testName); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } // Store the refname from the first resource created 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 e86d8265f..1269e3c17 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 @@ -151,13 +151,13 @@ public class PersonAuthorityServiceTest extends AbstractAuthorityServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); newID = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } // Save values for additional tests @@ -399,7 +399,7 @@ public class PersonAuthorityServiceTest extends AbstractAuthorityServiceTest res = client.create(multipart); + Response res = client.create(multipart); // Check the status code of the response: does it match // the expected response(s)? @@ -407,7 +407,7 @@ public class PersonAuthorityServiceTest extends AbstractAuthorityServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); @@ -133,7 +133,7 @@ public class PublicItemServiceTest extends newID = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } diff --git a/services/relation/client/src/test/java/org/collectionspace/services/client/test/RelationServiceTest.java b/services/relation/client/src/test/java/org/collectionspace/services/client/test/RelationServiceTest.java index f93001a0a..18a92de8d 100644 --- a/services/relation/client/src/test/java/org/collectionspace/services/client/test/RelationServiceTest.java +++ b/services/relation/client/src/test/java/org/collectionspace/services/client/test/RelationServiceTest.java @@ -103,16 +103,19 @@ public class RelationServiceTest extends AbstractPoxServiceTestImpl res = personAuthClient.create(multipart); - int statusCode = res.getStatus(); - - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, STATUS_CREATED); - personAuthCSID = extractId(res); - + Response res = personAuthClient.create(multipart); + try { + int statusCode = res.getStatus(); + + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, STATUS_CREATED); + personAuthCSID = extractId(res); + } finally { + res.close(); + } + String authRefName = PersonAuthorityClientUtils.getAuthorityRefName(personAuthCSID, null); - String csid = createPerson("Sam", "Subject", "samSubject", authRefName); Assert.assertNotNull(csid); samSubjectPersonCSID = csid; @@ -166,9 +169,14 @@ public class RelationServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); - int statusCode = res.getStatus(); - + Response res = client.create(multipart); + int statusCode; + try { + statusCode = res.getStatus(); + } finally { + res.close(); + } + // Check the status code of the response: does it match // the expected response(s)? // diff --git a/services/report/client/src/test/java/org/collectionspace/services/client/test/ReportServiceTest.java b/services/report/client/src/test/java/org/collectionspace/services/client/test/ReportServiceTest.java index ad6852558..03cf45177 100644 --- a/services/report/client/src/test/java/org/collectionspace/services/client/test/ReportServiceTest.java +++ b/services/report/client/src/test/java/org/collectionspace/services/client/test/ReportServiceTest.java @@ -88,7 +88,7 @@ public class ReportServiceTest extends AbstractPoxServiceTestImpl res = acquisitionClient.create(poxPayloadOut); + Response res = acquisitionClient.create(poxPayloadOut); try { setupCreate(); int statusCode = res.getStatus(); @@ -104,7 +104,7 @@ public class ReportServiceTest extends AbstractPoxServiceTestImpl res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug("create: status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug("create: status = " + res.getStatus()); + } + //so it does not have any permissions out-of-the-box to create a + //collection object + Assert.assertEquals(res.getStatus(), + Response.Status.FORBIDDEN.getStatusCode(), "expected " + + Response.Status.FORBIDDEN.getStatusCode()); + + // Store the ID returned from this create operation for additional tests + // below. + } finally { + res.close(); } - //so it does not have any permissions out-of-the-box to create a - //collection object - Assert.assertEquals(res.getStatus(), - Response.Status.FORBIDDEN.getStatusCode(), "expected " - + Response.Status.FORBIDDEN.getStatusCode()); - - // Store the ID returned from this create operation for additional tests - // below. - res.releaseConnection(); } @@ -225,15 +228,17 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug("create: status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug("create: status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), + Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), - Response.Status.UNAUTHORIZED.getStatusCode(), "expected " - + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); - } @Test(dataProvider = "testName", @@ -245,14 +250,17 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), + Response.Status.FORBIDDEN.getStatusCode(), "expected " + + Response.Status.FORBIDDEN.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), - Response.Status.FORBIDDEN.getStatusCode(), "expected " - + Response.Status.FORBIDDEN.getStatusCode()); - res.releaseConnection(); } /** @@ -267,12 +275,15 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); } /** @@ -286,12 +297,15 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); } /** @@ -306,12 +320,15 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); } /** @@ -324,13 +341,15 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " - + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); } /** @@ -343,13 +362,15 @@ public class AuthenticationServiceTest extends BaseServiceTest res = collectionObjectClient.create(multipart); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " - + res.getStatus()); + Response res = collectionObjectClient.create(multipart); + try { + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + res.getStatus()); + } + Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); + } finally { + res.close(); } - Assert.assertEquals(res.getStatus(), Response.Status.UNAUTHORIZED.getStatusCode(), "expected " + Response.Status.UNAUTHORIZED.getStatusCode()); - res.releaseConnection(); } @Test(dataProvider = "testName", diff --git a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java index 65f66e498..2d9bb5981 100644 --- a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java +++ b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/AuthorizationServiceTest.java @@ -244,6 +244,7 @@ public class AuthorizationServiceTest extends BaseServiceTest res = client.create(multipart); - - int statusCode = res.getStatus(); - - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + statusCode); - } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, Response.Status.CREATED.getStatusCode()); - knownResourceId = extractId(res); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": knownResourceId=" + knownResourceId); + Response res = client.create(multipart); + try { + statusCode = res.getStatus(); + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, Response.Status.CREATED.getStatusCode()); + knownResourceId = extractId(res); + if (logger.isDebugEnabled()) { + logger.debug(testName + ": knownResourceId=" + knownResourceId); + } + } finally { + res.close(); } - + // Now verify that elmo cannot create client = new DimensionClient(); client.setAuth(true, "elmo2010", true, "elmo2010", true); res = client.create(multipart); - - statusCode = res.getStatus(); - if (logger.isDebugEnabled()) { - logger.debug(testName + " (verify not allowed): status = " + statusCode); + try { + statusCode = res.getStatus(); + if (logger.isDebugEnabled()) { + logger.debug(testName + " (verify not allowed): status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, Response.Status.FORBIDDEN.getStatusCode()); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, Response.Status.FORBIDDEN.getStatusCode()); //Finally, verify that elmo has no access to Intakes // Submit the request to the service and store the response. @@ -294,13 +300,16 @@ public class AuthorizationServiceTest extends BaseServiceTest res = client.create(multipart); - - int statusCode = res.getStatus(); - - if (logger.isDebugEnabled()) { - logger.debug(testName + ": status = " + statusCode); - } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, Response.Status.CREATED.getStatusCode()); - knownResourceId = extractId(res); - if (logger.isDebugEnabled()) { - logger.debug(testName + ": knownResourceId=" + knownResourceId); + Response res = client.create(multipart); + try { + statusCode = res.getStatus(); + + if (logger.isDebugEnabled()) { + logger.debug(testName + ": status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, Response.Status.CREATED.getStatusCode()); + knownResourceId = extractId(res); + if (logger.isDebugEnabled()) { + logger.debug(testName + ": knownResourceId=" + knownResourceId); + } + } finally { + res.close(); } //bigbird no longer allowed to create client.setAuth(true, "bigbird2010", true, "bigbird2010", true); res = client.create(multipart); - - statusCode = res.getStatus(); - if (logger.isDebugEnabled()) { - logger.debug(testName + " (verify not allowed): status = " + statusCode); + try { + statusCode = res.getStatus(); + if (logger.isDebugEnabled()) { + logger.debug(testName + " (verify not allowed): status = " + statusCode); + } + Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), + invalidStatusCodeMessage(testRequestType, statusCode)); + Assert.assertEquals(statusCode, Response.Status.FORBIDDEN.getStatusCode()); + } finally { + res.close(); } - Assert.assertTrue(testRequestType.isValidStatusCode(statusCode), - invalidStatusCodeMessage(testRequestType, statusCode)); - Assert.assertEquals(statusCode, Response.Status.FORBIDDEN.getStatusCode()); + restoreInitialAccountRoles(); } diff --git a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java index da5dbce93..56a4cd762 100644 --- a/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java +++ b/services/security/client/src/test/java/org/collectionspace/services/security/client/test/MultiTenancyTest.java @@ -320,13 +320,13 @@ public class MultiTenancyTest extends BaseServiceTest { // PoxPayloadOut multipart = DimensionFactory.createDimensionInstance(client.getCommonPartName(), dimension); - ClientResponse res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); result = extractId(res); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } diff --git a/services/valuationcontrol/client/src/test/java/org/collectionspace/services/client/test/ValuationcontrolServiceTest.java b/services/valuationcontrol/client/src/test/java/org/collectionspace/services/client/test/ValuationcontrolServiceTest.java index 7a49b8b36..c7d103f19 100644 --- a/services/valuationcontrol/client/src/test/java/org/collectionspace/services/client/test/ValuationcontrolServiceTest.java +++ b/services/valuationcontrol/client/src/test/java/org/collectionspace/services/client/test/ValuationcontrolServiceTest.java @@ -95,7 +95,7 @@ public class ValuationcontrolServiceTest extends AbstractPoxServiceTestImpl res = client.create(multipart); + Response res = client.create(multipart); try { int statusCode = res.getStatus(); @@ -115,7 +115,7 @@ public class ValuationcontrolServiceTest extends AbstractPoxServiceTestImplorg.collectionspace.services org.collectionspace.services.vocabulary.jaxb ${project.version} + + + jsr311-api + javax.ws.rs + + org.collectionspace.services diff --git a/services/vocabulary/client/src/test/java/org/collectionspace/services/client/test/VocabularyServiceTest.java b/services/vocabulary/client/src/test/java/org/collectionspace/services/client/test/VocabularyServiceTest.java index 0ed1d47b4..6efc71262 100644 --- a/services/vocabulary/client/src/test/java/org/collectionspace/services/client/test/VocabularyServiceTest.java +++ b/services/vocabulary/client/src/test/java/org/collectionspace/services/client/test/VocabularyServiceTest.java @@ -92,12 +92,12 @@ public class VocabularyServiceTest extends AbstractAuthorityServiceTest res = client.create(multipart); + Response res = client.create(multipart); try { assertStatusCode(res, testName); } finally { if (res != null) { - res.releaseConnection(); + res.close(); } } } -- 2.47.3