mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
Add a couple cross-realm bots.
These are new:
new-user-bot
emailgateway
Our cross-realm bots are hard coded to have email addresses
in the `zulip.com` domain, and they're not part of ordinary
realms.
These have always been cross-realm, but new enforcement in the
frontend code of all messages having been sent by a known user means
that it's important to add these properly.
This commit is contained in:
@@ -2556,7 +2556,7 @@ class FetchQueriesTest(ZulipTestCase):
|
|||||||
client_gravatar=False,
|
client_gravatar=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assert_length(queries, 30)
|
self.assert_length(queries, 32)
|
||||||
|
|
||||||
expected_counts = dict(
|
expected_counts = dict(
|
||||||
alert_words=0,
|
alert_words=0,
|
||||||
@@ -2575,7 +2575,7 @@ class FetchQueriesTest(ZulipTestCase):
|
|||||||
realm_embedded_bots=0,
|
realm_embedded_bots=0,
|
||||||
realm_emoji=1,
|
realm_emoji=1,
|
||||||
realm_filters=1,
|
realm_filters=1,
|
||||||
realm_user=4,
|
realm_user=6,
|
||||||
realm_user_groups=1,
|
realm_user_groups=1,
|
||||||
stream=2,
|
stream=2,
|
||||||
subscription=5,
|
subscription=5,
|
||||||
|
|||||||
@@ -181,8 +181,8 @@ class HomeTest(ZulipTestCase):
|
|||||||
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
with patch('zerver.lib.cache.cache_set') as cache_mock:
|
||||||
result = self._get_home_page(stream='Denmark')
|
result = self._get_home_page(stream='Denmark')
|
||||||
|
|
||||||
self.assert_length(queries, 42)
|
self.assert_length(queries, 44)
|
||||||
self.assert_length(cache_mock.call_args_list, 10)
|
self.assert_length(cache_mock.call_args_list, 12)
|
||||||
|
|
||||||
html = result.content.decode('utf-8')
|
html = result.content.decode('utf-8')
|
||||||
|
|
||||||
@@ -246,7 +246,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
with queries_captured() as queries2:
|
with queries_captured() as queries2:
|
||||||
result = self._get_home_page()
|
result = self._get_home_page()
|
||||||
|
|
||||||
self.assert_length(queries2, 36)
|
self.assert_length(queries2, 38)
|
||||||
|
|
||||||
# Do a sanity check that our new streams were in the payload.
|
# Do a sanity check that our new streams were in the payload.
|
||||||
html = result.content.decode('utf-8')
|
html = result.content.decode('utf-8')
|
||||||
@@ -470,12 +470,28 @@ class HomeTest(ZulipTestCase):
|
|||||||
self.assertNotIn('defunct-1@zulip.com', active_emails)
|
self.assertNotIn('defunct-1@zulip.com', active_emails)
|
||||||
|
|
||||||
cross_bots = page_params['cross_realm_bots']
|
cross_bots = page_params['cross_realm_bots']
|
||||||
self.assertEqual(len(cross_bots), 3)
|
self.assertEqual(len(cross_bots), 5)
|
||||||
cross_bots.sort(key=lambda d: d['email'])
|
cross_bots.sort(key=lambda d: d['email'])
|
||||||
|
|
||||||
notification_bot = self.notification_bot()
|
notification_bot = self.notification_bot()
|
||||||
|
|
||||||
self.assertEqual(cross_bots, [
|
by_email = lambda d: d['email']
|
||||||
|
|
||||||
|
self.assertEqual(sorted(cross_bots, key=by_email), sorted([
|
||||||
|
dict(
|
||||||
|
user_id=get_user('new-user-bot@zulip.com', get_realm('zulip')).id,
|
||||||
|
is_admin=False,
|
||||||
|
email='new-user-bot@zulip.com',
|
||||||
|
full_name='Zulip New User Bot',
|
||||||
|
is_bot=True
|
||||||
|
),
|
||||||
|
dict(
|
||||||
|
user_id=get_user('emailgateway@zulip.com', get_realm('zulip')).id,
|
||||||
|
is_admin=False,
|
||||||
|
email='emailgateway@zulip.com',
|
||||||
|
full_name='Email Gateway',
|
||||||
|
is_bot=True
|
||||||
|
),
|
||||||
dict(
|
dict(
|
||||||
user_id=get_user('feedback@zulip.com', get_realm('zulip')).id,
|
user_id=get_user('feedback@zulip.com', get_realm('zulip')).id,
|
||||||
is_admin=False,
|
is_admin=False,
|
||||||
@@ -497,7 +513,7 @@ class HomeTest(ZulipTestCase):
|
|||||||
full_name='Welcome Bot',
|
full_name='Welcome Bot',
|
||||||
is_bot=True
|
is_bot=True
|
||||||
),
|
),
|
||||||
])
|
], key=by_email))
|
||||||
|
|
||||||
def test_new_stream(self):
|
def test_new_stream(self):
|
||||||
# type: () -> None
|
# type: () -> None
|
||||||
|
|||||||
@@ -1474,6 +1474,12 @@ if PRODUCTION:
|
|||||||
# This is a debugging option only
|
# This is a debugging option only
|
||||||
PROFILE_ALL_REQUESTS = False
|
PROFILE_ALL_REQUESTS = False
|
||||||
|
|
||||||
CROSS_REALM_BOT_EMAILS = set(('feedback@zulip.com', 'notification-bot@zulip.com', 'welcome-bot@zulip.com'))
|
CROSS_REALM_BOT_EMAILS = {
|
||||||
|
'feedback@zulip.com',
|
||||||
|
'notification-bot@zulip.com',
|
||||||
|
'welcome-bot@zulip.com',
|
||||||
|
'new-user-bot@zulip.com',
|
||||||
|
'emailgateway@zulip.com',
|
||||||
|
}
|
||||||
|
|
||||||
CONTRIBUTORS_DATA = os.path.join(STATIC_ROOT, 'generated/github-contributors.json')
|
CONTRIBUTORS_DATA = os.path.join(STATIC_ROOT, 'generated/github-contributors.json')
|
||||||
|
|||||||
Reference in New Issue
Block a user