Skip to content
Snippets Groups Projects
Commit e64a3ec6 authored by Jörg Bolay's avatar Jörg Bolay
Browse files

OZG-4095 implementiert deleteMessage

parent bd5d1471
Branches
Tags
1 merge request!6OZG-4095 Testcase deleteMessage implementiert
...@@ -29,13 +29,20 @@ public record OsiPostfachRemoteService( ...@@ -29,13 +29,20 @@ public record OsiPostfachRemoteService(
@Override @Override
public Stream<PostfachNachricht> getAllMessages() { public Stream<PostfachNachricht> getAllMessages() {
// TODO handle exceptions? try {
return postfachApiFacadeService.receiveMessages(); return postfachApiFacadeService.receiveMessages();
}catch (RuntimeException e) {
throw new OsiPostfachException("Failed to get messages", e);
}
} }
@Override @Override
public void deleteMessage(String messageId) { public void deleteMessage(String messageId) {
// TODO try {
postfachApiFacadeService.deleteMessage(messageId);
} catch (RuntimeException e) {
throw new OsiPostfachException("Failed to delete messages", e);
}
} }
@Override @Override
......
package de.ozgcloud.nachrichten.postfach.osiv2.transfer; package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
import java.util.UUID;
import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
...@@ -7,8 +9,10 @@ import org.springframework.stereotype.Service; ...@@ -7,8 +9,10 @@ import org.springframework.stereotype.Service;
import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi; import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeDeleteMessageResponse;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage; import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import reactor.core.publisher.Mono;
@Log4j2 @Log4j2
@Service @Service
...@@ -27,7 +31,6 @@ public record PostfachApiFacadeService( ...@@ -27,7 +31,6 @@ public record PostfachApiFacadeService(
public Stream<PostfachNachricht> receiveMessages() { public Stream<PostfachNachricht> receiveMessages() {
var response = messageExchangeApi.receiveMessages(100, 0).block(); var response = messageExchangeApi.receiveMessages(100, 0).block();
return response.getMessages().stream().map(this::fetchMessageByGuid); return response.getMessages().stream().map(this::fetchMessageByGuid);
} }
...@@ -36,4 +39,10 @@ public record PostfachApiFacadeService( ...@@ -36,4 +39,10 @@ public record PostfachApiFacadeService(
return responseMapper.toPostfachNachricht(messageReply); return responseMapper.toPostfachNachricht(messageReply);
} }
public void deleteMessage(final String messageId) {
var deleteMessage = messageExchangeApi.messageExchangeV1DeleteMessageIdDelete(
UUID.fromString(messageId)
).block();
}
} }
...@@ -83,11 +83,22 @@ public class OsiPostfachRemoteServiceRemoteITCase { ...@@ -83,11 +83,22 @@ public class OsiPostfachRemoteServiceRemoteITCase {
class TestReceiveAllMessages{ class TestReceiveAllMessages{
@Test @Test
void renameMe(){ void shouldReceiveAllMessage(){
Stream<PostfachNachricht> allMessages = osiPostfachRemoteService.getAllMessages(); Stream<PostfachNachricht> allMessages = osiPostfachRemoteService.getAllMessages();
var messages = allMessages.toList();
assertThat(messages.size() > 0);
}
}
List<PostfachNachricht> list = allMessages.toList(); @Disabled
assertThat(allMessages.count() > 0); @DisplayName("delete message")
@Nested
class TestDeleteMessageById{
@Test
void shouldDeleteMessage(){
assertThatCode(() -> osiPostfachRemoteService.deleteMessage("5dd65c1e-bd41-4c3d-bf98-be769ca341dc"))
.doesNotThrowAnyException();
} }
} }
} }
...@@ -3,6 +3,7 @@ package de.ozgcloud.nachrichten.postfach.osiv2; ...@@ -3,6 +3,7 @@ package de.ozgcloud.nachrichten.postfach.osiv2;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.UUID;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
...@@ -72,7 +73,21 @@ class OsiPostfachRemoteServiceTest { ...@@ -72,7 +73,21 @@ class OsiPostfachRemoteServiceTest {
@DisplayName("delete message") @DisplayName("delete message")
@Nested @Nested
class TestDeleteMessage { class TestDeleteMessage {
// TODO
@DisplayName("should call deleteMessage")
@Test
void shouldCallDeleteMessage() {
postfachApiFacadeService.deleteMessage(UUID.randomUUID().toString());
verify(postfachApiFacadeService).deleteMessage(any());
}
@DisplayName("should throw osi postfach exception on runtime exception")
@Test
void shouldThrowOsiPostfachExceptionOnRuntimeException() {
doThrow(new RuntimeException()).when(postfachApiFacadeService).deleteMessage(UUID.randomUUID().toString());
assertThatThrownBy(() -> osiPostfachRemoteService.deleteMessage(anyString())).isInstanceOf(OsiPostfachException.class);
}
} }
@DisplayName("get postfach type") @DisplayName("get postfach type")
......
...@@ -4,6 +4,8 @@ import static de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTest ...@@ -4,6 +4,8 @@ import static de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTest
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.UUID;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
...@@ -14,6 +16,7 @@ import org.mockito.Mock; ...@@ -14,6 +16,7 @@ import org.mockito.Mock;
import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory; import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi; import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeDeleteMessageResponse;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage; import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessagesResponse; import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessagesResponse;
import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeSendMessageResponse; import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeSendMessageResponse;
...@@ -128,4 +131,21 @@ class PostfachApiFacadeServiceTest { ...@@ -128,4 +131,21 @@ class PostfachApiFacadeServiceTest {
} }
} }
@DisplayName("Delete Message")
@Nested
class TestDeleteMessage{
@Mock
MessageExchangeDeleteMessageResponse replyMessage;
@Test
void shouldCallDeleteMessage(){
var replyMono = Mono.just(replyMessage);
when(messageExchangeApi.messageExchangeV1DeleteMessageIdDelete(any())).thenReturn(replyMono);
postfachApiFacadeService.deleteMessage(UUID.randomUUID().toString());
verify(messageExchangeApi).messageExchangeV1DeleteMessageIdDelete(any());
}
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment