From b5cba4aafe137dbaa31fff601660b785dec15ff0 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Thu, 19 Mar 2020 16:44:55 +0000 Subject: [PATCH] test_narrow: Use tuple unpacking to get messages. This is a bit more rigorous than just dereferencing the first element of a list comprehension, as it will give a ValueError if more matches are found than the test was expecting. --- zerver/tests/test_narrow.py | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/zerver/tests/test_narrow.py b/zerver/tests/test_narrow.py index b324eabbcb..6df173c6d1 100644 --- a/zerver/tests/test_narrow.py +++ b/zerver/tests/test_narrow.py @@ -1672,7 +1672,10 @@ class GetOldMessagesTest(ZulipTestCase): self.assertEqual(link_search_result['messages'][0]['match_content'], '

https://google.com

') - meeting_message = [m for m in messages if m[TOPIC_NAME] == 'meetings'][0] + (meeting_message,) = [ + m for m in messages + if m[TOPIC_NAME] == 'meetings' + ] self.assertEqual( meeting_message[MATCH_TOPIC], 'meetings') @@ -1681,12 +1684,15 @@ class GetOldMessagesTest(ZulipTestCase): '

discuss lunch after ' + 'lunch

') - meeting_message = [m for m in messages if m[TOPIC_NAME] == 'lunch plans'][0] + (lunch_message,) = [ + m for m in messages + if m[TOPIC_NAME] == 'lunch plans' + ] self.assertEqual( - meeting_message[MATCH_TOPIC], + lunch_message[MATCH_TOPIC], 'lunch plans') self.assertEqual( - meeting_message['match_content'], + lunch_message['match_content'], '

I am hungry!

') # Should not crash when multiple search operands are present @@ -1716,7 +1722,9 @@ class GetOldMessagesTest(ZulipTestCase): self.assertEqual(len(result['messages']), 4) messages = result['messages'] - japanese_message = [m for m in messages if m[TOPIC_NAME] == u'日本'][-1] + japanese_message = [ + m for m in messages + if m[TOPIC_NAME] == u'日本'][-1] self.assertEqual( japanese_message[MATCH_TOPIC], u'日本') @@ -1725,7 +1733,10 @@ class GetOldMessagesTest(ZulipTestCase): u'

昨日、日本' + u' のお菓子を送りました。

') - english_message = [m for m in messages if m[TOPIC_NAME] == 'english'][0] + (english_message,) = [ + m for m in messages + if m[TOPIC_NAME] == 'english' + ] self.assertEqual( english_message[MATCH_TOPIC], 'english') @@ -2942,12 +2953,15 @@ WHERE user_profile_id = {hamlet_id} AND (content ILIKE '%jumping%' OR subject IL self.assertEqual(len(result['messages']), 1) messages = result['messages'] - meeting_message = [m for m in messages if m[TOPIC_NAME] == 'say hello'][0] + (hello_message,) = [ + m for m in messages + if m[TOPIC_NAME] == 'say hello' + ] self.assertEqual( - meeting_message[MATCH_TOPIC], + hello_message[MATCH_TOPIC], 'say hello') self.assertEqual( - meeting_message['match_content'], + hello_message['match_content'], ('

How are you doing, ' + '@Othello, the Moor of Venice?

') % ( othello.id))