Skip to content
Snippets Groups Projects
Commit 283f76a7 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-3665 xta-service - filter for dFördermittelantrag

parent f45572cc
Branches
Tags
No related merge requests found
package de.ozgcloud.eingang.xta;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.log4j.Log4j2;
@Service
@Log4j2
class XtaService {
static final String DFOERDERMITTELANTRAG_MESSAGE_TYPE = "Geschaeftsgang.Geschaeftsgang.0201";
@Autowired
private XtaRemoteService remoteService;
Stream<XtaMessageMetaData> getMessages() {
return remoteService.getMessagesMetadata().filter(this::filterByMessageType);
}
// filter criteria for dFoerdermittelantrag
// https://jira.mgm-tp.com/jira/browse/OZG-3659
private boolean filterByMessageType(XtaMessageMetaData metaData) {
if (StringUtils.equals(metaData.messageType(), DFOERDERMITTELANTRAG_MESSAGE_TYPE)) {
return true;
}
LOG.warn("Ignoring XTA-Message of type '{}'.", metaData.messageType());
return false;
}
}
package de.ozgcloud.eingang.xta;
import static de.ozgcloud.eingang.xta.XtaService.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.stream.Stream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
class XtaServiceTest {
@InjectMocks
private XtaService service;
@Mock
private XtaRemoteService remoteService;
@Nested
class TestGetMessages {
private XtaMessageMetaData metaData = XtaMessageMetaDataTestFactory.createBuilder().messageType(DFOERDERMITTELANTRAG_MESSAGE_TYPE).build();
@BeforeEach
void init() {
when(remoteService.getMessagesMetadata()).thenReturn(Stream.of(metaData));
}
@Test
void shouldCallRemoteService() {
service.getMessages();
verify(remoteService).getMessagesMetadata();
}
@Test
void shouldReturnMetaData() {
var result = service.getMessages();
assertThat(result).hasSize(1).contains(metaData);
}
@Test
void shouldOnlyReturnMatchingMessageCode() {
when(remoteService.getMessagesMetadata()).thenReturn(Stream.of(XtaMessageMetaDataTestFactory.createBuilder().messageType("other").build()));
var result = service.getMessages();
assertThat(result).isEmpty();
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment