X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fapi%2FChatBackendControllerTest.java;h=01de390c6b53deab10766227b8c468ba36d08615;hb=f70bb25f9b0769068028348995a78ece2130cd35;hp=a7e407814c03340eb26906fce9814cb35afedab4;hpb=f7c3b95145be5e4a0c6d0139ead7ca755b0fbdff;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/api/ChatBackendControllerTest.java b/src/test/java/de/juplo/kafka/chat/backend/api/ChatBackendControllerTest.java index a7e40781..01de390c 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/api/ChatBackendControllerTest.java +++ b/src/test/java/de/juplo/kafka/chat/backend/api/ChatBackendControllerTest.java @@ -2,6 +2,8 @@ package de.juplo.kafka.chat.backend.api; import de.juplo.kafka.chat.backend.ChatBackendProperties; import de.juplo.kafka.chat.backend.domain.*; +import de.juplo.kafka.chat.backend.domain.exceptions.ShardNotOwnedException; +import de.juplo.kafka.chat.backend.domain.exceptions.UnknownChatroomException; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -32,9 +34,9 @@ public class ChatBackendControllerTest ChatBackendProperties properties; @MockBean - ChatHome chatHome; + ChatHomeService chatHomeService; @MockBean - ChatRoomService chatRoomService; + ChatMessageService chatMessageService; @Test @DisplayName("Assert expected problem-details for unknown chatroom on GET /list/{chatroomId}") @@ -42,7 +44,7 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); // When WebTestClient.ResponseSpec responseSpec = client @@ -62,7 +64,7 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); - when(chatHome.getChatRoomInfo(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); + when(chatHomeService.getChatRoomInfo(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); // When WebTestClient.ResponseSpec responseSpec = client @@ -83,7 +85,7 @@ public class ChatBackendControllerTest UUID chatroomId = UUID.randomUUID(); String username = "foo"; Long messageId = 66l; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); // When WebTestClient.ResponseSpec responseSpec = client @@ -109,7 +111,7 @@ public class ChatBackendControllerTest UUID chatroomId = UUID.randomUUID(); String username = "foo"; Long messageId = 66l; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); // When WebTestClient.ResponseSpec responseSpec = client @@ -132,7 +134,7 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new UnknownChatroomException(chatroomId)); // When WebTestClient.ResponseSpec responseSpec = client @@ -172,18 +174,18 @@ public class ChatBackendControllerTest String textMutatedMessage = "Mutated!"; ChatRoomData chatRoomData = new ChatRoomData( Clock.systemDefaultZone(), - chatRoomService, + chatMessageService, 8); - when(chatHome.getChatRoomData(eq(chatroomId))).thenReturn(Mono.just(chatRoomData)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenReturn(Mono.just(chatRoomData)); Message existingMessage = new Message( key, serialNumberExistingMessage, timeExistingMessage, textExistingMessage); - when(chatRoomService.getMessage(any(Message.MessageKey.class))) + when(chatMessageService.getMessage(any(Message.MessageKey.class))) .thenReturn(Mono.just(existingMessage)); // Needed for readable error-reports, in case of a bug that leads to according unwanted call - when(chatRoomService.persistMessage(any(Message.MessageKey.class), any(LocalDateTime.class), any(String.class))) + when(chatMessageService.persistMessage(any(Message.MessageKey.class), any(LocalDateTime.class), any(String.class))) .thenReturn(Mono.just(mock(Message.class))); // When @@ -207,7 +209,7 @@ public class ChatBackendControllerTest .jsonPath("$.existingMessage.user").isEqualTo(user) .jsonPath("$.existingMessage.text").isEqualTo(textExistingMessage) .jsonPath("$.mutatedText").isEqualTo(textMutatedMessage); - verify(chatRoomService, never()).persistMessage(eq(key), any(LocalDateTime.class), any(String.class)); + verify(chatMessageService, never()).persistMessage(eq(key), any(LocalDateTime.class), any(String.class)); } @Test @@ -222,14 +224,14 @@ public class ChatBackendControllerTest String textMessage = "Hallo Welt"; ChatRoomData chatRoomData = new ChatRoomData( Clock.systemDefaultZone(), - chatRoomService, + chatMessageService, 8); - when(chatHome.getChatRoomData(any(UUID.class))) + when(chatHomeService.getChatRoomData(any(UUID.class))) .thenReturn(Mono.just(chatRoomData)); - when(chatRoomService.getMessage(any(Message.MessageKey.class))) + when(chatMessageService.getMessage(any(Message.MessageKey.class))) .thenReturn(Mono.empty()); // Needed for readable error-reports, in case of a bug that leads to according unwanted call - when(chatRoomService.persistMessage(any(Message.MessageKey.class), any(LocalDateTime.class), any(String.class))) + when(chatMessageService.persistMessage(any(Message.MessageKey.class), any(LocalDateTime.class), any(String.class))) .thenReturn(Mono.just(mock(Message.class))); // When @@ -248,7 +250,7 @@ public class ChatBackendControllerTest .expectBody() .jsonPath("$.type").isEqualTo("/problem/invalid-username") .jsonPath("$.username").isEqualTo(user); - verify(chatRoomService, never()).persistMessage(eq(key), any(LocalDateTime.class), any(String.class)); + verify(chatMessageService, never()).persistMessage(eq(key), any(LocalDateTime.class), any(String.class)); } @Test @@ -257,8 +259,9 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); + String instanceId = "peter"; int shard = 666; - when(chatHome.getChatRoomInfo(eq(chatroomId))).thenThrow(new ShardNotOwnedException(shard)); + when(chatHomeService.getChatRoomInfo(eq(chatroomId))).thenThrow(new ShardNotOwnedException(instanceId, shard)); // When WebTestClient.ResponseSpec responseSpec = client @@ -277,8 +280,9 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); + String instanceId = "peter"; int shard = 666; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(shard)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(instanceId, shard)); // When WebTestClient.ResponseSpec responseSpec = client @@ -299,8 +303,9 @@ public class ChatBackendControllerTest UUID chatroomId = UUID.randomUUID(); String username = "foo"; Long messageId = 66l; + String instanceId = "peter"; int shard = 666; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(shard)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(instanceId, shard)); // When WebTestClient.ResponseSpec responseSpec = client @@ -326,8 +331,9 @@ public class ChatBackendControllerTest UUID chatroomId = UUID.randomUUID(); String username = "foo"; Long messageId = 66l; + String instanceId = "peter"; int shard = 666; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(shard)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(instanceId, shard)); // When WebTestClient.ResponseSpec responseSpec = client @@ -350,8 +356,9 @@ public class ChatBackendControllerTest { // Given UUID chatroomId = UUID.randomUUID(); + String instanceId = "peter"; int shard = 666; - when(chatHome.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(shard)); + when(chatHomeService.getChatRoomData(eq(chatroomId))).thenThrow(new ShardNotOwnedException(instanceId, shard)); // When WebTestClient.ResponseSpec responseSpec = client