Alerting: Fix alert rule comparison with the same missing_evals_to_resolve (#110174)
This commit is contained in:
@@ -92,7 +92,11 @@ func (a alertRuleVersion) EqualSpec(b alertRuleVersion) bool {
|
||||
a.IsPaused == b.IsPaused &&
|
||||
a.NotificationSettings == b.NotificationSettings &&
|
||||
a.Metadata == b.Metadata &&
|
||||
a.MissingSeriesEvalsToResolve == b.MissingSeriesEvalsToResolve
|
||||
compareInt64Pointer(a.MissingSeriesEvalsToResolve, b.MissingSeriesEvalsToResolve)
|
||||
}
|
||||
|
||||
func compareInt64Pointer(a, b *int64) bool {
|
||||
return (a == nil && b == nil) || (a != nil && b != nil && *a == *b)
|
||||
}
|
||||
|
||||
func (a alertRuleVersion) TableName() string {
|
||||
|
||||
@@ -71,6 +71,30 @@ func TestAlertRuleVersion_EqualSpec(t *testing.T) {
|
||||
b: func() alertRuleVersion { v := baseVersion; v.MissingSeriesEvalsToResolve = nil; return v }(),
|
||||
expect: true,
|
||||
},
|
||||
{
|
||||
name: "same MissingSeriesEvalsToResolve value, different pointers",
|
||||
a: func() alertRuleVersion {
|
||||
v := baseVersion
|
||||
v.MissingSeriesEvalsToResolve = util.Pointer(int64(10))
|
||||
return v
|
||||
}(),
|
||||
b: func() alertRuleVersion {
|
||||
v := baseVersion
|
||||
v.MissingSeriesEvalsToResolve = util.Pointer(int64(10))
|
||||
return v
|
||||
}(),
|
||||
expect: true,
|
||||
},
|
||||
{
|
||||
name: "different MissingSeriesEvalsToResolve",
|
||||
a: func() alertRuleVersion {
|
||||
v := baseVersion
|
||||
v.MissingSeriesEvalsToResolve = util.Pointer(int64(123))
|
||||
return v
|
||||
}(),
|
||||
b: baseVersion,
|
||||
expect: false,
|
||||
},
|
||||
{
|
||||
name: "different NotificationSettings",
|
||||
a: baseVersion,
|
||||
|
||||
Reference in New Issue
Block a user