From 24ae8066373b6ec18311f1329bdd3f1a235b03c2 Mon Sep 17 00:00:00 2001 From: Thanh Tran Date: Sat, 13 Apr 2024 14:17:04 +0700 Subject: [PATCH] Adding unit test Signed-off-by: Thanh Tran --- .../otel/codec/OTelProtoCodecTest.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/data-prepper-plugins/otel-proto-common/src/test/java/org/opensearch/dataprepper/plugins/otel/codec/OTelProtoCodecTest.java b/data-prepper-plugins/otel-proto-common/src/test/java/org/opensearch/dataprepper/plugins/otel/codec/OTelProtoCodecTest.java index b2e42c6c20..142779ac1b 100644 --- a/data-prepper-plugins/otel-proto-common/src/test/java/org/opensearch/dataprepper/plugins/otel/codec/OTelProtoCodecTest.java +++ b/data-prepper-plugins/otel-proto-common/src/test/java/org/opensearch/dataprepper/plugins/otel/codec/OTelProtoCodecTest.java @@ -1318,4 +1318,61 @@ public void testBoundsKeyNotEqualsSign() { assertNotEquals(k1, k2); } + @Test + void testConvertKeysOfDataPointAttributesRemoveDuplicatedKey() { + final String keyName = "duplicate_key_name"; + final String keyValue = "duplicate_value"; + final KeyValue duplicateAttribute1 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final KeyValue duplicateAttribute2 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final NumberDataPoint actual = NumberDataPoint.newBuilder() + .addAllAttributes(Arrays.asList(duplicateAttribute1, duplicateAttribute2)).build(); + + Map map = OTelProtoCodec.convertKeysOfDataPointAttributes(actual); + assertThat(map.size(), is(equalTo(1))); + } + + @Test + void testUnpackKeyValueListRemoveDuplicatedKey() { + final String keyName = "duplicate_key_name"; + final String keyValue = "duplicate_value"; + final KeyValue duplicateAttribute1 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final KeyValue duplicateAttribute2 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final List actual = Arrays.asList(duplicateAttribute1, duplicateAttribute2); + + Map map = OTelProtoCodec.unpackKeyValueList(actual); + assertThat(map.size(), is(equalTo(1))); + } + + @Test + void testUnpackKeyValueListLogRemoveDuplicatedKey() { + final String keyName = "duplicate_key_name"; + final String keyValue = "duplicate_value"; + final KeyValue duplicateAttribute1 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final KeyValue duplicateAttribute2 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final List actual = Arrays.asList(duplicateAttribute1, duplicateAttribute2); + + Map map = OTelProtoCodec.unpackKeyValueListLog(actual); + assertThat(map.size(), is(equalTo(1))); + } + + @Test + void testUnpackExemplarValueListRemoveDuplicatedKey() { + final String keyName = "duplicate_key_name"; + final String keyValue = "duplicate_value"; + final KeyValue duplicateAttribute1 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final KeyValue duplicateAttribute2 = KeyValue.newBuilder().setKey(keyName).setValue(AnyValue.newBuilder() + .setStringValue(keyValue).build()).build(); + final List actual = Arrays.asList(duplicateAttribute1, duplicateAttribute2); + + Map map = OTelProtoCodec.unpackExemplarValueList(actual); + assertThat(map.size(), is(equalTo(1))); + } + }