mirror of
				https://github.com/zulip/zulip.git
				synced 2025-10-31 03:53:50 +00:00 
			
		
		
		
	push_notifs: Order device args to send_notifications_to_bouncer by id.
This ensures determinism in these tests doing mock_send.assert_called with - avoids producing test flakes due to a different order of retrieval of these objects from the database.
This commit is contained in:
		
				
					committed by
					
						 Tim Abbott
						Tim Abbott
					
				
			
			
				
	
			
			
			
						parent
						
							2916a601b3
						
					
				
				
					commit
					3bcfb9c005
				
			| @@ -1190,10 +1190,10 @@ def handle_remove_push_notification(user_profile_id: int, message_ids: List[int] | ||||
|     apns_payload = get_remove_payload_apns(user_profile, truncated_message_ids) | ||||
|  | ||||
|     android_devices = list( | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM) | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM).order_by("id") | ||||
|     ) | ||||
|     apple_devices = list( | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS) | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS).order_by("id") | ||||
|     ) | ||||
|     if uses_notification_bouncer(): | ||||
|         send_notifications_to_bouncer( | ||||
| @@ -1356,11 +1356,11 @@ def handle_push_notification(user_profile_id: int, missed_message: Dict[str, Any | ||||
|     logger.info("Sending push notifications to mobile clients for user %s", user_profile_id) | ||||
|  | ||||
|     android_devices = list( | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM) | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM).order_by("id") | ||||
|     ) | ||||
|  | ||||
|     apple_devices = list( | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS) | ||||
|         PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS).order_by("id") | ||||
|     ) | ||||
|     if uses_notification_bouncer(): | ||||
|         total_android_devices, total_apple_devices = send_notifications_to_bouncer( | ||||
|   | ||||
| @@ -2393,8 +2393,16 @@ class HandlePushNotificationTest(PushNotificationTest): | ||||
|                 {"apns": True}, | ||||
|                 {"gcm": True}, | ||||
|                 {}, | ||||
|                 list(PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM)), | ||||
|                 list(PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS)), | ||||
|                 list( | ||||
|                     PushDeviceToken.objects.filter( | ||||
|                         user=user_profile, kind=PushDeviceToken.GCM | ||||
|                     ).order_by("id") | ||||
|                 ), | ||||
|                 list( | ||||
|                     PushDeviceToken.objects.filter( | ||||
|                         user=user_profile, kind=PushDeviceToken.APNS | ||||
|                     ).order_by("id") | ||||
|                 ), | ||||
|             ) | ||||
|             self.assertEqual( | ||||
|                 mock_logging_info.output, | ||||
| @@ -2508,8 +2516,16 @@ class HandlePushNotificationTest(PushNotificationTest): | ||||
|                     "zulip_message_id": message.id, | ||||
|                 }, | ||||
|                 {"priority": "normal"}, | ||||
|                 list(PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.GCM)), | ||||
|                 list(PushDeviceToken.objects.filter(user=user_profile, kind=PushDeviceToken.APNS)), | ||||
|                 list( | ||||
|                     PushDeviceToken.objects.filter( | ||||
|                         user=user_profile, kind=PushDeviceToken.GCM | ||||
|                     ).order_by("id") | ||||
|                 ), | ||||
|                 list( | ||||
|                     PushDeviceToken.objects.filter( | ||||
|                         user=user_profile, kind=PushDeviceToken.APNS | ||||
|                     ).order_by("id") | ||||
|                 ), | ||||
|             ) | ||||
|             user_message = UserMessage.objects.get(user_profile=self.user_profile, message=message) | ||||
|             self.assertEqual(user_message.flags.active_mobile_push_notification, False) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user