From fb5ed0b0b31e5de3207a9d7f8b83b074a17da00a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Philippe=20Qu=C3=A9m=C3=A9ner?= Date: Thu, 9 Mar 2023 12:08:05 +0100 Subject: [PATCH] Alerting: fix flaky cache test (#64499) --- pkg/services/ngalert/state/cache_test.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pkg/services/ngalert/state/cache_test.go b/pkg/services/ngalert/state/cache_test.go index 5a1442de4b8..521233283c5 100644 --- a/pkg/services/ngalert/state/cache_test.go +++ b/pkg/services/ngalert/state/cache_test.go @@ -72,14 +72,21 @@ func Test_expand(t *testing.T) { require.True(t, errors.As(err, &multierr)) require.Equal(t, multierr.Len(), 2) - // assert each error matches the expected error - var expandErr1 template.ExpandError - require.True(t, errors.As(multierr.Errors[0], &expandErr1)) - require.EqualError(t, expandErr1, "failed to expand template '{{- $labels := .Labels -}}{{- $values := .Values -}}{{- $value := .Value -}}Instance {{ $labels. }} has been down for more than 5 minutes': error parsing template __alert_test: template: __alert_test:1: unexpected <.> in operand") + errsStr := []string{ + multierr.Errors[0].Error(), + multierr.Errors[1].Error(), + } - var expandErr2 template.ExpandError - require.True(t, errors.As(multierr.Errors[1], &expandErr2)) - require.EqualError(t, expandErr2, "failed to expand template '{{- $labels := .Labels -}}{{- $values := .Values -}}{{- $value := .Value -}}The instance has been down for {{ $value minutes, please check the instance is online': error parsing template __alert_test: template: __alert_test:1: function \"minutes\" not defined") + firstErrStr := "failed to expand template '{{- $labels := .Labels -}}{{- $values := .Values -}}{{- $value := .Value -}}Instance {{ $labels. }} has been down for more than 5 minutes': error parsing template __alert_test: template: __alert_test:1: unexpected <.> in operand" + secondErrStr := "failed to expand template '{{- $labels := .Labels -}}{{- $values := .Values -}}{{- $value := .Value -}}The instance has been down for {{ $value minutes, please check the instance is online': error parsing template __alert_test: template: __alert_test:1: function \"minutes\" not defined" + + require.Contains(t, errsStr, firstErrStr) + require.Contains(t, errsStr, secondErrStr) + + for _, err := range multierr.Errors { + var expandErr template.ExpandError + require.True(t, errors.As(err, &expandErr)) + } }) t.Run("expanded and original is returned when there is one error", func(t *testing.T) {