aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-03 15:27:14 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-07-03 15:27:14 +0200
commit78f0715d86a055aed11138df5f66b0794e72326a (patch)
tree4f5e16fea5740e25ee22e98e8940fa28365a2a93 /src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java
parent8bcd9c265198e8d46e2ec862ca6e0cb47838bd7f (diff)
downloadmoa-zs-78f0715d86a055aed11138df5f66b0794e72326a.tar.gz
moa-zs-78f0715d86a055aed11138df5f66b0794e72326a.tar.bz2
moa-zs-78f0715d86a055aed11138df5f66b0794e72326a.zip
Refactor: Restructure Project
- Move components that depend on the service contracts into scheme package. - Move cxf related components into util package. - Rename SameThread to SingleThreaded.
Diffstat (limited to 'src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java')
-rw-r--r--src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java189
1 files changed, 0 insertions, 189 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java b/src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java
deleted file mode 100644
index 74e6157..0000000
--- a/src/test/java/at/gv/egiz/moazs/SameThreadDeliveryPipelineTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package at.gv.egiz.moazs;
-
-import at.gv.egiz.moazs.msg.ClientFactory;
-import at.gv.egiz.moazs.pipeline.DeliveryPipeline;
-import at.gv.egiz.moazs.pipeline.SameThreadDeliveryPipeline;
-import at.gv.egiz.moazs.repository.DeliveryRepository;
-import at.gv.egiz.moazs.repository.InMemoryDeliveryRepository;
-import at.gv.egiz.moazs.scheme.Mzs2MsgConverter;
-import at.gv.egiz.moazs.tnvz.TnvzHelper;
-import at.gv.egiz.moazs.verify.MoaSPSSSignatureVerifier;
-import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType;
-import at.gv.zustellung.msg.xsd.App2ZusePort;
-import at.gv.zustellung.msg.xsd.DeliveryRequestStatusType;
-import at.gv.zustellung.msg.xsd.MetaData;
-import at.gv.zustellung.msg.xsd.persondata.IdentificationType;
-import at.gv.zustellung.tnvz.xsd.TNVZServicePort;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import static at.gv.egiz.moazs.MoaZSException.moaZSException;
-import static at.gv.egiz.moazs.MoaZSException.moaZSExceptionBuilder;
-import static at.gv.zustellung.app2mzs.xsd.ClientType.clientTypeBuilder;
-import static at.gv.zustellung.app2mzs.xsd.ConfigType.configTypeBuilder;
-import static at.gv.zustellung.app2mzs.xsd.DeliveryRequestType.deliveryRequestTypeBuilder;
-import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.Success.successBuilder;
-import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder;
-import static at.gv.zustellung.msg.xsd.MetaData.metaDataBuilder;
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.same;
-import static org.mockito.Mockito.*;
-
-@RunWith(MockitoJUnitRunner.class)
-public class SameThreadDeliveryPipelineTest {
-
- private DeliveryRepository repository = new InMemoryDeliveryRepository();
-
- @Mock
- private TnvzHelper tnvzHelper;
-
- @Mock
- private ClientFactory clientFactory;
-
- @Mock
- private App2ZusePort msgClient;
-
- @Mock
- private TNVZServicePort tnvzClient;
-
- @Mock
- private Mzs2MsgConverter converter;
-
- @Mock
- private MoaSPSSSignatureVerifier verifier;
-
-
- private DeliveryPipeline pipeline;
-
- @Before
- public void setup() {
- pipeline = new SameThreadDeliveryPipeline(repository, tnvzHelper, converter, clientFactory, verifier);
- }
-
- @Test
- public void executePipelineWithoutTnvzRequest() {
- var appDeliveryId = "no-tnvz-request";
- var expectedStatus = setupMocks(appDeliveryId, false);
-
- pipeline.processRequest(appDeliveryId);
-
- verifyZeroInteractions(tnvzHelper);
- var actualStatus = repository.getDeliveryRequestStatus(appDeliveryId).get();
-
- assertThat(actualStatus).isEqualTo(expectedStatus);
- }
-
- @Test
- public void rejectDeliveryWhenReceiverIsNotAddressable() {
- var appDeliveryId = "not-addressable";
- setupMocks(appDeliveryId, true);
- when(tnvzHelper.performQueryPersonRequest(any(), any(), any()))
- .thenThrow(buildMzsException("400"));
-
- pipeline.processRequest(appDeliveryId);
- var actualCode = repository.getDeliveryRequestStatus(appDeliveryId).get()
- .getError().getErrorInfo().getCode();
-
- verify(tnvzHelper).performQueryPersonRequest(any(), any(), any());
- assertThat(actualCode).isEqualTo("400");
- }
-
- @Test
- public void executePipelineWithTnvzRequest() {
- var appDeliveryId = "tnvz-request";
- var expectedStatus = setupMocks(appDeliveryId, true);
-
- pipeline.processRequest(appDeliveryId);
- var actualStatus = repository.getDeliveryRequestStatus(appDeliveryId).get();
-
- assertThat(actualStatus).isEqualTo(expectedStatus);
- }
-
- @Test
- public void rejectInvalidSignature() {
- var appDeliveryId = "invalid-signature";
- setupMocks(appDeliveryId, true);
- doThrow(moaZSException("Signature Invalid!")).when(verifier).verify(any());
-
- pipeline.processRequest(appDeliveryId);
- var actualCode = repository.getDeliveryRequestStatus(appDeliveryId).get()
- .getError().getErrorInfo().getCode();
-
- assertThat(actualCode).isEqualTo(MoaZSException.ERROR_MOASP_SIGNATURE_INVALID);
-
- }
-
- private DeliveryRequestStatusType setupMocks(String appDeliveryId, boolean tnvzRequest) {
-
- var mzsRequest = setupMzsRequest(appDeliveryId, tnvzRequest);
- var msgRequest = setupMsgRequest(appDeliveryId);
- var status = setupStatus(appDeliveryId);
- var signedStatus = new byte[0];
- var identification = IdentificationType.identificationTypeBuilder().build();
- repository.add(mzsRequest);
- repository.addSignedDeliveryRequestStatus(signedStatus, appDeliveryId);
-
- when(converter.convert(eq(mzsRequest) )).thenReturn(msgRequest);
- when(converter.convert(eq(mzsRequest), any())).thenReturn(msgRequest);
- when(clientFactory.create(any(), same(App2ZusePort.class))).thenReturn(msgClient);
- when(msgClient.delivery(msgRequest)).thenReturn(status);
-
- if (tnvzRequest) {
- when(clientFactory.create(any(), same(TNVZServicePort.class))).thenReturn(tnvzClient);
- when(tnvzHelper.performQueryPersonRequest(any(), any(), any())).thenReturn(identification);
- }
- return status;
-
- }
-
- private MoaZSException buildMzsException(String code) {
- return moaZSExceptionBuilder("").withErrorCode(code).build();
- }
-
- private DeliveryRequestStatusType setupStatus(String appDeliveryId) {
-
- var success = successBuilder()
- .withAppDeliveryID(appDeliveryId)
- .build();
-
- return deliveryRequestStatusTypeBuilder()
- .withSuccess(success)
- .build();
-
- }
-
- private DeliveryRequestType setupMzsRequest(String appDeliveryId, boolean tnvzRequest) {
-
- var msgClient = clientTypeBuilder()
- .withURL("http://zuse")
- .build();
-
- var config = configTypeBuilder()
- .withPerformQueryPersonRequest(tnvzRequest)
- .withMSGClient(msgClient)
- .build();
-
- return deliveryRequestTypeBuilder()
- .withMetaData(setupMetaData(appDeliveryId))
- .withConfig(config)
- .build();
- }
-
- private at.gv.zustellung.msg.xsd.DeliveryRequestType setupMsgRequest(String appDeliveryId) {
- return at.gv.zustellung.msg.xsd.DeliveryRequestType.deliveryRequestTypeBuilder()
- .withMetaData(setupMetaData(appDeliveryId))
- .build();
- }
-
- private MetaData setupMetaData(String appDeliveryId) {
- return metaDataBuilder()
- .withAppDeliveryID(appDeliveryId)
- .build();
- }
-
-}