Skip to content

Commit 4d344cc

Browse files
modified test to test key collision and precedence
Signed-off-by: singhvibhanshu <singhvibhanshu@hotmail.com>
1 parent e92738f commit 4d344cc

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

exporter/kafkaexporter/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ require (
2121
go.opentelemetry.io/collector/client v1.55.1-0.20260409104450-d686cf9058ce
2222
go.opentelemetry.io/collector/component v1.55.1-0.20260409104450-d686cf9058ce
2323
go.opentelemetry.io/collector/component/componenttest v0.149.1-0.20260409104450-d686cf9058ce
24+
go.opentelemetry.io/collector/config/configopaque v1.55.1-0.20260409104450-d686cf9058ce
2425
go.opentelemetry.io/collector/config/configoptional v1.55.1-0.20260409104450-d686cf9058ce
2526
go.opentelemetry.io/collector/config/configretry v1.55.1-0.20260409104450-d686cf9058ce
2627
go.opentelemetry.io/collector/confmap v1.55.1-0.20260409104450-d686cf9058ce
@@ -104,7 +105,6 @@ require (
104105
github.com/xdg-go/stringprep v1.0.4 // indirect
105106
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
106107
go.opentelemetry.io/collector/config/configcompression v1.55.1-0.20260409104450-d686cf9058ce // indirect
107-
go.opentelemetry.io/collector/config/configopaque v1.55.1-0.20260409104450-d686cf9058ce // indirect
108108
go.opentelemetry.io/collector/config/configtls v1.55.1-0.20260409104450-d686cf9058ce // indirect
109109
go.opentelemetry.io/collector/consumer/consumererror/xconsumererror v0.149.1-0.20260409104450-d686cf9058ce // indirect
110110
go.opentelemetry.io/collector/consumer/consumertest v0.149.1-0.20260409104450-d686cf9058ce // indirect

exporter/kafkaexporter/internal/kafkaclient/franzgo_test.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,13 @@ func TestExportData_MessageTooLarge(t *testing.T) {
6969

7070
func TestMakeFranzMessages_RecordHeaders(t *testing.T) {
7171
recordHeaders := configopaque.MapList{
72-
{Name: "custom-header-1", Value: configopaque.String("value-1")},
73-
{Name: "custom-header-2", Value: configopaque.String("value-2")},
72+
{Name: "static-key-ONLY", Value: configopaque.String("static-value")},
73+
{Name: "shared-key", Value: configopaque.String("static-value-override")},
7474
}
7575

7676
md := client.NewMetadata(map[string][]string{
77-
"dynamic-key": {"dynamic-value"},
77+
"dynamic-key-ONLY": {"dynamic-value"},
78+
"shared-key": {"dynamic-value-wins"},
7879
})
7980
ctx := client.NewContext(t.Context(), client.Info{Metadata: md})
8081

@@ -89,22 +90,22 @@ func TestMakeFranzMessages_RecordHeaders(t *testing.T) {
8990
}
9091

9192
records := makeFranzMessages(msgs, recordHeaders)
92-
setMessageHeaders(ctx, records, []string{"dynamic-key"})
93+
setMessageHeaders(ctx, records, []string{"dynamic-key-ONLY", "shared-key"})
9394

9495
require.Len(t, records, 1, "expected exactly 1 record")
9596
record := records[0]
9697

9798
assert.Equal(t, "test-topic", record.Topic)
9899
assert.Equal(t, []byte("test-payload"), record.Value)
99100

100-
require.Len(t, record.Headers, 3, "expected exactly 3 headers (2 static, 1 dynamic)")
101+
require.Len(t, record.Headers, 4, "expected exactly 4 headers on the record")
101102

102103
headerMap := make(map[string]string)
103104
for _, h := range record.Headers {
104105
headerMap[h.Key] = string(h.Value)
105106
}
106107

107-
assert.Equal(t, "value-1", headerMap["custom-header-1"])
108-
assert.Equal(t, "value-2", headerMap["custom-header-2"])
109-
assert.Equal(t, "dynamic-value", headerMap["dynamic-key"])
108+
assert.Equal(t, "static-value", headerMap["static-key-ONLY"], "static headers unique key failed")
109+
assert.Equal(t, "dynamic-value", headerMap["dynamic-key-ONLY"], "dynamic headers unique key failed")
110+
assert.Equal(t, "dynamic-value-wins", headerMap["shared-key"], "Precedence for common key failed")
110111
}

0 commit comments

Comments
 (0)