From 0c2aa141e8282d130028bce769d84a2cf7bf91dd Mon Sep 17 00:00:00 2001 From: "i.nueske" <i.nueske@indiscale.com> Date: Fri, 30 Aug 2024 13:04:05 +0200 Subject: [PATCH] MAINT: Mirror name change permanentlyDeleteFDO -> purgeFDO from library --- api/src/main/resources/api.yaml | 2 +- .../fdo/manager/service/OperationsLogger.java | 2 +- .../fdo/manager/service/fdo/FDOApiImpl.java | 6 ++--- .../fdo/manager/service/fdo/FDOApiTest.java | 27 +++++++++---------- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/api/src/main/resources/api.yaml b/api/src/main/resources/api.yaml index 242adb2..26f4b43 100644 --- a/api/src/main/resources/api.yaml +++ b/api/src/main/resources/api.yaml @@ -248,7 +248,7 @@ paths: tags: - FDOs description: "Delete an FDO." - operationId: permanentlyDeleteFDO + operationId: purgeFDO parameters: - $ref: '#/components/parameters/Prefix' - $ref: '#/components/parameters/Suffix' diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/OperationsLogger.java b/application/src/main/java/com/indiscale/fdo/manager/service/OperationsLogger.java index 65e93d9..92ce1be 100644 --- a/application/src/main/java/com/indiscale/fdo/manager/service/OperationsLogger.java +++ b/application/src/main/java/com/indiscale/fdo/manager/service/OperationsLogger.java @@ -21,7 +21,7 @@ public class OperationsLogger { } } - public void permanentlyDeleteFDO(DigitalObject fdo, RepositoryConnection repository) { + public void purgeFDO(DigitalObject fdo, RepositoryConnection repository) { LogRecord rec = new LogRecord(LogRecord.DELETE).fdo(fdo).targetRepository(repository); for (OperationsLoggerSink sink : sinks) { sink.log(rec); diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java index 54e045d..6f1726f 100644 --- a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java +++ b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java @@ -108,15 +108,15 @@ public class FDOApiImpl extends BaseController implements FdoApi { } @Override - public ResponseEntity<Void> permanentlyDeleteFDO(String prefix, String suffix) { + public ResponseEntity<Void> purgeFDO(String prefix, String suffix) { try (Manager manager = getManager()) { String pid = prefix + "/" + suffix; DigitalObject fdo = manager.resolvePID(pid); - String repoId = manager.permanentlyDeleteFDO(pid); + String repoId = manager.purgeFDO(pid); if (repoId != null && !repoId.isEmpty()) { RepositoryConnection repository = manager.getRepositoryRegistry().createRepositoryConnection(repoId); - getLogger().permanentlyDeleteFDO(fdo, repository); + getLogger().purgeFDO(fdo, repository); return ResponseEntity.noContent().build(); } else { throw new ResponseStatusException( diff --git a/application/src/test/java/com/indiscale/fdo/manager/service/fdo/FDOApiTest.java b/application/src/test/java/com/indiscale/fdo/manager/service/fdo/FDOApiTest.java index c1e8587..4a50e6c 100644 --- a/application/src/test/java/com/indiscale/fdo/manager/service/fdo/FDOApiTest.java +++ b/application/src/test/java/com/indiscale/fdo/manager/service/fdo/FDOApiTest.java @@ -50,7 +50,7 @@ public class FDOApiTest { @Test void testFDOApiWithMockitoManager() throws PidUnresolvableException, UnknownRepositoryException, UnknownRepositoryTypeException { - // Test FDOs + // Setup Mocks for Test FDOs DigitalObject mockDO = new DigitalObject() { @Override @@ -103,7 +103,7 @@ public class FDOApiTest { .thenThrow(PidUnresolvableException.class) .thenReturn(mockDO) .thenReturn(mockDO); - when(mockitoManager.permanentlyDeleteFDO("prefix/suffix")) + when(mockitoManager.purgeFDO("prefix/suffix")) .thenReturn("mock-repo-1") .thenReturn("mock-repo-1") // .thenReturn("mock-repo-1") will not be called as PidUnresolvableException was thrown @@ -116,24 +116,21 @@ public class FDOApiTest { when(mockRepositoryRegistry.createRepositoryConnection("mock-repo-1")) .thenReturn(mockRepositoryConnection); when(mockRepositoryConnection.getId()).thenReturn("mock-repo-1"); - // 1,2,4 should pass as resolvePID returns successfully and permanentlyDeleteFDO returns an id + // 1,2,4 should pass as resolvePID returns successfully and purgeFDO returns an id // 3 should fail because resolvePID throws PidUnresolvableException - // 5 should fail because permanentlyDeleteFDO returns null + // 5 should fail because purgeFDO returns null // 6 should fail because the mockitoManager is not configured for "random/string" - assertEquals( - api.permanentlyDeleteFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); - assertEquals( - api.permanentlyDeleteFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); - assertThrows(ResponseStatusException.class, () -> api.permanentlyDeleteFDO("prefix", "suffix")); - assertEquals( - api.permanentlyDeleteFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); - assertThrows(ResponseStatusException.class, () -> api.permanentlyDeleteFDO("prefix", "suffix")); - assertThrows(ResponseStatusException.class, () -> api.permanentlyDeleteFDO("random", "string")); + assertEquals(api.purgeFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); + assertEquals(api.purgeFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); + assertThrows(ResponseStatusException.class, () -> api.purgeFDO("prefix", "suffix")); + assertEquals(api.purgeFDO("prefix", "suffix").getStatusCode(), HttpStatusCode.valueOf(204)); + assertThrows(ResponseStatusException.class, () -> api.purgeFDO("prefix", "suffix")); + assertThrows(ResponseStatusException.class, () -> api.purgeFDO("random", "string")); // resolvePID("prefix/suffix") is called from 1,2,3,4,5 // resolvePID("random/string") is called from 6 - // permanentlyDeleteFDO("prefix/suffix") is called from 1,2,4,5 + // purgeFDO("prefix/suffix") is called from 1,2,4,5 verify(mockitoManager, times(5)).resolvePID("prefix/suffix"); verify(mockitoManager, times(1)).resolvePID("random/string"); - verify(mockitoManager, times(4)).permanentlyDeleteFDO("prefix/suffix"); + verify(mockitoManager, times(4)).purgeFDO("prefix/suffix"); } } -- GitLab