def test_send_notifications(self): """New push sends notifications via IRC, XMPP and emails.""" self.people = ["fake_user1", "fake_user2"] self.pushurl = "/fake_push_url?id=123" self.pushtype = "fake_puth_type" with self.mocked_notifications() as (mocked_call, mocked_mail, mocked_xmpp): send_notifications(self.people, self.pushtype, self.pushurl) url = "https://%s%s" % (Settings['main_app']['servername'], self.pushurl) msg = "%s: %s push starting! %s" % (', '.join(self.people), self.pushtype, url) mocked_call.assert_called_once_with([ '/nail/sys/bin/nodebot', '-i', Settings['irc']['nickname'], Settings['irc']['channel'], msg ]) mocked_mail.assert_called_once_with( Settings['mail']['notifyall'], msg, mock.ANY, # subject ) mocked_xmpp.assert_called_once_with( self.people, "Push starting! %s" % url )
def test_send_notifications_empty_user_list(self): """If there is no pending push request we'll only send IRC and email notifications, but not XMPP messages.""" self.people = [] self.pushurl = "fake_push_url" self.pushtype = "fake_puth_type" with self.mocked_notifications() as (mocked_call, mocked_mail, mocked_xmpp): send_notifications(self.people, self.pushtype, self.pushurl) mocked_call.assert_called_once_with([ '/nail/sys/bin/nodebot', '-i', Settings['irc']['nickname'], Settings['irc']['channel'], mock.ANY, # msg ]) mocked_mail.assert_called_once_with( Settings['mail']['notifyall'], mock.ANY, # msg mock.ANY, # subject ) T.assert_is(mocked_xmpp.called, False)