From 8e36fa01ea42d282eacdc78d6749daf9ae1ede9c Mon Sep 17 00:00:00 2001 From: Christof Rabensteiner Date: Tue, 9 Jul 2019 11:13:35 +0200 Subject: Refactor: Merge BinaryRepository into DeliveryRepository - Reason: Components, which rely on one of those, usually also rely on the other, so merging them reduces amount of dependencies. - Frame operations in DeliveryRepository API as "store" and "retrieve" operations. - Rename: Convert *Id in local variable names to upper case. --- .../at/gv/egiz/moazs/config/RepositoryConfig.java | 10 ++---- .../egiz/moazs/process/SafeResponseToFileSink.java | 20 ++++++------ .../process/SingleThreadedDeliveryPipeline.java | 22 ++++++------- .../egiz/moazs/repository/DeliveryRepository.java | 12 ++++--- .../repository/InMemoryDeliveryRepository.java | 37 +++++++++++++++------- .../moazs/repository/RedisDeliveryRepository.java | 20 ++++++++---- .../java/at/gv/egiz/moazs/service/MsgService.java | 2 +- .../java/at/gv/egiz/moazs/service/MzsService.java | 11 +++---- ...StoreSOAPBodyBinaryInRepositoryInterceptor.java | 10 +++--- .../gv/egiz/moazs/verify/MsgResponseVerifier.java | 15 +++------ .../java/at/gv/egiz/moazs/ITMzsServiceTest.java | 2 +- .../gv/egiz/moazs/SafeResponseToFileSinkTest.java | 12 +++---- .../moazs/SingleThreadedDeliveryPipelineTest.java | 18 ++++------- 13 files changed, 98 insertions(+), 93 deletions(-) diff --git a/src/main/java/at/gv/egiz/moazs/config/RepositoryConfig.java b/src/main/java/at/gv/egiz/moazs/config/RepositoryConfig.java index 01a4cc3..59bfb88 100644 --- a/src/main/java/at/gv/egiz/moazs/config/RepositoryConfig.java +++ b/src/main/java/at/gv/egiz/moazs/config/RepositoryConfig.java @@ -1,7 +1,5 @@ package at.gv.egiz.moazs.config; -import at.gv.egiz.moazs.repository.BinaryRepository; -import at.gv.egiz.moazs.repository.InMemoryBinaryRepository; import at.gv.egiz.moazs.scheme.NameSpace; import at.gv.egiz.moazs.scheme.NotificationResponse; import at.gv.egiz.moazs.scheme.RequestStatusResponse; @@ -17,17 +15,13 @@ import java.util.function.Function; @Profile("!cluster") public class RepositoryConfig { - @Value("${repository.expiresAfterWrite}") - private int expiresAfterWrite; - @Bean - public BinaryRepository binaryRepository() { - return new InMemoryBinaryRepository(expiresAfterWrite); + public int expiresAfterWrite(@Value("${repository.expiresAfterWrite}") int exp) { + return exp; } @Bean public Map> idGenerators() { - return Map.of(NameSpace.MSG_DELIVERY_REQUEST_STATUS, RequestStatusResponse::getResponseID, NameSpace.MSG_DELIVERY_NOTIFICATION, NotificationResponse::getResponseID); } diff --git a/src/main/java/at/gv/egiz/moazs/process/SafeResponseToFileSink.java b/src/main/java/at/gv/egiz/moazs/process/SafeResponseToFileSink.java index ee32768..12a9fe3 100644 --- a/src/main/java/at/gv/egiz/moazs/process/SafeResponseToFileSink.java +++ b/src/main/java/at/gv/egiz/moazs/process/SafeResponseToFileSink.java @@ -1,6 +1,6 @@ package at.gv.egiz.moazs.process; -import at.gv.egiz.moazs.repository.BinaryRepository; +import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.Marshaller; import at.gv.egiz.moazs.scheme.MsgResponse; import org.apache.commons.io.FileUtils; @@ -28,32 +28,32 @@ public class SafeResponseToFileSink implements MsgResponseSink { private static final SimpleDateFormat ISO_FORMATTER = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); private final Marshaller msgMarshaller; - private final BinaryRepository binaryRepository; + private final DeliveryRepository respository; private final String root; @Autowired - public SafeResponseToFileSink(Marshaller msgMarshaller, BinaryRepository binaryRepository, String root) { + public SafeResponseToFileSink(Marshaller msgMarshaller, DeliveryRepository binaryRepository, String root) { this.msgMarshaller = msgMarshaller; - this.binaryRepository = binaryRepository; + this.respository = binaryRepository; this.root = root; } @Override public CompletableFuture handle(MsgResponse response) { - var responseId = response.getResponseID(); + var responseID = response.getResponseID(); - var responsePath = generatePath(responseId, "xml"); + var responsePath = generatePath(responseID, "xml"); var storeResponseToFileSystemFuture = supplyAsync(() -> msgMarshaller.marshallXml(response.getResponse())) .thenApply(responseString -> responseString.getBytes(StandardCharsets.UTF_8)) .thenAccept(responseByteArray -> storeToFile(responsePath, responseByteArray)) - .exceptionally((ex) -> logException(ex, responseId)); + .exceptionally((ex) -> logException(ex, responseID)); - var binaryResponsePath = generatePath(responseId, "binary.xml"); - var storeBinaryResponseToFileSystemFuture = supplyAsync(() -> binaryRepository.get(responseId).get()) + var binaryResponsePath = generatePath(responseID, "binary.xml"); + var storeBinaryResponseToFileSystemFuture = supplyAsync(() -> respository.retrieveBinaryResponse(responseID).get()) .thenAccept(binaryResponseByteArray -> storeToFile(binaryResponsePath, binaryResponseByteArray)) - .exceptionally((ex) -> logException(ex, responseId)); + .exceptionally((ex) -> logException(ex, responseID)); return allOf(storeResponseToFileSystemFuture, storeBinaryResponseToFileSystemFuture); diff --git a/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java b/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java index 69065d7..445f386 100644 --- a/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java +++ b/src/main/java/at/gv/egiz/moazs/process/SingleThreadedDeliveryPipeline.java @@ -4,7 +4,6 @@ package at.gv.egiz.moazs.process; import at.gv.egiz.moazs.MoaZSException; import at.gv.egiz.moazs.client.ClientFactory; import at.gv.egiz.moazs.client.TnvzHelper; -import at.gv.egiz.moazs.repository.BinaryRepository; import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.Mzs2MsgConverter; import at.gv.egiz.moazs.scheme.RequestStatusResponse; @@ -31,7 +30,6 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline { "An error occured while processing the DeliveryRequest with AppDeliveryID=%s. "; private final DeliveryRepository repository; - private final BinaryRepository binaryRepository; private final TnvzHelper tnvzHelper; private final Mzs2MsgConverter converter; private final ClientFactory clientFactory; @@ -39,13 +37,11 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline { @Autowired public SingleThreadedDeliveryPipeline(DeliveryRepository repository, - BinaryRepository binaryStatusRepository, TnvzHelper tnvzHelper, Mzs2MsgConverter converter, ClientFactory clientFactory, SignatureVerifier verifier) { this.repository = repository; - this.binaryRepository = binaryStatusRepository; this.tnvzHelper = tnvzHelper; this.converter = converter; this.clientFactory = clientFactory; @@ -53,12 +49,12 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline { } @Override - public void processRequest(String appDeliveryId) { + public void processRequest(String appDeliveryID) { var exceptionBuilder = moaZSExceptionBuilder(); try { - var mzsRequest = repository.getDeliveryRequest(appDeliveryId).orElseThrow(); + var mzsRequest = repository.retrieveDeliveryRequest(appDeliveryID).orElseThrow(); exceptionBuilder.withDeliverySystem(mzsRequest); at.gv.zustellung.msg.xsd.DeliveryRequestType msgRequest = buildMsgRequest(mzsRequest, exceptionBuilder); @@ -70,22 +66,22 @@ public class SingleThreadedDeliveryPipeline implements DeliveryPipeline { var response = new RequestStatusResponse(status); exceptionBuilder.withAllParametersInAnswer(response.getAnswer()); - verifySignedStatus(response.getResponseID(), exceptionBuilder); - repository.add(response); + verifySignedStatus(response.getResponseID(), appDeliveryID, exceptionBuilder); + repository.store(response); } catch (MoaZSException exception) { - log.error(format(MZS_PIPELINE_ERROR_MSG, appDeliveryId), exception); + log.error(format(MZS_PIPELINE_ERROR_MSG, appDeliveryID), exception); var errorResponse = generateErrorFromException(exception); - repository.add(errorResponse); + repository.store(errorResponse); } } - private void verifySignedStatus(String appDeliveryId, MoaZSException.Builder exceptionBuilder) throws MoaZSException { + private void verifySignedStatus(String responseID, String appDeliveryID, MoaZSException.Builder exceptionBuilder) throws MoaZSException { try { - var signedStatus = binaryRepository.get(appDeliveryId).get(); + var signedStatus = repository.retrieveBinaryResponse(responseID).get(); verifier.verify(signedStatus); } catch (MoaZSException ex) { - throw exceptionBuilder.withMessage(format(MsgResponseVerifier.MOASP_SIGNATURE_INVALID_ERROR_MSG, appDeliveryId)) + throw exceptionBuilder.withMessage(format(MsgResponseVerifier.MOASP_SIGNATURE_INVALID_ERROR_MSG, appDeliveryID)) .withErrorCode(MoaZSException.ERROR_MOASP_SIGNATURE_INVALID) .withCause(ex) .build(); diff --git a/src/main/java/at/gv/egiz/moazs/repository/DeliveryRepository.java b/src/main/java/at/gv/egiz/moazs/repository/DeliveryRepository.java index 57d2d07..e9b0466 100644 --- a/src/main/java/at/gv/egiz/moazs/repository/DeliveryRepository.java +++ b/src/main/java/at/gv/egiz/moazs/repository/DeliveryRepository.java @@ -11,13 +11,17 @@ import java.util.Optional; @Repository public interface DeliveryRepository { - void add(DeliveryRequestType request); + void store(DeliveryRequestType request); - Optional getDeliveryRequest(String appDeliveryID); + Optional retrieveDeliveryRequest(String appDeliveryID); - void add(MsgResponse response); + void store(MsgResponse response); - Optional getResponse(String responseID); + Optional retrieveResponse(String responseID); + + void store(String responseID, byte[] data); + + Optional retrieveBinaryResponse(String responseID); } diff --git a/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java b/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java index 3b5a020..41b742b 100644 --- a/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java +++ b/src/main/java/at/gv/egiz/moazs/repository/InMemoryDeliveryRepository.java @@ -4,46 +4,61 @@ package at.gv.egiz.moazs.repository; import at.gv.egiz.moazs.scheme.MsgResponse; import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType; import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Repository; import java.util.Optional; import java.util.concurrent.TimeUnit; +import static com.google.common.cache.CacheBuilder.newBuilder; import static java.util.Optional.ofNullable; @Repository @Profile("!cluster") public class InMemoryDeliveryRepository implements DeliveryRepository { - private final Cache requestRepository = CacheBuilder.newBuilder() - .expireAfterWrite(30, TimeUnit.MINUTES) - .build(); + private final Cache requestRepository; + private final Cache responseRepository; + private final Cache binaryResponseRepository; - private final Cache responseRepository = CacheBuilder.newBuilder() - .expireAfterWrite(30, TimeUnit.MINUTES) - .build(); + public InMemoryDeliveryRepository(int expiresAfterWrite) { + var builder = newBuilder().expireAfterWrite(expiresAfterWrite, TimeUnit.MINUTES); + this.requestRepository = builder.build(); + this.responseRepository = builder.build(); + this.binaryResponseRepository = builder.build(); + } @Override - public void add(DeliveryRequestType request) { + public void store(DeliveryRequestType request) { var key = request.getMetaData().getAppDeliveryID(); requestRepository.put(key, request); } @Override - public Optional getDeliveryRequest(String appDeliveryID) { + public Optional retrieveDeliveryRequest(String appDeliveryID) { return ofNullable(requestRepository.getIfPresent(appDeliveryID)); } @Override - public void add(MsgResponse response) { + public void store(MsgResponse response) { String key = response.getResponseID(); responseRepository.put(key, response); } @Override - public Optional getResponse(String responseID) { + public Optional retrieveResponse(String responseID) { return ofNullable(responseRepository.getIfPresent(responseID)); } + + @Override + public void store(String id, byte[] data) { + binaryResponseRepository.put(id, data); + + } + + @Override + public Optional retrieveBinaryResponse(String responseID) { + return ofNullable(binaryResponseRepository.getIfPresent(responseID)); + } + } diff --git a/src/main/java/at/gv/egiz/moazs/repository/RedisDeliveryRepository.java b/src/main/java/at/gv/egiz/moazs/repository/RedisDeliveryRepository.java index 7ccd236..68e96d9 100644 --- a/src/main/java/at/gv/egiz/moazs/repository/RedisDeliveryRepository.java +++ b/src/main/java/at/gv/egiz/moazs/repository/RedisDeliveryRepository.java @@ -3,8 +3,6 @@ package at.gv.egiz.moazs.repository; import at.gv.egiz.moazs.scheme.Marshaller; import at.gv.egiz.moazs.scheme.MsgResponse; import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType; -import at.gv.zustellung.msg.xsd.DeliveryNotificationType; -import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType; import at.gv.zustellung.app2mzs.xsd.ObjectFactory; import org.apache.tools.ant.filters.StringInputStream; import org.slf4j.Logger; @@ -42,7 +40,7 @@ public class RedisDeliveryRepository implements DeliveryRepository { } @Override - public void add(DeliveryRequestType request) { + public void store(DeliveryRequestType request) { var hashKey = request.getMetaData().getAppDeliveryID(); var serializedRequest = marshaller.marshallXml(factory.createDeliveryRequest(request)); @@ -51,7 +49,7 @@ public class RedisDeliveryRepository implements DeliveryRepository { } @Override - public Optional getDeliveryRequest(String appDeliveryID) { + public Optional retrieveDeliveryRequest(String appDeliveryID) { String serializedRequest = hashOperations.get(KEY, appDeliveryID); if (serializedRequest == null) { @@ -64,14 +62,24 @@ public class RedisDeliveryRepository implements DeliveryRepository { } @Override - public void add(MsgResponse notification) { + public void store(MsgResponse notification) { throw new UnsupportedOperationException(NOT_IMPLEMENTED_MESSAGE); } @Override - public Optional getResponse(String id) { + public Optional retrieveResponse(String id) { throw new UnsupportedOperationException(NOT_IMPLEMENTED_MESSAGE); } + @Override + public void store(String responseID, byte[] data) { + + } + + @Override + public Optional retrieveBinaryResponse(String responseID) { + return Optional.empty(); + } + } diff --git a/src/main/java/at/gv/egiz/moazs/service/MsgService.java b/src/main/java/at/gv/egiz/moazs/service/MsgService.java index 93f1ed5..87644a0 100644 --- a/src/main/java/at/gv/egiz/moazs/service/MsgService.java +++ b/src/main/java/at/gv/egiz/moazs/service/MsgService.java @@ -58,7 +58,7 @@ public class MsgService implements Zuse2AppPort { } private void sendToWork(MsgResponse response) { - runAsync(() -> repository.add(response)) + runAsync(() -> repository.store(response)) .thenRunAsync(() -> handler.handle(response.getResponseID())); } diff --git a/src/main/java/at/gv/egiz/moazs/service/MzsService.java b/src/main/java/at/gv/egiz/moazs/service/MzsService.java index c41740f..2755a37 100644 --- a/src/main/java/at/gv/egiz/moazs/service/MzsService.java +++ b/src/main/java/at/gv/egiz/moazs/service/MzsService.java @@ -2,7 +2,6 @@ package at.gv.egiz.moazs.service; import at.gv.egiz.moazs.preprocess.DeliveryRequestAugmenter; import at.gv.egiz.moazs.process.DeliveryPipeline; -import at.gv.egiz.moazs.repository.BinaryRepository; import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.Msg2MzsConverter; import at.gv.egiz.moazs.client.MzsClient; @@ -41,17 +40,15 @@ public class MzsService implements App2MzsPortType { private final MzsClient appClient; private final DeliveryRequestAugmenter augmenter; private final Msg2MzsConverter converter; - private final BinaryRepository binaryStatusRepository; @Autowired public MzsService(DeliveryRepository repository, DeliveryPipeline pipeline, MzsClient appClient, - DeliveryRequestAugmenter augmenter, Msg2MzsConverter converter, BinaryRepository binaryStatusRepository) { + DeliveryRequestAugmenter augmenter, Msg2MzsConverter converter) { this.repository = repository; this.pipeline = pipeline; this.appClient = appClient; this.augmenter = augmenter; this.converter = converter; - this.binaryStatusRepository = binaryStatusRepository; } @Override @@ -65,7 +62,7 @@ public class MzsService implements App2MzsPortType { var future = supplyAsync(() -> augmenter.augment(deliveryRequest)) .thenApply(this::process) - .thenApply(status -> converter.convert(status, binaryStatusRepository.get(responseID))); + .thenApply(status -> converter.convert(status, repository.retrieveBinaryResponse(responseID))); try { return future.get(TIMEOUT_FOR_ANWSER, TimeUnit.SECONDS); @@ -89,11 +86,11 @@ public class MzsService implements App2MzsPortType { var appDeliveryID = deliveryRequest.getMetaData().getAppDeliveryID(); logger.info("Receive request with appDeliveryID = {}.", appDeliveryID); - repository.add(deliveryRequest); + repository.store(deliveryRequest); pipeline.processRequest(appDeliveryID); var statusId = RequestStatusResponse.getResponseID(appDeliveryID); - var response = repository.getResponse(statusId) + var response = repository.retrieveResponse(statusId) .orElseThrow(() -> moaZSException("Could not get a response for AppDeliveryID=%s.", appDeliveryID)); return (DeliveryRequestStatusType) response.getResponse(); } diff --git a/src/main/java/at/gv/egiz/moazs/util/StoreSOAPBodyBinaryInRepositoryInterceptor.java b/src/main/java/at/gv/egiz/moazs/util/StoreSOAPBodyBinaryInRepositoryInterceptor.java index 39566fe..88ab7e0 100644 --- a/src/main/java/at/gv/egiz/moazs/util/StoreSOAPBodyBinaryInRepositoryInterceptor.java +++ b/src/main/java/at/gv/egiz/moazs/util/StoreSOAPBodyBinaryInRepositoryInterceptor.java @@ -1,6 +1,6 @@ package at.gv.egiz.moazs.util; -import at.gv.egiz.moazs.repository.BinaryRepository; +import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.SOAPUtils; import org.apache.cxf.message.Message; import org.apache.cxf.phase.AbstractPhaseInterceptor; @@ -28,12 +28,12 @@ public class StoreSOAPBodyBinaryInRepositoryInterceptor extends AbstractPhaseInt private final CXFMessageUtils messageUtils; private final SOAPUtils soapUtils; private final Map> idGenerators; - private final BinaryRepository repository; + private final DeliveryRepository repository; @Autowired public StoreSOAPBodyBinaryInRepositoryInterceptor(CXFMessageUtils extractor, SOAPUtils soapUtils, Map> idGenerators, - BinaryRepository repository) { + DeliveryRepository repository) { super(Phase.RECEIVE); this.messageUtils = extractor; this.soapUtils = soapUtils; @@ -60,12 +60,12 @@ public class StoreSOAPBodyBinaryInRepositoryInterceptor extends AbstractPhaseInt String rootTag = document.getTagName(); if (!idGenerators.containsKey(rootTag)) { - log.trace("Will not add message of type {}. ", rootTag); + log.trace("Will not store message of type {}. ", rootTag); return; } var id = idGenerators.get(rootTag).apply(appDeliveryID); - repository.add(id, response); + repository.store(id, response); if(log.isTraceEnabled()) { log.trace("Msg Response with AppDeliveryID={} unwrapped and stored: {}. ", diff --git a/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java b/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java index 6b4ef7a..9c8b17c 100644 --- a/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java +++ b/src/main/java/at/gv/egiz/moazs/verify/MsgResponseVerifier.java @@ -1,7 +1,6 @@ package at.gv.egiz.moazs.verify; import at.gv.egiz.moazs.MoaZSException; -import at.gv.egiz.moazs.repository.BinaryRepository; import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.MsgResponse; import at.gv.egiz.moazs.service.MsgService; @@ -20,25 +19,21 @@ public class MsgResponseVerifier { public static final String MOASP_SIGNATURE_INVALID_ERROR_MSG = "Signature of Msg Response " + "with AppDeliveryID=%s is not valid."; - private final DeliveryRepository repo; - private final BinaryRepository binaryRepo; + private final DeliveryRepository repository; private final SignatureVerifier verifier; @Autowired - public MsgResponseVerifier(DeliveryRepository repo, - BinaryRepository binaryStatusRepository, - SignatureVerifier verifier) { - this.repo = repo; - this.binaryRepo = binaryStatusRepository; + public MsgResponseVerifier(DeliveryRepository repository, SignatureVerifier verifier) { + this.repository = repository; this.verifier = verifier; } public MsgResponse verify(String responseID) { - var response = repo.getResponse(responseID).get(); + var response = repository.retrieveResponse(responseID).get(); var builder = moaZSExceptionBuilder().withAllParametersInAnswer(response.getAnswer()); - var binaryResponse = binaryRepo.get(responseID).get(); + var binaryResponse = repository.retrieveBinaryResponse(responseID).get(); try { verifier.verify(binaryResponse); diff --git a/src/test/java/at/gv/egiz/moazs/ITMzsServiceTest.java b/src/test/java/at/gv/egiz/moazs/ITMzsServiceTest.java index 22aa03f..a93c720 100644 --- a/src/test/java/at/gv/egiz/moazs/ITMzsServiceTest.java +++ b/src/test/java/at/gv/egiz/moazs/ITMzsServiceTest.java @@ -64,7 +64,7 @@ public class ITMzsServiceTest { .withSuccess(success) .build(); - repository.add(new RequestStatusResponse(status)); + repository.store(new RequestStatusResponse(status)); }; } diff --git a/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java b/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java index 9092dfb..c85c601 100644 --- a/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java +++ b/src/test/java/at/gv/egiz/moazs/SafeResponseToFileSinkTest.java @@ -1,7 +1,7 @@ package at.gv.egiz.moazs; import at.gv.egiz.moazs.process.SafeResponseToFileSink; -import at.gv.egiz.moazs.repository.BinaryRepository; +import at.gv.egiz.moazs.repository.DeliveryRepository; import at.gv.egiz.moazs.scheme.Marshaller; import at.gv.egiz.moazs.scheme.RequestStatusResponse; import org.apache.commons.io.FileUtils; @@ -36,7 +36,7 @@ public class SafeResponseToFileSinkTest { private final String root = "./target/tmp/SafeResponseToFileSinkTestOut"; @Mock - private BinaryRepository repository; + private DeliveryRepository repository; @Mock private Marshaller marshaller; @@ -90,15 +90,15 @@ public class SafeResponseToFileSinkTest { private RequestStatusResponse setupMocks(String fileContent) { - var appDeliveryId = "app-delivery-id"; - var responseId = RequestStatusResponse.getResponseID(appDeliveryId); + var appDeliveryID = "app-delivery-id"; + var responseID = RequestStatusResponse.getResponseID(appDeliveryID); - when(repository.get(responseId)) + when(repository.retrieveBinaryResponse(responseID)) .thenReturn(of(fileContent.getBytes(StandardCharsets.UTF_8))); when(marshaller.marshallXml(any())).thenReturn(fileContent); var success = successBuilder() - .withAppDeliveryID(appDeliveryId) + .withAppDeliveryID(appDeliveryID) .build(); var status = deliveryRequestStatusTypeBuilder() diff --git a/src/test/java/at/gv/egiz/moazs/SingleThreadedDeliveryPipelineTest.java b/src/test/java/at/gv/egiz/moazs/SingleThreadedDeliveryPipelineTest.java index 4154db9..e245eb1 100644 --- a/src/test/java/at/gv/egiz/moazs/SingleThreadedDeliveryPipelineTest.java +++ b/src/test/java/at/gv/egiz/moazs/SingleThreadedDeliveryPipelineTest.java @@ -3,8 +3,6 @@ package at.gv.egiz.moazs; import at.gv.egiz.moazs.process.DeliveryPipeline; import at.gv.egiz.moazs.process.SingleThreadedDeliveryPipeline; import at.gv.egiz.moazs.client.TnvzHelper; -import at.gv.egiz.moazs.repository.BinaryRepository; -import at.gv.egiz.moazs.repository.InMemoryBinaryRepository; import at.gv.egiz.moazs.scheme.*; import at.gv.egiz.moazs.client.ClientFactory; import at.gv.egiz.moazs.repository.DeliveryRepository; @@ -39,8 +37,7 @@ import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) public class SingleThreadedDeliveryPipelineTest { - private DeliveryRepository repository = new InMemoryDeliveryRepository(); - private BinaryRepository binaryRepository = new InMemoryBinaryRepository(30); + private DeliveryRepository repository = new InMemoryDeliveryRepository(100); @Mock private TnvzHelper tnvzHelper; @@ -67,7 +64,6 @@ public class SingleThreadedDeliveryPipelineTest { public void setup() { pipeline = new SingleThreadedDeliveryPipeline( repository, - binaryRepository, tnvzHelper, converter, clientFactory, @@ -82,7 +78,7 @@ public class SingleThreadedDeliveryPipelineTest { pipeline.processRequest(appDeliveryID); verifyZeroInteractions(tnvzHelper); - var response = repository.getResponse(getResponseID(appDeliveryID)).get(); + var response = repository.retrieveResponse(getResponseID(appDeliveryID)).get(); var actualStatus = (DeliveryRequestStatusType) response.getResponse(); assertThat(actualStatus).isEqualTo(expectedStatus); @@ -98,7 +94,7 @@ public class SingleThreadedDeliveryPipelineTest { pipeline.processRequest(appDeliveryID); var responseID = getResponseID(appDeliveryID); - var response = repository.getResponse(responseID).get(); + var response = repository.retrieveResponse(responseID).get(); var status = (DeliveryRequestStatusType) response.getResponse(); var actualCode = status.getError().getErrorInfo().getCode(); @@ -113,7 +109,7 @@ public class SingleThreadedDeliveryPipelineTest { var expectedStatus = setupMocks(appDeliveryID, true); pipeline.processRequest(appDeliveryID); - var response = repository.getResponse(getResponseID(appDeliveryID)).get(); + var response = repository.retrieveResponse(getResponseID(appDeliveryID)).get(); var actualStatus = (DeliveryRequestStatusType) response.getResponse(); assertThat(actualStatus).isEqualTo(expectedStatus); @@ -126,7 +122,7 @@ public class SingleThreadedDeliveryPipelineTest { doThrow(moaZSException("Signature Invalid!")).when(verifier).verify(any()); pipeline.processRequest(appDeliveryID); - var response = repository.getResponse(getResponseID(appDeliveryID)).get(); + var response = repository.retrieveResponse(getResponseID(appDeliveryID)).get(); var status = (DeliveryRequestStatusType) response.getResponse(); var actualCode = status.getError().getErrorInfo().getCode(); @@ -141,8 +137,8 @@ public class SingleThreadedDeliveryPipelineTest { var status = setupStatus(appDeliveryId); var signedStatus = new byte[0]; var identification = IdentificationType.identificationTypeBuilder().build(); - repository.add(mzsRequest); - binaryRepository.add(getResponseID(appDeliveryId), signedStatus); + repository.store(mzsRequest); + repository.store(getResponseID(appDeliveryId), signedStatus); when(converter.convert(eq(mzsRequest) )).thenReturn(msgRequest); when(converter.convert(eq(mzsRequest), any())).thenReturn(msgRequest); -- cgit v1.2.3