Optimize notifications from do_add_subscription().

Instead of sending one notification per user, bulk them up with
the users parameter.

(imported from commit c296f23599a214a63ef6f09406a9deaea469a7f3)
This commit is contained in:
Steve Howell
2013-09-13 16:10:24 -04:00
parent 8182d60961
commit c58d366178
2 changed files with 13 additions and 13 deletions

View File

@@ -1185,8 +1185,9 @@ class SubscriptionAPITest(AuthedTestCase):
with tornado_redirected_to_list(events):
do_add_subscription(user_profile, stream)
add_event = events.pop(0)
add_peer_events = events
self.assertEqual(len(events), 2)
add_event, add_peer_event = events
self.assertEqual(add_event['event']['type'], 'subscriptions')
self.assertEqual(add_event['event']['op'], 'add')
self.assertEqual(add_event['users'], [get_user_profile_by_email(email3).id])
@@ -1194,11 +1195,11 @@ class SubscriptionAPITest(AuthedTestCase):
set(add_event['event']['subscriptions'][0]['subscribers']),
set([email1, email2, email3, self.test_email])
)
self.assertEqual(len(add_peer_events), 3)
for ev in add_peer_events:
self.assertEqual(ev['event']['type'], 'subscriptions')
self.assertEqual(ev['event']['op'], 'peer_add')
self.assertEqual(ev['event']['user_email'], email3)
self.assertEqual(len(add_peer_event['users']), 3)
self.assertEqual(add_peer_event['event']['type'], 'subscriptions')
self.assertEqual(add_peer_event['event']['op'], 'peer_add')
self.assertEqual(add_peer_event['event']['user_email'], email3)
@slow(0.15, "common_subscribe_to_streams is slow")