From c486bc7308c43d40d6d59fb56870349fbadb613f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Mon, 17 Mar 2025 22:11:26 +0000 Subject: [PATCH] fix(backend): add missing tests and fix strip code --- .../testscript/113_receivers_keep_re_invalid.txt | 14 ++++++++++++++ .../testscript/114_receivers_strip_re_invalid.txt | 14 ++++++++++++++ internal/config/config.go | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 cmd/karma/tests/testscript/113_receivers_keep_re_invalid.txt create mode 100644 cmd/karma/tests/testscript/114_receivers_strip_re_invalid.txt diff --git a/cmd/karma/tests/testscript/113_receivers_keep_re_invalid.txt b/cmd/karma/tests/testscript/113_receivers_keep_re_invalid.txt new file mode 100644 index 000000000..a6fede67f --- /dev/null +++ b/cmd/karma/tests/testscript/113_receivers_keep_re_invalid.txt @@ -0,0 +1,14 @@ +karma.bin-should-fail --config.file=karma.yaml +! stdout . +cmp stderr stderr.txt + +-- stderr.txt -- +level=error msg="Execution failed" error="keep regex rule 'foo.++++' is invalid: error parsing regexp: invalid nested repetition operator: `++`" +-- karma.yaml -- +alertmanager: + servers: + - name: default + uri: https://127.0.0.1:9093 +receivers: + keep_re: + - foo.++++ diff --git a/cmd/karma/tests/testscript/114_receivers_strip_re_invalid.txt b/cmd/karma/tests/testscript/114_receivers_strip_re_invalid.txt new file mode 100644 index 000000000..8d05a05bf --- /dev/null +++ b/cmd/karma/tests/testscript/114_receivers_strip_re_invalid.txt @@ -0,0 +1,14 @@ +karma.bin-should-fail --config.file=karma.yaml +! stdout . +cmp stderr stderr.txt + +-- stderr.txt -- +level=error msg="Execution failed" error="strip regex rule 'foo.++++' is invalid: error parsing regexp: invalid nested repetition operator: `++`" +-- karma.yaml -- +alertmanager: + servers: + - name: default + uri: https://127.0.0.1:9093 +receivers: + strip_re: + - foo.++++ diff --git a/internal/config/config.go b/internal/config/config.go index 90fcdf3b2..5b4116367 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -426,7 +426,7 @@ func (config *configSchema) Read(flags *pflag.FlagSet) (string, error) { } config.Receivers.CompiledStripRegex = make([]*regexp.Regexp, len(config.Receivers.StripRegex)) - for i, stripRegex := range config.Receivers.KeepRegex { + for i, stripRegex := range config.Receivers.StripRegex { config.Receivers.CompiledStripRegex[i], err = regex.CompileAnchored(stripRegex) if err != nil { return "", fmt.Errorf("strip regex rule '%s' is invalid: %w", stripRegex, err)