summaryrefslogtreecommitdiffstats
path: root/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/dmaap/MrMessageSplitterTest.java
blob: 5ec48ef77ed4976764131f77d5c9f268633e9a55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package org.onap.dcae.analytics.web.dmaap;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.onap.dcae.analytics.model.AnalyticsModel;
import org.onap.dcae.analytics.model.TcaModelConstants;
import org.onap.dcae.analytics.web.BaseAnalyticsWebTest;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.MessageBuilder;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

import static org.junit.jupiter.api.Assertions.*;
import static org.onap.dcae.analytics.model.AnalyticsHttpConstants.REQUEST_ID_HEADER_KEY;
import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER;

class MrMessageSplitterTest extends BaseAnalyticsWebTest {

    @Test
    @SuppressWarnings("unchecked")
    void splitMessage() {

        final Map<String, Object> headers = new HashMap<>();
        headers.put(REQUEST_ID_HEADER_KEY, "testRequestId");
        final MessageHeaders messageHeaders = new MessageHeaders(headers);

        final Message<?> message =
                MessageBuilder.createMessage(fromStream(TestFileLocation.CEF_JSON_MESSAGES), messageHeaders);

        final MrMessageSplitter mrMessageSplitter = new MrMessageSplitter(ANALYTICS_MODEL_OBJECT_MAPPER, 10);
        final Object splitMessageStream = mrMessageSplitter.splitMessage(message);

        final List<String> messages = ((Stream<String>) splitMessageStream).collect(Collectors.toList());
        Assertions.assertThat(messages.size()).isEqualTo(4);
    }
}