fix(kubernetes): sanitize non-UTF-8 host in metrics (#7998)

This commit is contained in:
Ville Vesilehto
2026-04-02 00:19:29 +03:00
committed by GitHub
parent 529320db4b
commit 503c2d7ea3
3 changed files with 56 additions and 2 deletions

View File

@@ -0,0 +1,27 @@
package kubernetes
import "testing"
func TestSanitizeLabelValue(t *testing.T) {
tests := []struct {
name string
input string
expected string
}{
{"valid ASCII", "example.com", "example.com"},
{"valid UTF-8", "例え.jp", "例え.jp"},
{"empty string", "", ""},
{"invalid single byte", "host\xff:443", "host\uFFFD:443"},
{"consecutive invalid bytes", "\xff\xfe\xfd", "\uFFFD"},
{"mixed valid and invalid", "ok\xffok\xfeok", "ok\uFFFDok\uFFFDok"},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
got := sanitizeLabelValue(tc.input)
if got != tc.expected {
t.Errorf("sanitizeLabelValue(%q) = %q, want %q", tc.input, got, tc.expected)
}
})
}
}