Browse Source

ref(tests): Fix flaky mute digest test (#49151)

Protect against 🥐 - sometimes the first message was sent to `self.user`
and the 2nd one was sent to `user2`, but sometimes it was the other way
around.
Colleen O'Rourke 1 year ago
parent
commit
be6c0eaec4
1 changed files with 9 additions and 6 deletions
  1. 9 6
      tests/sentry/mail/test_adapter.py

+ 9 - 6
tests/sentry/mail/test_adapter.py

@@ -1330,15 +1330,18 @@ class MailAdapterNotifyDigestTest(BaseMailAdapterTest):
 
         assert notify.call_count == 0
         assert len(mail.outbox) == 2  # we send it to 2 users
-        message1 = mail.outbox[0]
-        message2 = mail.outbox[1]
+        messages = sorted(mail.outbox, key=lambda message: message.to[0])
+
+        message1 = messages[0]
+        message2 = messages[1]
+
         # self.user only receives a digest about one alert, since a rule was muted
-        assert message2.to[0] == self.user.email
-        assert "1 new alert since" in message2.subject
+        assert message1.to[0] == self.user.email
+        assert "1 new alert since" in message1.subject
 
         # user2 receives a digest about both alerts, since no rules were muted
-        assert message1.to[0] == user2.email
-        assert "2 new alerts since" in message1.subject
+        assert message2.to[0] == user2.email
+        assert "2 new alerts since" in message2.subject
 
     @with_feature("organizations:mute-alerts")
     @mock.patch.object(mail_adapter, "notify", side_effect=mail_adapter.notify, autospec=True)