From 7a23b628133cd09d9f84ab9badde2d1eefa226eb Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Mon, 13 Nov 2023 09:37:49 +0100
Subject: [PATCH] add logging for cancel

---
 .../binaryfile/GrpcFileUploadUtils.java       |  2 +
 .../binaryfile/GrpcFileUploadUtilsTest.java   | 86 ++++---------------
 2 files changed, 19 insertions(+), 69 deletions(-)

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 66798e2..7554b3e 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 840dfc9..3a79640 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();
-- 
GitLab