From c3275d23ff2b6e66d671daa7ec4245f81bfead8f Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Fri, 23 Sep 2022 07:36:45 -0400 Subject: [PATCH] Alerting: Fix flaky test (#55551) (#55673) The length of the identifier from the underlying library is 9 or more characters depending on the rate at which the identifiers are generated. See https://pkg.go.dev/github.com/teris-io/shortid The test previously made the assumption that the length will always be 10, which would intermittently fail. (cherry picked from commit 647997cc4c93872945c1a5db3c802ef7daf2bacd) Co-authored-by: Emil Tullstedt --- pkg/services/sqlstore/migrations/ualert/alert_rule_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/services/sqlstore/migrations/ualert/alert_rule_test.go b/pkg/services/sqlstore/migrations/ualert/alert_rule_test.go index 9d98e991966..5e589993cf1 100644 --- a/pkg/services/sqlstore/migrations/ualert/alert_rule_test.go +++ b/pkg/services/sqlstore/migrations/ualert/alert_rule_test.go @@ -110,8 +110,10 @@ func TestMakeAlertRule(t *testing.T) { require.NoError(t, err) require.Len(t, ar.Title, DefaultFieldMaxLength) - uniq := ar.Title[len(ar.Title)-11:] - require.Regexp(t, "^_.{10}$", uniq) + parts := strings.SplitN(ar.Title, "_", 2) + require.Len(t, parts, 2) + require.Greater(t, len(parts[1]), 8, "unique identifier should be longer than 9 characters") + require.Equal(t, DefaultFieldMaxLength-1, len(parts[0])+len(parts[1]), "truncated name + underscore + unique identifier should together be DefaultFieldMaxLength") require.Equal(t, ar.Title, ar.RuleGroup) }) })