def test_get_client_info_for_all_public_streams(self) -> None: hamlet = self.example_user("hamlet") realm = hamlet.realm queue_data = dict( all_public_streams=True, apply_markdown=True, client_gravatar=True, client_type_name="website", event_types=["message"], last_connection_time=time.time(), queue_timeout=0, realm_id=realm.id, user_profile_id=hamlet.id, ) client = allocate_client_descriptor(queue_data) message_event = dict( realm_id=realm.id, stream_name="whatever", ) client_info = get_client_info_for_message_event( message_event, users=[], ) self.assert_length(client_info, 1) dct = client_info[client.event_queue.id] self.assertEqual(dct["client"].apply_markdown, True) self.assertEqual(dct["client"].client_gravatar, True) self.assertEqual(dct["client"].user_profile_id, hamlet.id) self.assertEqual(dct["flags"], []) self.assertEqual(dct["is_sender"], False) message_event = dict( realm_id=realm.id, stream_name="whatever", sender_queue_id=client.event_queue.id, ) client_info = get_client_info_for_message_event( message_event, users=[], ) dct = client_info[client.event_queue.id] self.assertEqual(dct["is_sender"], True)
def test_get_info(apply_markdown: bool, client_gravatar: bool) -> None: clear_client_event_queues_for_testing() queue_data = dict( all_public_streams=False, apply_markdown=apply_markdown, client_gravatar=client_gravatar, client_type_name="website", event_types=["message"], last_connection_time=time.time(), queue_timeout=0, realm_id=realm.id, user_profile_id=hamlet.id, ) client = allocate_client_descriptor(queue_data) message_event = dict( realm_id=realm.id, stream_name="whatever", ) client_info = get_client_info_for_message_event( message_event, users=[ dict(id=cordelia.id), ], ) self.assert_length(client_info, 0) client_info = get_client_info_for_message_event( message_event, users=[ dict(id=cordelia.id), dict(id=hamlet.id, flags=["mentioned"]), ], ) self.assert_length(client_info, 1) dct = client_info[client.event_queue.id] self.assertEqual(dct["client"].apply_markdown, apply_markdown) self.assertEqual(dct["client"].client_gravatar, client_gravatar) self.assertEqual(dct["client"].user_profile_id, hamlet.id) self.assertEqual(dct["flags"], ["mentioned"]) self.assertEqual(dct["is_sender"], False)