mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	tests: Call real consume method of queue processors.
This switches to more real tests for a first batch of queue_json_publish() calls that don't cause trouble when used with call_consume_tests=True.
This commit is contained in:
		@@ -1158,7 +1158,7 @@ def do_send_messages(messages_maybe_none):
 | 
				
			|||||||
                'message_content': message['message'].content,
 | 
					                'message_content': message['message'].content,
 | 
				
			||||||
                'message_realm_id': message['realm'].id,
 | 
					                'message_realm_id': message['realm'].id,
 | 
				
			||||||
                'urls': links_for_embed}
 | 
					                'urls': links_for_embed}
 | 
				
			||||||
            queue_json_publish('embed_links', event_data, lambda x: None)
 | 
					            queue_json_publish('embed_links', event_data, lambda x: None, call_consume_in_tests=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (settings.ENABLE_FEEDBACK and settings.FEEDBACK_BOT and
 | 
					        if (settings.ENABLE_FEEDBACK and settings.FEEDBACK_BOT and
 | 
				
			||||||
                message['message'].recipient.type == Recipient.PERSONAL):
 | 
					                message['message'].recipient.type == Recipient.PERSONAL):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,7 +59,7 @@ def queue_digest_recipient(user_profile, cutoff):
 | 
				
			|||||||
    # Convert cutoff to epoch seconds for transit.
 | 
					    # Convert cutoff to epoch seconds for transit.
 | 
				
			||||||
    event = {"user_profile_id": user_profile.id,
 | 
					    event = {"user_profile_id": user_profile.id,
 | 
				
			||||||
             "cutoff": cutoff.strftime('%s')}
 | 
					             "cutoff": cutoff.strftime('%s')}
 | 
				
			||||||
    queue_json_publish("digest_emails", event, lambda event: None)
 | 
					    queue_json_publish("digest_emails", event, lambda event: None, call_consume_in_tests=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def enqueue_emails(cutoff):
 | 
					def enqueue_emails(cutoff):
 | 
				
			||||||
    # type: (datetime.datetime) -> None
 | 
					    # type: (datetime.datetime) -> None
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -353,7 +353,8 @@ def do_send_missedmessage_events_reply_in_zulip(user_profile, missed_messages, m
 | 
				
			|||||||
        'from_address': from_address,
 | 
					        'from_address': from_address,
 | 
				
			||||||
        'reply_to_email': formataddr((reply_to_name, reply_to_address)),
 | 
					        'reply_to_email': formataddr((reply_to_name, reply_to_address)),
 | 
				
			||||||
        'context': context}
 | 
					        'context': context}
 | 
				
			||||||
    queue_json_publish("missedmessage_email_senders", email_dict, send_email_from_dict)
 | 
					    queue_json_publish("missedmessage_email_senders", email_dict, send_email_from_dict,
 | 
				
			||||||
 | 
					                       call_consume_in_tests=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    user_profile.last_reminder = timezone_now()
 | 
					    user_profile.last_reminder = timezone_now()
 | 
				
			||||||
    user_profile.save(update_fields=['last_reminder'])
 | 
					    user_profile.save(update_fields=['last_reminder'])
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -107,7 +107,7 @@ class AdminZulipHandler(logging.Handler):
 | 
				
			|||||||
                queue_json_publish('error_reports', dict(
 | 
					                queue_json_publish('error_reports', dict(
 | 
				
			||||||
                    type = "server",
 | 
					                    type = "server",
 | 
				
			||||||
                    report = report,
 | 
					                    report = report,
 | 
				
			||||||
                ), lambda x: None)
 | 
					                ), lambda x: None, call_consume_in_tests=True)
 | 
				
			||||||
        except Exception:
 | 
					        except Exception:
 | 
				
			||||||
            # If this breaks, complain loudly but don't pass the traceback up the stream
 | 
					            # If this breaks, complain loudly but don't pass the traceback up the stream
 | 
				
			||||||
            # However, we *don't* want to use logging.exception since that could trigger a loop.
 | 
					            # However, we *don't* want to use logging.exception since that could trigger a loop.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,4 +57,6 @@ You can use "-" to represent stdin.
 | 
				
			|||||||
            # Verify that payload is valid json.
 | 
					            # Verify that payload is valid json.
 | 
				
			||||||
            data = ujson.loads(payload)
 | 
					            data = ujson.loads(payload)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # This is designed to use the `error` method rather than
 | 
				
			||||||
 | 
					            # the call_consume_in_tests flow.
 | 
				
			||||||
            queue_json_publish(queue_name, data, error)
 | 
					            queue_json_publish(queue_name, data, error)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -208,6 +208,8 @@ def write_log_line(log_data, path, method, remote_ip, email, client_name,
 | 
				
			|||||||
        logger.info(logger_line)
 | 
					        logger.info(logger_line)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (is_slow_query(time_delta, path)):
 | 
					    if (is_slow_query(time_delta, path)):
 | 
				
			||||||
 | 
					        # Since the slow query worker patches code, we can't directly
 | 
				
			||||||
 | 
					        # use call_consume_in_tests here without further work.
 | 
				
			||||||
        queue_json_publish("slow_queries", "%s (%s)" % (logger_line, email), lambda e: None)
 | 
					        queue_json_publish("slow_queries", "%s (%s)" % (logger_line, email), lambda e: None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if settings.PROFILE_ALL_REQUESTS:
 | 
					    if settings.PROFILE_ALL_REQUESTS:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1130,7 +1130,7 @@ def update_message_backend(request, user_profile,
 | 
				
			|||||||
            # `render_incoming_message` call earlier in this function.
 | 
					            # `render_incoming_message` call earlier in this function.
 | 
				
			||||||
            'message_realm_id': user_profile.realm_id,
 | 
					            'message_realm_id': user_profile.realm_id,
 | 
				
			||||||
            'urls': links_for_embed}
 | 
					            'urls': links_for_embed}
 | 
				
			||||||
        queue_json_publish('embed_links', event_data, lambda x: None)
 | 
					        queue_json_publish('embed_links', event_data, lambda x: None, call_consume_in_tests=True)
 | 
				
			||||||
    return json_success()
 | 
					    return json_success()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,6 +128,6 @@ def report_error(request, user_profile, message=REQ(), stacktrace=REQ(),
 | 
				
			|||||||
            log = log,
 | 
					            log = log,
 | 
				
			||||||
            more_info = more_info,
 | 
					            more_info = more_info,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    ), lambda x: None)
 | 
					    ), lambda x: None, call_consume_in_tests=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return json_success()
 | 
					    return json_success()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -393,6 +393,8 @@ class MessageSenderWorker(QueueProcessingWorker):
 | 
				
			|||||||
        self.redis_client.hmset(redis_key, {'status': 'complete',
 | 
					        self.redis_client.hmset(redis_key, {'status': 'complete',
 | 
				
			||||||
                                            'response': resp_content})
 | 
					                                            'response': resp_content})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Since this sends back to Tornado, we can't use
 | 
				
			||||||
 | 
					        # call_consume_in_tests here.
 | 
				
			||||||
        queue_json_publish(server_meta['return_queue'], result, lambda e: None)
 | 
					        queue_json_publish(server_meta['return_queue'], result, lambda e: None)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@assign_queue('digest_emails')
 | 
					@assign_queue('digest_emails')
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user