Skip to content

Commit

Permalink
Merge pull request #97 from AxonFramework/dependabot/maven/axon.versi…
Browse files Browse the repository at this point in the history
…on-4.5.2

Bump axon.version from 4.5 to 4.5.2
  • Loading branch information
smcvb authored Jul 1, 2021
2 parents e53b285 + 276331b commit dfa4841
Show file tree
Hide file tree
Showing 4 changed files with 126 additions and 84 deletions.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*
* Copyright (c) 2010-2018. Axon Framework
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
Expand All @@ -24,9 +24,12 @@
import org.axonframework.messaging.MetaData;
import org.junit.jupiter.api.*;

import java.time.Instant;
import java.util.HashMap;
import java.util.Map;

import static org.axonframework.common.DateTimeUtils.formatInstant;
import static org.axonframework.common.DateTimeUtils.parseInstant;
import static org.axonframework.extensions.amqp.eventhandling.utils.TestSerializer.secureXStreamSerializer;
import static org.junit.jupiter.api.Assertions.*;

Expand All @@ -35,6 +38,7 @@
*
* @author Allard Buijze
* @author Nakul Mishra
* @author Steven van Beelen
*/
class DefaultAMQPMessageConverterTest {

Expand All @@ -49,19 +53,22 @@ void setUp() {

@Test
void testWriteAndReadEventMessage() {
EventMessage<?> eventMessage = GenericEventMessage.asEventMessage("SomePayload")
.withMetaData(MetaData.with("key", "value"));
AMQPMessage amqpMessage = testSubject.createAMQPMessage(eventMessage);
EventMessage<?> actualResult = testSubject.readAMQPMessage(
amqpMessage.getBody(), amqpMessage.getProperties().getHeaders()
).orElseThrow(() -> new AssertionError("Expected valid message"));

assertEquals(eventMessage.getIdentifier(), amqpMessage.getProperties().getHeaders().get(Headers.MESSAGE_ID));
assertEquals(eventMessage.getIdentifier(), actualResult.getIdentifier());
assertEquals(eventMessage.getMetaData(), actualResult.getMetaData());
assertEquals(eventMessage.getPayload(), actualResult.getPayload());
assertEquals(eventMessage.getPayloadType(), actualResult.getPayloadType());
assertEquals(eventMessage.getTimestamp(), actualResult.getTimestamp());
EventMessage<?> expected = GenericEventMessage.asEventMessage("SomePayload")
.withMetaData(MetaData.with("key", "value"));
// Parsing and formatting the Instant to simulate the process a converter would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

AMQPMessage amqpMessage = testSubject.createAMQPMessage(expected);
EventMessage<?> result =
testSubject.readAMQPMessage(amqpMessage.getBody(), amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));

assertEquals(expected.getIdentifier(), amqpMessage.getProperties().getHeaders().get(Headers.MESSAGE_ID));
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
}

@Test
Expand All @@ -88,26 +95,28 @@ void testMessageIgnoredIfNotAxonMessageTypePresent() {

@Test
void testWriteAndReadDomainEventMessage() {
DomainEventMessage<?> eventMessage =
DomainEventMessage<?> expected =
new GenericDomainEventMessage<>("Stub", "1234", 1L, "Payload", MetaData.with("key", "value"));
AMQPMessage amqpMessage = testSubject.createAMQPMessage(eventMessage);
EventMessage<?> actualResult = testSubject.readAMQPMessage(
amqpMessage.getBody(), amqpMessage.getProperties().getHeaders()
).orElseThrow(() -> new AssertionError("Expected valid message"));
// Parsing and formatting the Instant to simulate the process a converter would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

AMQPMessage amqpMessage = testSubject.createAMQPMessage(expected);
EventMessage<?> result =
testSubject.readAMQPMessage(amqpMessage.getBody(), amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));

assertEquals(eventMessage.getIdentifier(), amqpMessage.getProperties().getHeaders().get(Headers.MESSAGE_ID));
assertEquals(expected.getIdentifier(), amqpMessage.getProperties().getHeaders().get(Headers.MESSAGE_ID));
assertEquals("1234", amqpMessage.getProperties().getHeaders().get(Headers.AGGREGATE_ID));
assertEquals(1L, amqpMessage.getProperties().getHeaders().get(Headers.AGGREGATE_SEQ));

assertTrue(actualResult instanceof DomainEventMessage);
assertEquals(eventMessage.getIdentifier(), actualResult.getIdentifier());
assertEquals(eventMessage.getMetaData(), actualResult.getMetaData());
assertEquals(eventMessage.getPayload(), actualResult.getPayload());
assertEquals(eventMessage.getPayloadType(), actualResult.getPayloadType());
assertEquals(eventMessage.getTimestamp(), actualResult.getTimestamp());
assertEquals(eventMessage.getAggregateIdentifier(),
((DomainEventMessage<?>) actualResult).getAggregateIdentifier());
assertEquals(eventMessage.getType(), ((DomainEventMessage<?>) actualResult).getType());
assertEquals(eventMessage.getSequenceNumber(), ((DomainEventMessage<?>) actualResult).getSequenceNumber());
assertTrue(result instanceof DomainEventMessage);
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
assertEquals(expected.getAggregateIdentifier(), ((DomainEventMessage<?>) result).getAggregateIdentifier());
assertEquals(expected.getType(), ((DomainEventMessage<?>) result).getType());
assertEquals(expected.getSequenceNumber(), ((DomainEventMessage<?>) result).getSequenceNumber());
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/*
* Copyright (c) 2010-2012. Axon Framework
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
Expand All @@ -27,8 +27,11 @@
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.time.Instant;
import java.util.Collections;

import static org.axonframework.common.DateTimeUtils.formatInstant;
import static org.axonframework.common.DateTimeUtils.parseInstant;
import static org.axonframework.extensions.amqp.eventhandling.utils.TestSerializer.secureXStreamSerializer;
import static org.junit.jupiter.api.Assertions.*;

Expand All @@ -44,47 +47,52 @@ void testStreamEventMessage() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XStreamSerializer serializer = secureXStreamSerializer();
EventMessageWriter out = new EventMessageWriter(new DataOutputStream(baos), serializer);
GenericEventMessage<String> message = new GenericEventMessage<>(

GenericEventMessage<String> expected = new GenericEventMessage<>(
"This is the payload", Collections.<String, Object>singletonMap("metaKey", "MetaValue")
);
out.writeEventMessage(message);
EventMessageReader in = new EventMessageReader(new DataInputStream(
new ByteArrayInputStream(baos.toByteArray())), serializer);
EventMessage<Object> serializedMessage = in.readEventMessage();
// Parsing and formatting the Instant to simulate the process a reader/writer would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

out.writeEventMessage(expected);
EventMessageReader in =
new EventMessageReader(new DataInputStream(new ByteArrayInputStream(baos.toByteArray())), serializer);
EventMessage<Object> result = in.readEventMessage();

assertEquals(message.getIdentifier(), serializedMessage.getIdentifier());
assertEquals(message.getPayloadType(), serializedMessage.getPayloadType());
assertEquals(message.getTimestamp(), serializedMessage.getTimestamp());
assertEquals(message.getMetaData(), serializedMessage.getMetaData());
assertEquals(message.getPayload(), serializedMessage.getPayload());
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
}

@Test
void testStreamDomainEventMessage() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XStreamSerializer serializer = secureXStreamSerializer();
EventMessageWriter out = new EventMessageWriter(new DataOutputStream(baos), serializer);
GenericDomainEventMessage<String> message = new GenericDomainEventMessage<>(
"type",
"AggregateID",
1L,
"This is the payload",

GenericDomainEventMessage<String> expected = new GenericDomainEventMessage<>(
"type", "AggregateID", 1L, "This is the payload",
Collections.<String, Object>singletonMap("metaKey", "MetaValue")
);
out.writeEventMessage(message);
// Parsing and formatting the Instant to simulate the process a converter would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

out.writeEventMessage(expected);
EventMessageReader in = new EventMessageReader(
new DataInputStream(new ByteArrayInputStream(baos.toByteArray())), serializer);
EventMessage<Object> serializedMessage = in.readEventMessage();
assertTrue(serializedMessage instanceof DomainEventMessage);

DomainEventMessage<?> serializedDomainEventMessage = (DomainEventMessage<?>) serializedMessage;
DomainEventMessage<?> result = (DomainEventMessage<?>) serializedMessage;

assertEquals(message.getIdentifier(), serializedDomainEventMessage.getIdentifier());
assertEquals(message.getPayloadType(), serializedDomainEventMessage.getPayloadType());
assertEquals(message.getTimestamp(), serializedDomainEventMessage.getTimestamp());
assertEquals(message.getMetaData(), serializedDomainEventMessage.getMetaData());
assertEquals(message.getPayload(), serializedDomainEventMessage.getPayload());
assertEquals(message.getAggregateIdentifier(), serializedDomainEventMessage.getAggregateIdentifier());
assertEquals(message.getSequenceNumber(), serializedDomainEventMessage.getSequenceNumber());
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
assertEquals(expected.getAggregateIdentifier(), result.getAggregateIdentifier());
assertEquals(expected.getSequenceNumber(), result.getSequenceNumber());
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
/*
* Copyright (c) 2010-2021. Axon Framework
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package org.axonframework.extensions.amqp.eventhandling.legacy;

import org.axonframework.eventhandling.DomainEventMessage;
Expand All @@ -8,6 +24,10 @@
import org.axonframework.messaging.MetaData;
import org.junit.jupiter.api.*;

import java.time.Instant;

import static org.axonframework.common.DateTimeUtils.formatInstant;
import static org.axonframework.common.DateTimeUtils.parseInstant;
import static org.axonframework.extensions.amqp.eventhandling.utils.TestSerializer.secureXStreamSerializer;
import static org.junit.jupiter.api.Assertions.*;

Expand All @@ -27,39 +47,44 @@ void setUp() {

@Test
void testWriteAndReadEventMessage() {
EventMessage<?> eventMessage = GenericEventMessage.asEventMessage("SomePayload")
.withMetaData(MetaData.with("key", "value"));
AMQPMessage amqpMessage = testSubject.createAMQPMessage(eventMessage);
EventMessage<?> actualResult = testSubject.readAMQPMessage(amqpMessage.getBody(),
amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));
EventMessage<?> expected = GenericEventMessage.asEventMessage("SomePayload")
.withMetaData(MetaData.with("key", "value"));
// Parsing and formatting the Instant to simulate the process a converter would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

AMQPMessage amqpMessage = testSubject.createAMQPMessage(expected);
EventMessage<?> result =
testSubject.readAMQPMessage(amqpMessage.getBody(), amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));

assertEquals(eventMessage.getIdentifier(), actualResult.getIdentifier());
assertEquals(eventMessage.getMetaData(), actualResult.getMetaData());
assertEquals(eventMessage.getPayload(), actualResult.getPayload());
assertEquals(eventMessage.getPayloadType(), actualResult.getPayloadType());
assertEquals(eventMessage.getTimestamp(), actualResult.getTimestamp());
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
}

@Test
void testWriteAndReadDomainEventMessage() {
DomainEventMessage<?> eventMessage = new GenericDomainEventMessage<>(
"Stub", "1234", 1L, "Payload", MetaData.with("key", "value")
);
AMQPMessage amqpMessage = testSubject.createAMQPMessage(eventMessage);
EventMessage<?> actualResult = testSubject.readAMQPMessage(amqpMessage.getBody(),
amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));
DomainEventMessage<?> expected =
new GenericDomainEventMessage<>("Stub", "1234", 1L, "Payload", MetaData.with("key", "value"));
// Parsing and formatting the Instant to simulate the process a converter would take
Instant expectedTimestamp = parseInstant(formatInstant(expected.getTimestamp()));

AMQPMessage amqpMessage = testSubject.createAMQPMessage(expected);
EventMessage<?> result =
testSubject.readAMQPMessage(amqpMessage.getBody(), amqpMessage.getProperties().getHeaders())
.orElseThrow(() -> new AssertionError("Expected valid message"));

assertTrue(actualResult instanceof DomainEventMessage);
assertEquals(eventMessage.getIdentifier(), actualResult.getIdentifier());
assertEquals(eventMessage.getMetaData(), actualResult.getMetaData());
assertEquals(eventMessage.getPayload(), actualResult.getPayload());
assertEquals(eventMessage.getPayloadType(), actualResult.getPayloadType());
assertEquals(eventMessage.getTimestamp(), actualResult.getTimestamp());
assertTrue(result instanceof DomainEventMessage);
assertEquals(expected.getIdentifier(), result.getIdentifier());
assertEquals(expected.getMetaData(), result.getMetaData());
assertEquals(expected.getPayload(), result.getPayload());
assertEquals(expected.getPayloadType(), result.getPayloadType());
assertEquals(expectedTimestamp, result.getTimestamp());
assertEquals(
eventMessage.getAggregateIdentifier(), ((DomainEventMessage<?>) actualResult).getAggregateIdentifier()
expected.getAggregateIdentifier(), ((DomainEventMessage<?>) result).getAggregateIdentifier()
);
assertEquals(eventMessage.getSequenceNumber(), ((DomainEventMessage<?>) actualResult).getSequenceNumber());
assertEquals(expected.getSequenceNumber(), ((DomainEventMessage<?>) result).getSequenceNumber());
}
}
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<axon.version>4.5</axon.version>
<axon.version>4.5.2</axon.version>
<rabbitmq.version>5.12.0</rabbitmq.version>

<spring.version>5.3.8</spring.version>
Expand Down

0 comments on commit dfa4841

Please sign in to comment.