mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-11 08:04:04 -08:00
Merge pull request #8523 from roidelapluie/edge-case-test-relabeling
Add hashmod relabeling test with hasmod and a newline
This commit is contained in:
commit
dd5a46aa47
|
@ -233,6 +233,24 @@ func TestRelabel(t *testing.T) {
|
|||
"d": "976",
|
||||
}),
|
||||
},
|
||||
{
|
||||
input: labels.FromMap(map[string]string{
|
||||
"a": "foo\nbar",
|
||||
}),
|
||||
relabel: []*Config{
|
||||
{
|
||||
SourceLabels: model.LabelNames{"a"},
|
||||
TargetLabel: "b",
|
||||
Separator: ";",
|
||||
Action: HashMod,
|
||||
Modulus: 1000,
|
||||
},
|
||||
},
|
||||
output: labels.FromMap(map[string]string{
|
||||
"a": "foo\nbar",
|
||||
"b": "734",
|
||||
}),
|
||||
},
|
||||
{
|
||||
input: labels.FromMap(map[string]string{
|
||||
"a": "foo",
|
||||
|
@ -413,6 +431,22 @@ func TestRelabel(t *testing.T) {
|
|||
}
|
||||
|
||||
for _, test := range tests {
|
||||
// Setting default fields, mimicking the behaviour in Prometheus.
|
||||
for _, cfg := range test.relabel {
|
||||
if cfg.Action == "" {
|
||||
cfg.Action = DefaultRelabelConfig.Action
|
||||
}
|
||||
if cfg.Separator == "" {
|
||||
cfg.Separator = DefaultRelabelConfig.Separator
|
||||
}
|
||||
if cfg.Regex.original == "" {
|
||||
cfg.Regex = DefaultRelabelConfig.Regex
|
||||
}
|
||||
if cfg.Replacement == "" {
|
||||
cfg.Replacement = DefaultRelabelConfig.Replacement
|
||||
}
|
||||
}
|
||||
|
||||
res := Process(test.input, test.relabel...)
|
||||
require.Equal(t, test.output, res)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue