diff --git a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java index 66798e2e4bfb23a178e22878b0fd4e25e8791555..7554b3e1e77ef6fbe03ce2c72bd2f885540f7665 100644 --- a/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java +++ b/kop-common-lib/src/main/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtils.java @@ -96,11 +96,13 @@ public class GrpcFileUploadUtils { } public void cancelOnTimeout() { + LOG.warn("File transfer canceled on timeout"); resultFuture.cancel(true); requestObserver.onError(new TechnicalException("Timeout on waiting for upload.")); } public void cancelOnError(Throwable t) { + LOG.error("File tranfer canceled on error.", t); resultFuture.cancel(true); requestObserver.onError(t); } diff --git a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java b/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java index 840dfc969d58728020329107d973e0fdf8749715..3a796408b449a3bdfc041c07c60dbf6efd60dc3c 100644 --- a/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java +++ b/kop-common-lib/src/test/java/de/itvsh/kop/common/binaryfile/GrpcFileUploadUtilsTest.java @@ -38,8 +38,8 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; +import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Spy; import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestRequestType; import de.itvsh.kop.common.binaryfile.BinaryFileTestFactory.TestResponseType; @@ -48,10 +48,9 @@ import de.itvsh.kop.common.errorhandling.TechnicalException; import io.grpc.stub.CallStreamObserver; import io.grpc.stub.StreamObserver; -@Disabled("fixme") class GrpcFileUploadUtilsTest { - @Spy + @InjectMocks private GrpcFileUploadUtils service; @Mock @@ -91,23 +90,6 @@ class GrpcFileUploadUtilsTest { @Captor private ArgumentCaptor<Runnable> runnableCaptor; - @Test - void shouldSetOnReadyHandler() { - fileSender.send(); - - verify(requestObserver).setOnReadyHandler(any()); - } - - @Test - void shouldCallSendNextOnReady() { - fileSender.send(); - - verify(requestObserver, timeout(500)).setOnReadyHandler(runnableCaptor.capture()); - runnableCaptor.getValue().run(); - - verify(fileSender, timeout(500)).sendNext(); - } - @Test void shouldReturnSenderWithFuture() { var result = fileSender.send(); @@ -121,6 +103,11 @@ class GrpcFileUploadUtilsTest { private static final long SENT_SIZE = 1024; + @BeforeEach + void initObserver() { + fileSender.send(); + } + @Test void shouldCallSendMetaData() { fileSender.sendNext(); @@ -135,80 +122,41 @@ class GrpcFileUploadUtilsTest { verify(fileSender).sendNextChunk(); } - @Test - void shouldCheckForEndOfStream() { - when(fileSender.sendNextChunk()).thenReturn(SENT_SIZE); - - fileSender.sendNext(); - - verify(fileSender).checkForEndOfStream(SENT_SIZE); - } - } @Nested - class TestSendNextChunk { + class TestSendChunk { private static final byte[] CHUNK_PART = "ChunkPartContent".getBytes(); @BeforeEach - void init() { - doReturn(CHUNK_PART).when(fileSender).readFromStream(); - } - - @Test - void shouldReadData() { - callService(); - - verify(fileSender).readFromStream(); - } - - @Test - void shouldSendNextChunk() { - callService(); - - verify(fileSender).sendChunk(CHUNK_PART, 5); - } - - @Test - void shouldReturnSize() { - var result = callService(); - - assertThat(result).isEqualTo(CHUNK_PART.length); - } - - private long callService() { - return fileSender.sendNextChunk(); + void initObserver() { + fileSender.send(); } - } - - @Nested - class TestSendChunk { - - private static final byte[] CHUNK_PART = "ChunkPartContent".getBytes(); @Test void shouldApplyBuildChunk() throws IOException { - callService(); + fileSender.sendChunk(CHUNK_PART, 5); verify(chunkBuilder).apply(CHUNK_PART, 5); } @Test void shouldCallOnNext() throws IOException { - callService(); + fileSender.sendChunk(CHUNK_PART, 5); verify(requestObserver).onNext(any()); } - - private void callService() { - fileSender.sendChunk(CHUNK_PART, 5); - } } @Nested class TestSendMetaData { + @BeforeEach + void initObserver() { + fileSender.send(); + } + @Test void shouldNotSendWithoutMetadata() { fileSender.sendMetaData();