From 9563d18c3b179d31597a6d41b2171ba0416e41fa Mon Sep 17 00:00:00 2001 From: "tomasz.kowalczewski" Date: Tue, 29 Dec 2020 20:12:32 +0100 Subject: [PATCH] Re #15 & #18: Fixed bug in deserializer (method arguments were switched). --- .../tjahzi/LogBufferDeserializer.java | 2 +- .../tjahzi/LogBufferDeserializerTest.java | 27 +++++++++---------- .../LogBufferSerializerDeserializerTest.java | 7 +++++ 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/tjahzi-core/src/main/java/pl/tkowalcz/tjahzi/LogBufferDeserializer.java b/tjahzi-core/src/main/java/pl/tkowalcz/tjahzi/LogBufferDeserializer.java index 6386fb3..d96f5fa 100644 --- a/tjahzi-core/src/main/java/pl/tkowalcz/tjahzi/LogBufferDeserializer.java +++ b/tjahzi-core/src/main/java/pl/tkowalcz/tjahzi/LogBufferDeserializer.java @@ -68,7 +68,7 @@ public class LogBufferDeserializer { return Logproto.StreamAdapter.newBuilder() .setLabels( - buildLabelsStringIncludingStatic(labels, staticLabels) + buildLabelsStringIncludingStatic(staticLabels, labels) ) .addEntries( Logproto.EntryAdapter.newBuilder() diff --git a/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferDeserializerTest.java b/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferDeserializerTest.java index 777e1af..10b1140 100644 --- a/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferDeserializerTest.java +++ b/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferDeserializerTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import java.nio.ByteBuffer; +import java.util.LinkedHashMap; import java.util.Map; import java.util.stream.Stream; @@ -79,16 +80,14 @@ class LogBufferDeserializerTest { @Test void shouldOverrideStaticLabelsWithIncoming() { // Given - Map staticLabels = Map.of( - "ip", "10.0.0.42", - "hostname", "razor-crest", - "region", "outer-rim" - ); + Map staticLabels = new LinkedHashMap<>(); + staticLabels.put("ip", "10.0.0.42"); + staticLabels.put("hostname", "razor-crest"); + staticLabels.put("region", "outer-rim"); - Map incomingLabels = Map.of( - "hostname", "¯\\_(ツ)_/¯", - "region", "busted" - ); + Map incomingLabels = new LinkedHashMap<>(); + incomingLabels.put("hostname", "-\\_(?)_/-"); + incomingLabels.put("region", "busted"); UnsafeBuffer buffer = new UnsafeBuffer(new byte[256]); LogBufferSerializer serializer = new LogBufferSerializer(buffer); @@ -111,12 +110,10 @@ class LogBufferDeserializerTest { // Then Stream incomingLabelsStream = toPropertyStream( - Map.of( - "log_level", "WARN", - "hostname", "¯\\_(ツ)_/¯", - "ip", "10.0.0.42", - "region", "busted" - ) + Map.entry("ip", "10.0.0.42"), + Map.entry("hostname", "-\\_(?)_/-"), + Map.entry("region", "busted"), + Map.entry("log_level", "WARN") ); assertThat(stream.getLabels()).isEqualToIgnoringWhitespace( diff --git a/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferSerializerDeserializerTest.java b/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferSerializerDeserializerTest.java index 84bb89b..72402d3 100644 --- a/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferSerializerDeserializerTest.java +++ b/tjahzi-core/src/test/java/pl/tkowalcz/tjahzi/LogBufferSerializerDeserializerTest.java @@ -9,6 +9,7 @@ import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import java.nio.ByteBuffer; +import java.util.Arrays; import java.util.Map; import java.util.stream.Stream; @@ -117,4 +118,10 @@ class LogBufferSerializerDeserializerTest { .stream() .map(entry -> entry.getKey() + "=\"" + entry.getValue() + "\""); } + + @SafeVarargs + public static Stream toPropertyStream(Map.Entry... labels) { + return Arrays.stream(labels) + .map(entry -> entry.getKey() + "=\"" + entry.getValue() + "\""); + } }