GH-892 Remove use of reflection from CloudEventMessageUtils
Fixes #892 Resolves #894
This commit is contained in:
committed by
Oleg Zhurakousky
parent
5272714d89
commit
fc0dacb893
@@ -97,4 +97,45 @@ public class CloudEventMessageUtilsAndBuilderTests {
|
||||
assertThat(httpMessage.getHeaders().get("ce-specversion")).isNotNull();
|
||||
assertThat(CloudEventMessageUtils.getSpecVersion(httpMessage)).isEqualTo("1.0");
|
||||
}
|
||||
|
||||
@Test
|
||||
void canonicalizeHeadersWithPossibleCopyReturnsCopyWithUpdatedHeadersWhenModified() {
|
||||
// TODO add the following test cases
|
||||
//
|
||||
// defaultAttrs w/ unmodified keys -> not modified
|
||||
// defaultAttrs w/ modified keys -> modified
|
||||
// kafkaAttrs w/ (defaultAttrs+unmodified keys) -> modified
|
||||
// amqpAttrs -> modified
|
||||
// structured -> modified
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("hello")
|
||||
.setHeader("ce_foo", "bar")
|
||||
.setHeader("x", "x1")
|
||||
.setHeader("x|x", "x2")
|
||||
.build();
|
||||
|
||||
Message<?> updatedMessage = CloudEventMessageUtils.canonicalizeHeadersWithPossibleCopy(inputMessage);
|
||||
|
||||
assertThat(inputMessage).isNotSameAs(updatedMessage);
|
||||
assertThat(updatedMessage.getHeaders())
|
||||
.containsEntry("ce-foo", "bar")
|
||||
.containsEntry("x", "x1")
|
||||
.containsEntry("x|x", "x2");
|
||||
}
|
||||
|
||||
@Test
|
||||
void canonicalizeHeadersWithPossibleCopyReturnsSameInstanceWhenNotModified() {
|
||||
Message<?> inputMessage = MessageBuilder.withPayload("hello")
|
||||
.setHeader("ce-foo", "bar")
|
||||
.setHeader("x", "x1")
|
||||
.setHeader("x|x", "x2")
|
||||
.build();
|
||||
|
||||
Message<?> updatedMessage = CloudEventMessageUtils.canonicalizeHeadersWithPossibleCopy(inputMessage);
|
||||
|
||||
assertThat(inputMessage).isSameAs(updatedMessage);
|
||||
assertThat(updatedMessage.getHeaders())
|
||||
.containsEntry("ce-foo", "bar")
|
||||
.containsEntry("x", "x1")
|
||||
.containsEntry("x|x", "x2");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user