diff --git a/notifier/notifier.go b/notifier/notifier.go index 241381216..0f0b1c666 100644 --- a/notifier/notifier.go +++ b/notifier/notifier.go @@ -216,6 +216,10 @@ func disableBrokenContactSubscriptions(brokenContact *moira.ContactData, databas if err != nil { return 0, err } + if len(subsIDs) == 0 { + return 0, nil + } + subs, e := database.GetSubscriptions(subsIDs) if e != nil { return 0, e diff --git a/notifier/notifier_test.go b/notifier/notifier_test.go index d2009a655..6b1f0f71c 100644 --- a/notifier/notifier_test.go +++ b/notifier/notifier_test.go @@ -131,10 +131,12 @@ func TestNoResendForSendToBrokenContact(t *testing.T) { Events: eventsData, Contact: moira.ContactData{ Type: "test", + User: "someuser", }, } sender.EXPECT().SendEvents(eventsData, pkg.Contact, pkg.Trigger, plots, pkg.Throttled). Return(moira.NewSenderBrokenContactError(fmt.Errorf("some sender reason"))) + dataBase.EXPECT().GetUserSubscriptionIDs(pkg.Contact.User).Return([]string{}, nil) var wg sync.WaitGroup notif.Send(&pkg, &wg) @@ -236,7 +238,8 @@ func afterTest() { var subID = "SubscriptionID-000000000000001" var event = moira.NotificationEvent{ - Metric: "generate.event.1", + Metric: "generate.event.1", + State: moira.StateOK, OldState: moira.StateWARN, TriggerID: "triggerID-0000000000001",