mirror of https://github.com/zulip/zulip.git
search: Add test coverage for corner cases.
With small values of num_after/num_before (0/1), we may be amenable (good) or brittle (bad) to future optimizations.
This commit is contained in:
parent
43ff4ea1f7
commit
988f28630b
|
@ -1736,6 +1736,18 @@ class GetOldMessagesTest(ZulipTestCase):
|
|||
def test_get_messages_queries(self) -> None:
|
||||
query_ids = self.get_query_ids()
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND message_id <= 0 ORDER BY message_id DESC \n LIMIT 1) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 0, 'num_after': 0}, sql)
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND message_id <= 0 ORDER BY message_id DESC \n LIMIT 2) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 1, 'num_after': 0}, sql)
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND message_id >= 0 ORDER BY message_id ASC \n LIMIT 2) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 0, 'num_after': 1}, sql)
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND message_id >= 0 ORDER BY message_id ASC \n LIMIT 11) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 0, 'num_after': 10}, sql)
|
||||
|
@ -1751,6 +1763,18 @@ class GetOldMessagesTest(ZulipTestCase):
|
|||
def test_get_messages_with_narrow_queries(self) -> None:
|
||||
query_ids = self.get_query_ids()
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage JOIN zerver_message ON zerver_usermessage.message_id = zerver_message.id \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND (sender_id = {othello_id} AND recipient_id = {hamlet_recipient} OR sender_id = {hamlet_id} AND recipient_id = {othello_recipient}) AND message_id = 0) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 0, 'num_after': 0,
|
||||
'narrow': '[["pm-with", "%s"]]' % (self.example_email("othello"),)},
|
||||
sql)
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage JOIN zerver_message ON zerver_usermessage.message_id = zerver_message.id \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND (sender_id = {othello_id} AND recipient_id = {hamlet_recipient} OR sender_id = {hamlet_id} AND recipient_id = {othello_recipient}) AND message_id <= 0 ORDER BY message_id DESC \n LIMIT 1) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 1, 'num_after': 0,
|
||||
'narrow': '[["pm-with", "%s"]]' % (self.example_email("othello"),)},
|
||||
sql)
|
||||
|
||||
sql_template = 'SELECT anon_1.message_id, anon_1.flags \nFROM (SELECT message_id, flags \nFROM zerver_usermessage JOIN zerver_message ON zerver_usermessage.message_id = zerver_message.id \nWHERE user_profile_id = {hamlet_id} AND message_id >= 0 AND (sender_id = {othello_id} AND recipient_id = {hamlet_recipient} OR sender_id = {hamlet_id} AND recipient_id = {othello_recipient}) AND message_id >= 0 ORDER BY message_id ASC \n LIMIT 10) AS anon_1 ORDER BY message_id ASC'
|
||||
sql = sql_template.format(**query_ids)
|
||||
self.common_check_get_messages_query({'anchor': 0, 'num_before': 0, 'num_after': 10,
|
||||
|
|
Loading…
Reference in New Issue